diff options
author | Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> | 2017-12-27 05:34:47 +0100 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2018-01-04 05:26:43 +0100 |
commit | 8a30e50b72ca08c78474db514531ce5d9ae00fa4 (patch) | |
tree | 266b5d57926777004ae2a569e5e48bd14b3d765a /drivers/scsi/aacraid/commsup.c | |
parent | scsi: aacraid: Reschedule host scan in case of failure (diff) | |
download | linux-8a30e50b72ca08c78474db514531ce5d9ae00fa4.tar.xz linux-8a30e50b72ca08c78474db514531ce5d9ae00fa4.zip |
scsi: aacraid: Fix hang while scanning in eh recovery
Add back the ability to scan for hotplug changes while eh was in progress.
Schedule a rescan for a later time in the eh recovery code and wait for
eh to complete in the rescan worker.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/aacraid/commsup.c')
-rw-r--r-- | drivers/scsi/aacraid/commsup.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c index d562053f14d7..706aba0ed726 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c @@ -1671,6 +1671,15 @@ out: aac->in_reset = 0; scsi_unblock_requests(host); + /* + * Issue bus rescan to catch any configuration that might have + * occurred + */ + if (!retval) { + dev_info(&aac->pdev->dev, "Scheduling bus rescan\n"); + aac_schedule_safw_scan_worker(aac); + } + if (jafo) { spin_lock_irq(host->host_lock); } |