b43: correctly display longer chipsets ids
authorRafał Miłecki <zajec5@gmail.com>
Mon, 18 Jul 2011 20:45:58 +0000 (22:45 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Tue, 19 Jul 2011 20:50:01 +0000 (16:50 -0400)
Some of the newer Broadcom chipsets have longe names like BCM43224,
BCM43225, etc. However Broadcom decided to keep using u16 for storing
them. Use %X or %d depending on chip_id value to avoid BCMA8D8, etc.

Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Acked-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c

index 295c7e3..15ff218 100644 (file)
@@ -5165,6 +5165,7 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
        struct ssb_sprom *sprom = dev->bus_sprom;
        struct ieee80211_hw *hw;
        struct b43_wl *wl;
+       char chip_name[6];
 
        hw = ieee80211_alloc_hw(sizeof(*wl), &b43_hw_ops);
        if (!hw) {
@@ -5203,8 +5204,10 @@ static struct b43_wl *b43_wireless_init(struct b43_bus_dev *dev)
        INIT_WORK(&wl->tx_work, b43_tx_work);
        skb_queue_head_init(&wl->tx_queue);
 
-       b43info(wl, "Broadcom %04X WLAN found (core revision %u)\n",
-               dev->chip_id, dev->core_rev);
+       snprintf(chip_name, ARRAY_SIZE(chip_name),
+                (dev->chip_id > 0x9999) ? "%d" : "%04X", dev->chip_id);
+       b43info(wl, "Broadcom %s WLAN found (core revision %u)\n", chip_name,
+               dev->core_rev);
        return wl;
 }