diff options
author | Quinn Tran <qutran@marvell.com> | 2019-09-12 11:09:07 -0700 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2019-09-23 23:09:43 -0400 |
commit | fd5564ba54e0d8a9e3e823d311b764232e09eb5f (patch) | |
tree | 62d708390b5ddd808b88eb7133cc4008e210ab60 /drivers/scsi/qla2xxx/qla_os.c | |
parent | scsi: qla2xxx: Fix unbound sleep in fcport delete path. (diff) | |
download | linux-dev-fd5564ba54e0d8a9e3e823d311b764232e09eb5f.tar.xz linux-dev-fd5564ba54e0d8a9e3e823d311b764232e09eb5f.zip |
scsi: qla2xxx: Fix stale mem access on driver unload
On driver unload, 'remove_one' thread was allowed to advance, while session
cleanup still lag behind. This patch ensures session deletion will finish
before remove_one can advance.
Link: https://lore.kernel.org/r/20190912180918.6436-4-hmadhani@marvell.com
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_os.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_os.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 51154c049385..42980e52fb41 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c @@ -1118,6 +1118,7 @@ qla2x00_wait_for_sess_deletion(scsi_qla_host_t *vha) qla2x00_mark_all_devices_lost(vha, 0); wait_event_timeout(vha->fcport_waitQ, test_fcport_count(vha), 10*HZ); + flush_workqueue(vha->hw->wq); } /* |