aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/megaraid
diff options
context:
space:
mode:
authorAlexander Gordeev <agordeev@redhat.com>2014-08-18 02:01:43 -0400
committerChristoph Hellwig <hch@lst.de>2014-09-16 12:09:40 -0400
commitdd0881281d98e7d3d5e34224058a5d1389241126 (patch)
tree0b14ad009a2f0d80d3ce9c560d47b02299816ad7 /drivers/scsi/megaraid
parent18fce3c440c762ab4dfb6156bbd3c0beb0f67f17 (diff)
megaraid: Fail resume if MSI-X re-initialization failed
Currently the driver fails to analize MSI-X re-enablement status on resuming and always assumes the success. This update checks the MSI-X initialization result and fails to resume if MSI-Xs re-enablement failed. Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Acked-by: Kashyap Desai <Kashyap.desai@avagotech.com> Cc: Neela Syam Kolli <megaraidlinux@lsi.com> Cc: linux-scsi@vger.kernel.org Cc: linux-pci@vger.kernel.org Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/scsi/megaraid')
-rw-r--r--drivers/scsi/megaraid/megaraid_sas_base.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c b/drivers/scsi/megaraid/megaraid_sas_base.c
index 22a04e37b70a..e4ffae5346fc 100644
--- a/drivers/scsi/megaraid/megaraid_sas_base.c
+++ b/drivers/scsi/megaraid/megaraid_sas_base.c
@@ -5132,9 +5132,10 @@ megasas_resume(struct pci_dev *pdev)
5132 goto fail_ready_state; 5132 goto fail_ready_state;
5133 5133
5134 /* Now re-enable MSI-X */ 5134 /* Now re-enable MSI-X */
5135 if (instance->msix_vectors) 5135 if (instance->msix_vectors &&
5136 pci_enable_msix(instance->pdev, instance->msixentry, 5136 pci_enable_msix(instance->pdev, instance->msixentry,
5137 instance->msix_vectors); 5137 instance->msix_vectors))
5138 goto fail_reenable_msix;
5138 5139
5139 switch (instance->pdev->device) { 5140 switch (instance->pdev->device) {
5140 case PCI_DEVICE_ID_LSI_FUSION: 5141 case PCI_DEVICE_ID_LSI_FUSION:
@@ -5243,6 +5244,7 @@ fail_init_mfi:
5243 5244
5244fail_set_dma_mask: 5245fail_set_dma_mask:
5245fail_ready_state: 5246fail_ready_state:
5247fail_reenable_msix:
5246 5248
5247 pci_disable_device(pdev); 5249 pci_disable_device(pdev);
5248 5250