scsi: qla2xxx: Fix device staying in blocked state
authorQuinn Tran <qtran@marvell.com>
Tue, 23 Apr 2019 21:52:35 +0000 (14:52 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 29 Apr 2019 12:13:43 +0000 (08:13 -0400)
commit2137490f2147a8d0799b72b9a1023efb012d40c7
tree76d77ea4b435b91fce1ed4705d76ce6125a4fe6f
parentc6bcc592362a933ce52aed54531d42909b007e88
scsi: qla2xxx: Fix device staying in blocked state

This patch fixes issue reported by some of the customers, who discovered
that after cable pull scenario the devices disappear and path seems to
remain in blocked state. Once the device reappears, driver does not seem to
update path to online. This issue appears because of the defer flag
creating race condition where the same session reappears.  This patch fixes
this issue by indicating SCSI-ML of device lost when
qlt_free_session_done() is called from qlt_unreg_sess().

Fixes: 41dc529a4602a ("qla2xxx: Improve RSCN handling in driver")
Signed-off-by: Quinn Tran <qtran@marvell.com>
Cc: stable@vger.kernel.org #4.19
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_target.c