]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scsi: ipr: System hung while dlpar adding primary ipr adapter back
authorWen Xiong <wenxiong@linux.vnet.ibm.com>
Fri, 21 Sep 2018 00:32:12 +0000 (19:32 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 20 Oct 2018 07:48:51 +0000 (09:48 +0200)
commitb6b5bc245dc23cfa6dcbf0bb1e13b606066471af
tree595567037ff566a2034e278918962d4fbc170961
parent26377fe2f7b00993c3f6bb5d95cff81385c72d12
scsi: ipr: System hung while dlpar adding primary ipr adapter back

[ Upstream commit 318ddb34b2052f838aa243d07173e2badf3e630e ]

While dlpar adding primary ipr adapter back, driver goes through adapter
initialization then schedule ipr_worker_thread to start te disk scan by
dropping the host lock, calling scsi_add_device.  Then get the adapter reset
request again, so driver does scsi_block_requests, this will cause the
scsi_add_device get hung until we unblock. But we can't run ipr_worker_thread
to do the unblock because its stuck in scsi_add_device.

This patch fixes the issue.

[mkp: typo and whitespace fixes]

Signed-off-by: Wen Xiong <wenxiong@linux.vnet.ibm.com>
Acked-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/ipr.c
drivers/scsi/ipr.h