From: Stephen M. Cameron Date: Tue, 3 May 2011 19:54:07 +0000 (-0500) Subject: cciss: do not use bit 2 doorbell reset X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=063d2cf72ab6101d2dd69bd6fb503b229be70325;p=deliverable%2Flinux.git 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 Signed-off-by: Jens Axboe --- 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);