* [PATCH] fix netxen_pci_tbl[] breakage
@ 2008-06-23 1:04 Al Viro
2008-06-24 5:53 ` Dhananjay Phadke
2008-06-27 5:33 ` Jeff Garzik
0 siblings, 2 replies; 3+ messages in thread
From: Al Viro @ 2008-06-23 1:04 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Dhananjay Phadke, netdev
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.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
index 6797ed0..63cd67b 100644
--- a/drivers/net/netxen/netxen_nic_main.c
+++ b/drivers/net/netxen/netxen_nic_main.c
@@ -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,}
};
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] fix netxen_pci_tbl[] breakage
2008-06-23 1:04 [PATCH] fix netxen_pci_tbl[] breakage Al Viro
@ 2008-06-24 5:53 ` Dhananjay Phadke
2008-06-27 5:33 ` Jeff Garzik
1 sibling, 0 replies; 3+ messages in thread
From: Dhananjay Phadke @ 2008-06-24 5:53 UTC (permalink / raw)
To: Al Viro; +Cc: Jeff Garzik, netdev@vger.kernel.org
oops, that was oversight in last patch. changing order of PCI_DEVICE(),
PCI_DEVICE_CLASS() would have worked as well.
Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com>
On Sun, 22 Jun 2008, Al Viro wrote:
> 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.
>
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> ---
> diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
> index 6797ed0..63cd67b 100644
> --- a/drivers/net/netxen/netxen_nic_main.c
> +++ b/drivers/net/netxen/netxen_nic_main.c
> @@ -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,}
> };
>
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix netxen_pci_tbl[] breakage
2008-06-23 1:04 [PATCH] fix netxen_pci_tbl[] breakage Al Viro
2008-06-24 5:53 ` Dhananjay Phadke
@ 2008-06-27 5:33 ` Jeff Garzik
1 sibling, 0 replies; 3+ messages in thread
From: Jeff Garzik @ 2008-06-27 5:33 UTC (permalink / raw)
To: Al Viro; +Cc: Dhananjay Phadke, netdev
Al Viro wrote:
> 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.
>
> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
> ---
> diff --git a/drivers/net/netxen/netxen_nic_main.c b/drivers/net/netxen/netxen_nic_main.c
> index 6797ed0..63cd67b 100644
> --- a/drivers/net/netxen/netxen_nic_main.c
> +++ b/drivers/net/netxen/netxen_nic_main.c
> @@ -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,}
> };
applied
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-06-27 5:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-23 1:04 [PATCH] fix netxen_pci_tbl[] breakage Al Viro
2008-06-24 5:53 ` Dhananjay Phadke
2008-06-27 5:33 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).