| From d0efab26f89506387a1bde898556660e06d7eb15 Mon Sep 17 00:00:00 2001 |
| From: Vasily Averin <vvs@parallels.com> |
| Date: Fri, 2 Sep 2011 19:31:46 +0400 |
| Subject: [SCSI] aacraid: reset should disable MSI interrupt |
| |
| From: Vasily Averin <vvs@parallels.com> |
| |
| 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> |
| |
| --- |
| drivers/scsi/aacraid/commsup.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/scsi/aacraid/commsup.c |
| +++ b/drivers/scsi/aacraid/commsup.c |
| @@ -1202,6 +1202,8 @@ static int _aac_reset_adapter(struct aac |
| 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; |