[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#317258: Megaraid driver lost PCI ID mapping for NetRAID 1M & 2M



Package: kernel-source-2.6.11
Version: 2.6.11-7

I have an HP Netserver loaded with Debian Etch and configured with an HP
NetRAID 2M raid card.  Since the split of the PCI IDs between the megaraid
(legacy) and megaraid_mbox (new) drivers, this card is no longer recognized
by either driver.

The split was such that AMI Megaraid generations 1 & 2 stayed in megaraid
and generation 3 went to megaraid_mbox.  Unfortunately, NetRAID 1M & 2M use
a generation 3 PCI ID but isn't within the PCI ID table of the megaraid_mbox
driver.  From googling the web, it would appear that the NetRAID 1M & 2M
will never be supported by the new driver.

So I'm submitting two very small patches that add back support specifically
for these two cards into the megaraid driver's pci id table.  This has been
tested as working with my setup which uses a NetRAID 2m using a 2.02
firmware.  I note that megaraid is a very well tested driver in general with
this card and still includes code specifically to work around lack of 64 bit
addressing with older NetRAID 1M/2M 1.07/1.08/1.09 firmware.  As such,
keeping these cards associated with the megaraid (legacy) driver seems like
the best idea.

Keep up the good work.

Kevin

Patches:

--- kernel-source-2.6.11/drivers/scsi/megaraid.h	2005-03-01
23:38:09.000000000 -0800
+++ kernel-source-2.6.11.works/drivers/scsi/megaraid.h	2005-07-05
10:05:44.000000000 -0700
@@ -84,6 +84,10 @@
 #define LSI_SUBSYS_VID			0x1000
 #define INTEL_SUBSYS_VID		0x8086

+/* Sub-System Device IDs */
+#define HP_NETRAID1M_SUBSYS_DID		0x60E7
+#define HP_NETRAID2M_SUBSYS_DID		0x60E8
+
 #define HBA_SIGNATURE	      		0x3344
 #define HBA_SIGNATURE_471	  	0xCCCC
 #define HBA_SIGNATURE_64BIT		0x029


--- kernel-source-2.6.11/drivers/scsi/megaraid.c	2005-06-16
08:06:21.000000000 -0700
+++ kernel-source-2.6.11.works/drivers/scsi/megaraid.c	2005-07-05
10:06:39.000000000 -0700
@@ -5037,6 +5037,10 @@
 		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
 	{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2,
 		PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
+	{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
+		HP_SUBSYS_VID, HP_NETRAID1M_SUBSYS_DID, 0, 0, 0},
+	{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
+		HP_SUBSYS_VID, HP_NETRAID2M_SUBSYS_DID, 0, 0, 0},
 	{0,}
 };
 MODULE_DEVICE_TABLE(pci, megaraid_pci_tbl);





Reply to: