diff options
author | Chad Dupuis <chad.dupuis@qlogic.com> | 2013-02-08 10:57:50 +0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2013-02-22 16:35:40 +0400 |
commit | b00ee7d770abbe1e63df74eada0376c75ceb2daf (patch) | |
tree | 65a6889fe5d365b777d8cb5b88790c84aa1280b5 /drivers/scsi/qla2xxx/qla_inline.h | |
parent | 619d5a0ded06f6d46092205a68a92f7c3a01dd44 (diff) | |
download | linux-b00ee7d770abbe1e63df74eada0376c75ceb2daf.tar.xz |
[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 deb8618d1b81..130f6f3c2a97 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); |