[SCSI] hpsa: do not reset unknown boards on reset_devices
authorStephen M. Cameron <scameron@beardog.cce.hp.com>
Thu, 6 Jan 2011 20:48:18 +0000 (14:48 -0600)
committerJames Bottomley <James.Bottomley@suse.de>
Mon, 24 Jan 2011 17:30:11 +0000 (11:30 -0600)
This is to prevent hpsa from resetting older boards
which the cciss driver may be controlling.

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 688b243..5b9cd41 100644 (file)
@@ -3140,7 +3140,11 @@ static __devinit int hpsa_kdump_hard_reset_controller(struct pci_dev *pdev)
         * likely not be happy.  Just forbid resetting this conjoined mess.
         * The 640x isn't really supported by hpsa anyway.
         */
-       hpsa_lookup_board_id(pdev, &board_id);
+       rc = hpsa_lookup_board_id(pdev, &board_id);
+       if (rc < 0) {
+               dev_warn(&pdev->dev, "Not resetting device.\n");
+               return -ENODEV;
+       }
        if (board_id == 0x409C0E11 || board_id == 0x409D0E11)
                return -ENOTSUPP;