Commit c5313ae8 authored by Raghava Aditya Renukunta's avatar Raghava Aditya Renukunta Committed by Martin K. Petersen

scsi: aacraid: Fix hang in kdump

Driver attempts to perform a device scan and device add after coming out
of reset. At times when the kdump kernel loads and it tries to perform
eh recovery, the device scan hangs since its commands are blocked because
of the eh recovery. This should have shown up in normal eh recovery path
(Should have been obvious)

Remove the code that performs scanning.I can live without the rescanning
support in the stable kernels but a hanging kdump/eh recovery needs to be
fixed.

Fixes: a2d0321d (scsi: aacraid: Reload offlined drives after controller reset)
Cc: <stable@vger.kernel.org>
Reported-by: default avatarDouglas Miller <dougmill@linux.vnet.ibm.com>
Tested-by: default avatarGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
Fixes: a2d0321d (scsi: aacraid: Reload offlined drives after controller reset)
Signed-off-by: default avatarRaghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent dfb92a1f
...@@ -918,7 +918,6 @@ static void setinqstr(struct aac_dev *dev, void *data, int tindex) ...@@ -918,7 +918,6 @@ static void setinqstr(struct aac_dev *dev, void *data, int tindex)
char *cname = kmemdup(sup_adap_info->adapter_type_text, char *cname = kmemdup(sup_adap_info->adapter_type_text,
sizeof(sup_adap_info->adapter_type_text), sizeof(sup_adap_info->adapter_type_text),
GFP_ATOMIC); GFP_ATOMIC);
if (!cname) if (!cname)
return; return;
......
...@@ -1672,14 +1672,7 @@ static int _aac_reset_adapter(struct aac_dev *aac, int forced, u8 reset_type) ...@@ -1672,14 +1672,7 @@ static int _aac_reset_adapter(struct aac_dev *aac, int forced, u8 reset_type)
out: out:
aac->in_reset = 0; aac->in_reset = 0;
scsi_unblock_requests(host); scsi_unblock_requests(host);
/*
* Issue bus rescan to catch any configuration that might have
* occurred
*/
if (!retval) {
dev_info(&aac->pdev->dev, "Issuing bus rescan\n");
scsi_scan_host(host);
}
if (jafo) { if (jafo) {
spin_lock_irq(host->host_lock); spin_lock_irq(host->host_lock);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment