Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[linux-2.6.git] / drivers / ssb / scan.c
index 29884c0..3e84487 100644 (file)
@@ -2,7 +2,7 @@
  * Sonics Silicon Backplane
  * Bus scanning
  *
- * Copyright (C) 2005-2007 Michael Buesch <mb@bu3sch.de>
+ * Copyright (C) 2005-2007 Michael Buesch <m@bues.ch>
  * Copyright (C) 2005 Martin Langer <martin-langer@gmx.de>
  * Copyright (C) 2005 Stefano Brivio <st3@riseup.net>
  * Copyright (C) 2005 Danny van Dyk <kugelfang@gentoo.org>
@@ -258,7 +258,10 @@ static int we_support_multiple_80211_cores(struct ssb_bus *bus)
 #ifdef CONFIG_SSB_PCIHOST
        if (bus->bustype == SSB_BUSTYPE_PCI) {
                if (bus->host_pci->vendor == PCI_VENDOR_ID_BROADCOM &&
-                   bus->host_pci->device == 0x4324)
+                   ((bus->host_pci->device == 0x4313) ||
+                    (bus->host_pci->device == 0x431A) ||
+                    (bus->host_pci->device == 0x4321) ||
+                    (bus->host_pci->device == 0x4324)))
                        return 1;
        }
 #endif /* CONFIG_SSB_PCIHOST */
@@ -307,8 +310,7 @@ int ssb_bus_scan(struct ssb_bus *bus,
        } else {
                if (bus->bustype == SSB_BUSTYPE_PCI) {
                        bus->chip_id = pcidev_to_chipid(bus->host_pci);
-                       pci_read_config_word(bus->host_pci, PCI_REVISION_ID,
-                                            &bus->chip_rev);
+                       bus->chip_rev = bus->host_pci->revision;
                        bus->chip_package = 0;
                } else {
                        bus->chip_id = 0x4710;