diff options
author | David Miller <davem@davemloft.net> | 2007-10-25 08:16:30 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-11-05 21:35:16 (GMT) |
commit | ba698ad4b7e466cbb4a8bde6b9da8080ab06808d (patch) | |
tree | 31e0ebfbb91633da5f62e455d708328a0f9875ee /drivers/net/tg3.c | |
parent | 1d84b5424efbcce69a1c955ba181147d23d43a14 (diff) | |
download | linux-fsl-qoriq-ba698ad4b7e466cbb4a8bde6b9da8080ab06808d.tar.xz |
PCI: Add quirk for devices which disable MSI when INTX_DISABLE is set.
A reasonably common problem with some devices is that they will
disable MSI generation when the INTX_DISABLE bit is set in the
PCI_COMMAND register.
Quirk this explicitly, guarding the pci_intx() calls in msi.c with
this quirk indication.
The first entries for this quirk are for 5714 and 5780 Tigon3 chips,
and thus we can remove the workaround code from the tg3.c driver.
Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Michael Chan <mchan@broadcom.com>
Acked-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/net/tg3.c')
-rw-r--r-- | drivers/net/tg3.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 09440d7..cad5199 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -7365,10 +7365,6 @@ static int tg3_open(struct net_device *dev) } else if (pci_enable_msi(tp->pdev) == 0) { u32 msi_mode; - /* Hardware bug - MSI won't work if INTX disabled. */ - if (tp->tg3_flags2 & TG3_FLG2_5780_CLASS) - pci_intx(tp->pdev, 1); - msi_mode = tr32(MSGINT_MODE); tw32(MSGINT_MODE, msi_mode | MSGINT_MODE_ENABLE); tp->tg3_flags2 |= TG3_FLG2_USING_MSI; @@ -12681,11 +12677,6 @@ static int tg3_resume(struct pci_dev *pdev) if (err) return err; - /* Hardware bug - MSI won't work if INTX disabled. */ - if ((tp->tg3_flags2 & TG3_FLG2_5780_CLASS) && - (tp->tg3_flags2 & TG3_FLG2_USING_MSI)) - pci_intx(tp->pdev, 1); - netif_device_attach(dev); tg3_full_lock(tp, 0); |