From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Return-Path: From: Don Brace To: Sinan Kaya , "linux-pci@vger.kernel.org" , "ryan@finnie.org" , "timur@codeaurora.org" Subject: RE: [PATCH V4] scsi: hpsa: drop shutdown callback Date: Fri, 1 Jun 2018 20:58:09 +0000 Message-ID: References: <1527860768-11367-1-git-send-email-okaya@codeaurora.org> In-Reply-To: <1527860768-11367-1-git-send-email-okaya@codeaurora.org> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "James E.J. Bottomley" , "open list:HEWLETT-PACKARD SMART ARRAY RAID DRIVER \(hpsa\)" , "Martin K. Petersen" , "linux-arm-msm@vger.kernel.org" , "esc.storagedev" , open list , "stable@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" Content-Type: text/plain; charset="us-ascii" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+bjorn=helgaas.com@lists.infradead.org List-ID: > -----Original Message----- > From: Sinan Kaya [mailto:okaya@codeaurora.org] > Sent: Friday, June 01, 2018 8:46 AM > To: linux-pci@vger.kernel.org; ryan@finnie.org; timur@codeaurora.org > Cc: linux-arm-msm@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > Sinan Kaya ; stable@vger.kernel.org; Don Brace > ; James E.J. Bottomley > ; Martin K. Petersen ; > esc.storagedev ; open list:HEWLETT- > PACKARD SMART ARRAY RAID DRIVER (hpsa) ; open > list > Subject: [PATCH V4] scsi: hpsa: drop shutdown callback > > EXTERNAL EMAIL > > > 'Commit cc27b735ad3a ("PCI/portdrv: Turn off PCIe services during > shutdown")' has been added to kernel to shutdown pending PCIe port > service interrupts during reboot so that a newly started kexec kernel > wouldn't observe pending interrupts. > > pcie_port_device_remove() is disabling the root port and switches by > calling pci_disable_device() after all PCIe service drivers are shutdown. > > This has been found to cause crashes on HP DL360 Gen9 machines during > reboot due to hpsa driver not clearing the bus master bit during the > shutdown procedure by calling pci_disable_device(). > > Disable device as part of the shutdown sequence. > > Signed-off-by: Sinan Kaya Looks good. Thanks for your patch Thanks for changing the patch name also. Tested-by: Don Brace Acked-by: Don Brace > Link: https://bugzilla.kernel.org/show_bug.cgi?id=199779 > Fixes: cc27b735ad3a ("PCI/portdrv: Turn off PCIe services during shutdown") > Cc: stable@vger.kernel.org > Reported-by: Ryan Finnie > --- > drivers/scsi/hpsa.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c > index 3a9eca1..b92f86a 100644 > --- a/drivers/scsi/hpsa.c > +++ b/drivers/scsi/hpsa.c > @@ -8869,7 +8869,7 @@ static void hpsa_disable_rld_caching(struct ctlr_info > *h) > kfree(options); > } > > -static void hpsa_shutdown(struct pci_dev *pdev) > +static void __hpsa_shutdown(struct pci_dev *pdev) > { > struct ctlr_info *h; > > @@ -8884,6 +8884,12 @@ static void hpsa_shutdown(struct pci_dev *pdev) > hpsa_disable_interrupt_mode(h); /* pci_init 2 */ > } > > +static void hpsa_shutdown(struct pci_dev *pdev) > +{ > + __hpsa_shutdown(pdev); > + pci_disable_device(pdev); > +} > + > static void hpsa_free_device_info(struct ctlr_info *h) > { > int i; > @@ -8927,7 +8933,7 @@ static void hpsa_remove_one(struct pci_dev *pdev) > scsi_remove_host(h->scsi_host); /* init_one 8 */ > /* includes hpsa_free_irqs - init_one 4 */ > /* includes hpsa_disable_interrupt_mode - pci_init 2 */ > - hpsa_shutdown(pdev); > + __hpsa_shutdown(pdev); > > hpsa_free_device_info(h); /* scan */ > > -- > 2.7.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel