From 5ca20abf95377ee23a3b4f7f4e36b25cd78ee5fa Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Sat, 16 Apr 2005 17:30:37 +0000 Subject: [PATCH] Place the call to adjust_pci_device() back in the individual drivers, since we probably shouldn't be doing this to arbitrary devices during a PCI bus scan... --- src/drivers/bus/pci.c | 3 --- src/drivers/net/3c90x.c | 2 ++ src/drivers/net/eepro100.c | 2 ++ src/drivers/net/mtd80x.c | 2 ++ src/drivers/net/natsemi.c | 2 ++ src/drivers/net/rtl8139.c | 2 ++ src/drivers/net/tg3.c | 3 ++- src/drivers/net/tlan.c | 3 +++ src/drivers/net/via-rhine.c | 3 +-- 9 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/drivers/bus/pci.c b/src/drivers/bus/pci.c index 37aa1cd9..6894cad9 100644 --- a/src/drivers/bus/pci.c +++ b/src/drivers/bus/pci.c @@ -185,9 +185,6 @@ int find_pci_device ( struct pci_device *pci, continue; } - /* Fix up PCI device */ - adjust_pci_device ( pci ); - /* If driver has a class, and class matches, use it */ if ( driver->class && ( driver->class == pci->class ) ) { diff --git a/src/drivers/net/3c90x.c b/src/drivers/net/3c90x.c index 3993ea64..b3aa76bf 100644 --- a/src/drivers/net/3c90x.c +++ b/src/drivers/net/3c90x.c @@ -703,6 +703,8 @@ static int a3c90x_probe ( struct dev *dev, struct pci_device *pci ) { if (pci->ioaddr == 0) return 0; + adjust_pci_device(pci); + nic->ioaddr = pci->ioaddr; nic->irqno = 0; diff --git a/src/drivers/net/eepro100.c b/src/drivers/net/eepro100.c index 92053d5e..b5b5f821 100644 --- a/src/drivers/net/eepro100.c +++ b/src/drivers/net/eepro100.c @@ -620,6 +620,8 @@ static int eepro100_probe ( struct dev *dev, struct pci_device *p ) { ioaddr = p->ioaddr; nic->ioaddr = ioaddr; + adjust_pci_device(p); + /* Copy IRQ from PCI information */ nic->irqno = p->irq; diff --git a/src/drivers/net/mtd80x.c b/src/drivers/net/mtd80x.c index 45a3eb5a..26debf06 100644 --- a/src/drivers/net/mtd80x.c +++ b/src/drivers/net/mtd80x.c @@ -684,6 +684,8 @@ static int mtd_probe ( struct dev *dev, struct pci_device *pci ) { /* Mask the bit that says "this is an io addr" */ mtdx.ioaddr = pci->ioaddr; + adjust_pci_device(pci); + mtdx.nic_name = dev->name; mtdx.dev_id = pci->dev_id; diff --git a/src/drivers/net/natsemi.c b/src/drivers/net/natsemi.c index a8b6a0dc..6dda7b5b 100644 --- a/src/drivers/net/natsemi.c +++ b/src/drivers/net/natsemi.c @@ -253,6 +253,8 @@ natsemi_probe ( struct dev *dev, struct pci_device *pci ) { if (pci->ioaddr == 0) return 0; + adjust_pci_device(pci); + /* initialize some commonly used globals */ nic->irqno = 0; diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c index 9e52fecc..c5fb901b 100644 --- a/src/drivers/net/rtl8139.c +++ b/src/drivers/net/rtl8139.c @@ -194,6 +194,8 @@ static int rtl8139_probe ( struct dev *dev, struct pci_device *pci ) { nic->ioaddr = pci->ioaddr; nic->irqno = pci->irq; + adjust_pci_device(pci); + /* Bring the chip out of low-power mode. */ outb(0x00, nic->ioaddr + Config1); diff --git a/src/drivers/net/tg3.c b/src/drivers/net/tg3.c index 96829c0d..e4e67136 100644 --- a/src/drivers/net/tg3.c +++ b/src/drivers/net/tg3.c @@ -3239,6 +3239,8 @@ static int tg3_probe ( struct dev *dev, struct pci_device *pdev ) { memset(tp, 0, sizeof(*tp)); + adjust_pci_device(pdev); + nic->irqno = 0; nic->ioaddr = pdev->ioaddr; @@ -3342,7 +3344,6 @@ static int tg3_probe ( struct dev *dev, struct pci_device *pdev ) { } nic->nic_op = &tg3_operations; - return 1; err_out_iounmap: diff --git a/src/drivers/net/tlan.c b/src/drivers/net/tlan.c index 7c6d5628..3041dcfe 100644 --- a/src/drivers/net/tlan.c +++ b/src/drivers/net/tlan.c @@ -794,6 +794,9 @@ static int tlan_probe ( struct dev *dev, struct pci_device *pci ) { nic->ioaddr = pci->ioaddr; BASE = pci->ioaddr; + + /* Set nic as PCI bus master */ + adjust_pci_device(pci); /* Point to private storage */ priv = &TLanPrivateInfo; diff --git a/src/drivers/net/via-rhine.c b/src/drivers/net/via-rhine.c index 7c68e873..f3bfc052 100644 --- a/src/drivers/net/via-rhine.c +++ b/src/drivers/net/via-rhine.c @@ -962,12 +962,11 @@ rhine_probe ( struct dev *dev, struct pci_device *pci ) { return 0; rhine_probe1 (nic, pci, pci->ioaddr, pci->dev_id, -1); + adjust_pci_device ( pci ); rhine_reset (nic); nic->nic_op = &rhine_operations; nic->irqno = pci->irq; nic->ioaddr = tp->ioaddr; - - return 1; }