1. 12 9月, 2018 1 次提交
  2. 08 5月, 2018 1 次提交
  3. 22 3月, 2018 1 次提交
  4. 04 1月, 2018 2 次提交
  5. 25 8月, 2017 2 次提交
  6. 12 7月, 2017 1 次提交
  7. 07 7月, 2017 1 次提交
    • N
      qla2xxx: Fix incorrect tcm_qla2xxx_free_cmd use during TMR ABORT · 5f572526
      Nicholas Bellinger 提交于
      This patch drops two incorrect usages of tcm_qla2xxx_free_cmd()
      during TMR ABORT within tcm_qla2xxx_handle_data_work() and
      tcm_qla2xxx_aborted_task(), which where attempting to dispatch
      into workqueue context to do tcm_qla2xxx_complete_free() and
      subsequently invoke transport_generic_free_cmd().
      
      This is incorrect because during TMR ABORT target-core will
      drop the outstanding se_cmd->cmd_kref references once it has
      quiesced the se_cmd via transport_wait_for_tasks(), and in
      the case of qla2xxx it should not attempt to do it's own
      transport_generic_free_cmd() once the abort has occured.
      
      As reported by Pascal, this was originally manifesting as a
      BUG_ON(cmd->cmd_in_wq) in qlt_free_cmd() during TMR ABORT,
      with a LIO backend that had sufficently high enough WRITE
      latency to trigger a host side TMR ABORT_TASK.
      
      In addition, for the case in tcm_qla2xxx_write_pending_status()
      and tcm_qla2xxx_handle_data_work() that waits for outstanding
      FCP WRITE data transfer to complete before preceeding with a
      TMR ABORT, avoid se_cmd->t_transport_stop_comp that is already
      used by transport_wait_for_tasks() and use a qla2xxx internal
      struct completion instead.
      Reported-by: NPascal de Bruijn <p.debruijn@unilogic.nl>
      Tested-by: NPascal de Bruijn <p.debruijn@unilogic.nl>
      Acked-by: NHimanshu Madhani <himanshu.madhani@cavium.com>
      Cc: Quinn Tran <quinn.tran@cavium.com>
      Cc: <stable@vger.kernel.org> # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      5f572526
  8. 28 6月, 2017 8 次提交
  9. 13 6月, 2017 4 次提交
  10. 19 3月, 2017 2 次提交
  11. 09 2月, 2017 8 次提交
  12. 18 1月, 2017 1 次提交
  13. 10 5月, 2016 1 次提交
  14. 11 3月, 2016 1 次提交
  15. 30 1月, 2016 1 次提交
  16. 08 1月, 2016 4 次提交
  17. 25 7月, 2015 1 次提交