diff options
author | Stephen M. Cameron <scameron@beardog.cce.hp.com> | 2011-05-03 23:54:07 +0400 |
---|---|---|
committer | Jens Axboe <jaxboe@fusionio.com> | 2011-05-06 18:23:58 +0400 |
commit | 063d2cf72ab6101d2dd69bd6fb503b229be70325 (patch) | |
tree | eb818014e9510bc372eae990e3b102caf0504ee8 | |
parent | ec52d5f1cb9a1a0db02143fdcc6004749ea19e0b (diff) | |
download | linux-063d2cf72ab6101d2dd69bd6fb503b229be70325.tar.xz |
cciss: do not use bit 2 doorbell reset
It causes NMIs which are undesirable at best, unsurvivable at worst.
Prefer the soft reset instead.
Signed-off-by: Stephen M. Cameron <scameron@beardog.cce.hp.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
-rw-r--r-- | drivers/block/cciss.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index 865484e40841..9528e94dc8b2 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -4673,8 +4673,14 @@ static __devinit int cciss_kdump_hard_reset_controller(struct pci_dev *pdev) use_doorbell = DOORBELL_CTLR_RESET2; } else { use_doorbell = misc_fw_support & MISC_FW_DOORBELL_RESET; - if (use_doorbell) - use_doorbell = DOORBELL_CTLR_RESET; + if (use_doorbell) { + dev_warn(&pdev->dev, "Controller claims that " + "'Bit 2 doorbell reset' is " + "supported, but not 'bit 5 doorbell reset'. " + "Firmware update is recommended.\n"); + rc = -ENOTSUPP; /* use the soft reset */ + goto unmap_cfgtable; + } } rc = cciss_controller_hard_reset(pdev, vaddr, use_doorbell); |