]> Pileus Git - ~andy/linux/blobdiff - drivers/net/wireless/b43/main.c
[B43]: Change loglevel of radio-enable message.
[~andy/linux] / drivers / net / wireless / b43 / main.c
index 66c89df51fb8f8ac5d209f49457c81b285308137..1390f41425f1abd4c330465f1a688336972b19a4 100644 (file)
@@ -2175,6 +2175,21 @@ static void b43_mgmtframe_txantenna(struct b43_wldev *dev, int antenna)
        b43_shm_write16(dev, B43_SHM_SHARED, B43_SHM_SH_PRPHYCTL, tmp);
 }
 
+/* Returns TRUE, if the radio is enabled in hardware. */
+static bool b43_is_hw_radio_enabled(struct b43_wldev *dev)
+{
+       if (dev->phy.rev >= 3) {
+               if (!(b43_read32(dev, B43_MMIO_RADIO_HWENABLED_HI)
+                     & B43_MMIO_RADIO_HWENABLED_HI_MASK))
+                       return 1;
+       } else {
+               if (b43_read16(dev, B43_MMIO_RADIO_HWENABLED_LO)
+                   & B43_MMIO_RADIO_HWENABLED_LO_MASK)
+                       return 1;
+       }
+       return 0;
+}
+
 /* This is the opposite of b43_chip_init() */
 static void b43_chip_exit(struct b43_wldev *dev)
 {
@@ -2214,7 +2229,7 @@ static int b43_chip_init(struct b43_wldev *dev)
        b43_radio_turn_on(dev);
        dev->radio_hw_enable = b43_is_hw_radio_enabled(dev);
        b43dbg(dev->wl, "Radio %s by hardware\n",
-              (dev->radio_hw_enable == 0) ? "disabled" : "enabled");
+              dev->radio_hw_enable ? "enabled" : "disabled");
 
        b43_write16(dev, 0x03E6, 0x0000);
        err = b43_phy_init(dev);
@@ -2373,14 +2388,14 @@ static void b43_periodic_every15sec(struct b43_wldev *dev)
 
 static void b43_periodic_every1sec(struct b43_wldev *dev)
 {
-       int radio_hw_enable;
+       bool radio_hw_enable;
 
        /* check if radio hardware enabled status changed */
        radio_hw_enable = b43_is_hw_radio_enabled(dev);
        if (unlikely(dev->radio_hw_enable != radio_hw_enable)) {
                dev->radio_hw_enable = radio_hw_enable;
-               b43dbg(dev->wl, "Radio hardware status changed to %s\n",
-                      (radio_hw_enable == 0) ? "disabled" : "enabled");
+               b43info(dev->wl, "Radio hardware status changed to %s\n",
+                       radio_hw_enable ? "ENABLED" : "DISABLED");
                b43_leds_update(dev, 0);
        }
 }