> -----Original Message----- > From: Guilherme G. Piccoli [mailto:gpiccoli@xxxxxxxxxxxxxxxxxx] > Sent: Friday, December 22, 2017 7:14 AM > To: Raghava Aditya Renukunta > <RaghavaAditya.Renukunta@xxxxxxxxxxxxx>; jejb@xxxxxxxxxxxxxxxxxx; > martin.petersen@xxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx > Cc: Scott Benesh <scott.benesh@xxxxxxxxxxxxx>; dl-esc-Aacraid Linux > Driver <aacraid@xxxxxxxxxxxxx>; Tom White > <tom.white@xxxxxxxxxxxxx>; dougmill@xxxxxxxxxxxxxxxxxx > Subject: Re: [PATCH 03/29] scsi: aacraid: Fix hang in kdump > > EXTERNAL EMAIL > > > On 12/21/2017 03:33 PM, Raghava Aditya Renukunta wrote: > > 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: a2d0321dd532901e (scsi: aacraid: Reload offlined drives after > controller reset) > > Cc: <stable@xxxxxxxxxxxxxxx> > > Reported-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> > > (Sorry in advance for flooding the thread heheh) > I guess it'd be more appropriate to: > > Reported-by: Douglas Miller <dougmill@xxxxxxxxxxxxxxxxxx> > > Although I've tested it, Doug isolated the race condition based on code > analysis... Thank you pointing that out, I will fix it in the next iteration. Regards, Raghava Aditya > Thanks, > > > Guilherme > > > Tested-by: Guilherme G. Piccoli <gpiccoli@xxxxxxxxxxxxxxxxxx> > > Fixes: a2d0321dd532901e (scsi: aacraid: Reload offlined drives after > controller reset) > > Signed-off-by: Raghava Aditya Renukunta > <RaghavaAditya.Renukunta@xxxxxxxxxxxxx> > > --- > > drivers/scsi/aacraid/commsup.c | 9 +-------- > > 1 file changed, 1 insertion(+), 8 deletions(-) > > > > diff --git a/drivers/scsi/aacraid/commsup.c > b/drivers/scsi/aacraid/commsup.c > > index 525a652..ffbfd04 100644 > > --- a/drivers/scsi/aacraid/commsup.c > > +++ b/drivers/scsi/aacraid/commsup.c > > @@ -1672,14 +1672,7 @@ static int _aac_reset_adapter(struct aac_dev > *aac, int forced, u8 reset_type) > > 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, "Issuing bus rescan\n"); > > - scsi_scan_host(host); > > - } > > + > > if (jafo) { > > spin_lock_irq(host->host_lock); > > } > >