8139too: Force usage of PIO on OQO2
authorDave Jones <davej@redhat.com>
Tue, 15 Jul 2008 23:54:53 +0000 (19:54 -0400)
committerJeff Garzik <jgarzik@redhat.com>
Tue, 22 Jul 2008 21:59:26 +0000 (17:59 -0400)
The OQO model 2 has an RTL8139 from Atheros that doesn't like MMIO.
It fails on modprobe, with a 'PCI Bus error' message.

Force it to always use polled IO.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
drivers/net/8139too.c

index f172b5d822d7b4a2f0f81affffb0e96b9751b1e8..f62ac64e98fed4b7ff92d737cb0115a54ef562c6 100644 (file)
@@ -949,6 +949,14 @@ static int __devinit rtl8139_init_one (struct pci_dev *pdev,
                           "Use the \"8139cp\" driver for improved performance and stability.\n");
        }
 
+       if (pdev->vendor == PCI_VENDOR_ID_REALTEK &&
+           pdev->device == PCI_DEVICE_ID_REALTEK_8139 &&
+           pdev->subsystem_vendor == PCI_VENDOR_ID_ATHEROS &&
+           pdev->subsystem_device == PCI_DEVICE_ID_REALTEK_8139) {
+               printk(KERN_INFO "8139too: OQO Model 2 detected. Forcing PIO\n");
+               use_io = 1;
+       }
+
        i = rtl8139_init_board (pdev, &dev);
        if (i < 0)
                return i;