diff options
author | Chad Dupuis <chad.dupuis@qlogic.com> | 2013-02-08 01:57:50 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-02-22 12:35:40 +0000 |
commit | b00ee7d770abbe1e63df74eada0376c75ceb2daf (patch) | |
tree | 65a6889fe5d365b777d8cb5b88790c84aa1280b5 /drivers/scsi/qla2xxx/qla_inline.h | |
parent | 619d5a0ded06f6d46092205a68a92f7c3a01dd44 (diff) | |
download | op-kernel-dev-b00ee7d770abbe1e63df74eada0376c75ceb2daf.zip op-kernel-dev-b00ee7d770abbe1e63df74eada0376c75ceb2daf.tar.gz |
[SCSI] qla2xxx: Unload hangs after issuing BSG commands to vport.
BSG code path increments ref count in the send path, but does not
decrement in the return path leading to hang during unload of the
driver.
Signed-off-by: Chad Dupuis <chad.dupuis@qlogic.com>
Signed-off-by: Saurav Kashyap <saurav.kashyap@qlogic.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_inline.h')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_inline.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_inline.h b/drivers/scsi/qla2xxx/qla_inline.h index deb8618..130f6f3 100644 --- a/drivers/scsi/qla2xxx/qla_inline.h +++ b/drivers/scsi/qla2xxx/qla_inline.h @@ -198,6 +198,13 @@ done: } static inline void +qla2x00_rel_sp(scsi_qla_host_t *vha, srb_t *sp) +{ + mempool_free(sp, vha->hw->srb_mempool); + QLA_VHA_MARK_NOT_BUSY(vha); +} + +static inline void qla2x00_init_timer(srb_t *sp, unsigned long tmo) { init_timer(&sp->u.iocb_cmd.timer); |