Skip to contentSkip to conversation

mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA

PATCH RESEND In review [email protected] 2 participants 2 messages Aug 22, 2012 – Sep 17, 2012 SCSI

lore
Share & tools
lore
#0 lore raw

PATCH RESEND 1/1 mpt2sas: Fix for issue - Unable to boot from the drive connected to HBA

Fix for issue - Unable to boot from the SAS drive connected to HBA

This patch checks whether HBA is SAS2008 B0 controller.
if it is a SAS2008 B0 controller then it use IO-APIC interrupt instead of MSIX, as SAS2008 B0 controller doesn't support MSIX interrupts.

---

drivers/scsi/mpt2sas/mpt2sas_base.c +7 -0
index 2f77f39..4c66a55 100644
@@ -1208,6 +1208,13 @@ _base_check_enable_msix(struct MPT2SAS_ADAPTER *ioc)
 	int base;
 	u16 message_control;
 
+	/* Check whether controller SAS2008 B0 controller,
+           if it is SAS2008 B0 controller use IO-APIC instead of MSIX */
+        if (ioc->pdev->device == MPI2_MFGPAGE_DEVID_SAS2008 &&
+            ioc->pdev->revision == 0x01) {
+                return -EINVAL;
+        }
+
 	base = pci_find_capability(ioc->pdev, PCI_CAP_ID_MSIX);
 	if (!base) {
 		dfailprintk(ioc, printk(MPT2SAS_INFO_FMT "msix not "
maintainer
#1 lore raw
Quoted 8 lines · On Wed, 2012-08-22 at 16:55 +0530, [email protected] wrote:

Fix for issue - Unable to boot from the SAS drive connected to HBA

This patch checks whether HBA is SAS2008 B0 controller.
if it is a SAS2008 B0 controller then it use IO-APIC interrupt instead of MSIX, as SAS2008 B0 controller doesn't support MSIX interrupts.

Checkpatch, next time, please! This has a nasty case of spaces converted to tabs:

ERROR: code indent should use tabs where possible #24: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1213:
+ if it is SAS2008 B0 controller use IO-APIC instead of MSIX
*/$

ERROR: code indent should use tabs where possible #25: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1214:
+ if (ioc->pdev->device == MPI2_MFGPAGE_DEVID_SAS2008 &&$

WARNING: please, no spaces at the start of a line #25: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1214:
+ if (ioc->pdev->device == MPI2_MFGPAGE_DEVID_SAS2008 &&$

ERROR: code indent should use tabs where possible #26: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1215:
+ ioc->pdev->revision == 0x01) {$

WARNING: please, no spaces at the start of a line #26: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1215:
+ ioc->pdev->revision == 0x01) {$

ERROR: code indent should use tabs where possible #27: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1216:
+ return -EINVAL;$

WARNING: please, no spaces at the start of a line #27: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1216:
+ return -EINVAL;$

ERROR: code indent should use tabs where possible #28: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1217:
+ }$

WARNING: please, no spaces at the start of a line #28: FILE: drivers/scsi/mpt2sas/mpt2sas_base.c:1217:
+ }$

total: 5 errors, 4 warnings, 13 lines checked

NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or
scripts/cleanfile

James