]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
aacraid: reset should disable MSI interrupt
authorVasily Averin <vvs@parallels.com>
Fri, 2 Sep 2011 15:31:46 +0000 (19:31 +0400)
committerWilly Tarreau <w@1wt.eu>
Sat, 11 Feb 2012 14:37:44 +0000 (15:37 +0100)
commit d0efab26f89506387a1bde898556660e06d7eb15 upstream.

scsi reset on hardware with enabled MSI interrupts generates WARNING message

[11027.798722] aacraid: Host adapter abort request (0,0,0,0)
[11027.798814] aacraid: Host adapter reset request. SCSI hang ?
[11087.762237] aacraid: SCSI bus appears hung
[11135.082543] ------------[ cut here ]------------
[11135.082646] WARNING: at drivers/pci/msi.c:658 pci_enable_msi_block+0x251/0x290()

Signed-off-by: Vasily Averin <vvs@sw.ru>
Acked-by: Mark Salyzyn <mark_salyzyn@us.xyratex.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/scsi/aacraid/commsup.c

index 289304aab690d065e0e65dbb11ede16b87f7f808..f02704e6a3382a8d76190bbc2162f2da328ae3f4 100644 (file)
@@ -1202,6 +1202,8 @@ static int _aac_reset_adapter(struct aac_dev *aac, int forced)
        kfree(aac->queues);
        aac->queues = NULL;
        free_irq(aac->pdev->irq, aac);
+       if (aac->msi)
+               pci_disable_msi(aac->pdev);
        kfree(aac->fsa_dev);
        aac->fsa_dev = NULL;
        quirks = aac_get_driver_ident(index)->quirks;