diff options
-rw-r--r-- | drivers/block/cciss.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 2b485ca1150b..2cd230cfa813 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -4970,6 +4970,16 @@ static int cciss_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) ctlr_info_t *h; unsigned long flags; + /* + * By default the cciss driver is used for all older HP Smart Array + * controllers. There are module paramaters that allow a user to + * override this behavior and instead use the hpsa SCSI driver. If + * this is the case cciss may be loaded first from the kdump initrd + * image and cause a kernel panic. So if reset_devices is true and + * cciss_allow_hpsa is set just bail. + */ + if ((reset_devices) && (cciss_allow_hpsa == 1)) + return -ENODEV; rc = cciss_init_reset_devices(pdev); if (rc) { if (rc != -ENOTSUPP) |