aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_os.c
diff options
context:
space:
mode:
authorQuinn Tran <qutran@marvell.com>2019-09-12 11:09:07 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2019-09-23 23:09:43 -0400
commitfd5564ba54e0d8a9e3e823d311b764232e09eb5f (patch)
tree62d708390b5ddd808b88eb7133cc4008e210ab60 /drivers/scsi/qla2xxx/qla_os.c
parentscsi: qla2xxx: Fix unbound sleep in fcport delete path. (diff)
downloadlinux-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.c1
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);
}
/*