fix netxen_pci_tbl[] breakage
Subsystems (2)
PATCH 1/1 fix netxen_pci_tbl[] breakage
PCI_DEVICE_CLASS sets .device and .vendor to PCI_ANY_DEV,
which overrides the effect of preceding PCI_DEVICE() and makes all elements of netxen_pci_tbl[] identical. Introduced in the commit dcd56fdbaeae1008044687b973c4a3e852e8a726.
---
drivers/net/netxen/netxen_nic_main.c +11 -7
@@ -71,14 +71,18 @@ static irqreturn_t netxen_intr(int irq, void *data);static irqreturn_t netxen_msi_intr (int irq,void *data);/* PCI Device ID Table */ +#define ENTRY (device) \ + {PCI_DEVICE(0x4040, (device)), \ + .class = PCI_CLASS_NETWORK_ETHERNET << 8, .class_mask = ~0} +static struct pci_device_id netxen_pci_tbl[]__devinitdata = { - {PCI_DEVICE (0x4040 ,0x0001 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0002 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0003 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0004 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0005 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0024 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0025 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, +ENTRY (0x0001 ), +ENTRY (0x0002 ), +ENTRY (0x0003 ), +ENTRY (0x0004 ), +ENTRY (0x0005 ), +ENTRY (0x0024 ), +ENTRY (0x0025 ), {0 ,} };
oops, that was oversight in last patch. changing order of PCI_DEVICE(), PCI_DEVICE_CLASS() would have worked as well.
Quoted 38 lines · Al Viro
PCI_DEVICE_CLASSsets .device and .vendor toPCI_ANY_DEV,
which overrides the effect of precedingPCI_DEVICE()and makes all elements of netxen_pci_tbl[] identical. Introduced in the commitdcd56fdbaeae1008044687b973c4a3e852e8a726.Signed-off-by Al Viro <[email protected]>---
drivers/net/netxen/netxen_nic_main.c +11
-7@@ -71,14 +71,18 @@ static irqreturn_t netxen_intr(int irq, void *data);static irqreturn_t netxen_msi_intr (int irq,void *data);/* PCI Device ID Table */ +#define ENTRY (device) \ + {PCI_DEVICE(0x4040, (device)), \ + .class = PCI_CLASS_NETWORK_ETHERNET << 8, .class_mask = ~0} +static struct pci_device_id netxen_pci_tbl[]__devinitdata = { - {PCI_DEVICE (0x4040 ,0x0001 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0002 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0003 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0004 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0005 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0024 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0025 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, +ENTRY (0x0001 ), +ENTRY (0x0002 ), +ENTRY (0x0003 ), +ENTRY (0x0004 ), +ENTRY (0x0005 ), +ENTRY (0x0024 ), +ENTRY (0x0025 ), {0 ,} };
Jeff Garzik
AppliedQuoted 26 lines · Al Viro
PCI_DEVICE_CLASSsets .device and .vendor toPCI_ANY_DEV,
which overrides the effect of precedingPCI_DEVICE()and makes all elements of netxen_pci_tbl[] identical. Introduced in the commitdcd56fdbaeae1008044687b973c4a3e852e8a726.Signed-off-by Al Viro <[email protected]>---
drivers/net/netxen/netxen_nic_main.c +4
-6@@ -71,14 +71,18 @@ static irqreturn_t netxen_intr(int irq, void *data);static irqreturn_t netxen_msi_intr (int irq,void *data);/* PCI Device ID Table */ +#define ENTRY (device) \ + {PCI_DEVICE(0x4040, (device)), \ + .class = PCI_CLASS_NETWORK_ETHERNET << 8, .class_mask = ~0} +static struct pci_device_id netxen_pci_tbl[]__devinitdata = { - {PCI_DEVICE (0x4040 ,0x0001 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0002 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0003 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0004 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0005 ),PCI_DEVICE_CLASS (0x020000 , ~0 )}, - {PCI_DEVICE (0x4040 ,0x0024 ),PCI_DEVICE_CLASS (0x020000 , ~0 )},
drivers/net/netxen/netxen_nic_main.c static irqreturn_t netxen_intr(int irq, void *data); · line 87
Quoted 10 lines
drivers/net/netxen/netxen_nic_main.c +7
-1- {PCI_DEVICE(0x4040, 0x0025), PCI_DEVICE_CLASS(0x020000, ~0)}, +ENTRY (0x0001 ), +ENTRY (0x0002 ), +ENTRY (0x0003 ), +ENTRY (0x0004 ), +ENTRY (0x0005 ), +ENTRY (0x0024 ), +ENTRY (0x0025 ), {0,} };
applied