[SCSI] hpsa: Do not attempt kdump if we detect resetting controller failed.
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Tue, 15 Feb 2011 21:33:08 +0000 (15:33 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Fri, 18 Feb 2011 18:34:14 +0000 (12:34 -0600)
We can get completions left over from before the attempted reset which
will interfere with the kdump.  Better to just not make the attempt in
that case.

Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/hpsa.c

index a778cb1fd8bcea76cea505d407c00a9a8b8eda20..eb6938fe77b008f82b5eca1c06e43e83395c4231 100644 (file)
@@ -3264,13 +3264,13 @@ static __devinit int hpsa_kdump_hard_reset_controller(struct pci_dev *pdev)
         * It means we're on one of those controllers which doesn't support
         * the doorbell reset method and on which the PCI power management reset
         * method doesn't work (P800, for example.)
-        * In those cases, pretend the reset worked and hope for the best.
+        * In those cases, don't try to proceed, as it generally doesn't work.
         */
        active_transport = readl(&cfgtable->TransportActive);
        if (active_transport & PERFORMANT_MODE) {
                dev_warn(&pdev->dev, "Unable to successfully reset controller,"
-                       " proceeding anyway.\n");
-               rc = -ENOTSUPP;
+                       " Ignoring controller.\n");
+               rc = -ENODEV;
        }
 
 unmap_cfgtable: