b43: read PHY info only when needed (for PHY-A)
authorRafał Miłecki <zajec5@gmail.com>
Tue, 17 May 2011 17:19:39 +0000 (19:19 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Thu, 19 May 2011 17:54:09 +0000 (13:54 -0400)
We risk reading TMSHIGH register twice, but PHY-A are really rare and we
do not support them at the moment.

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

index 1bc40eb3e49a8845ba41190afcb0c29dd3c202da..fff14adb273f446499821d2c01ae28e33c3ec99f 100644 (file)
@@ -2118,7 +2118,6 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
        int err;
 
        /* Get microcode */
-       tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH);
        if ((rev >= 5) && (rev <= 10))
                filename = "ucode5";
        else if ((rev >= 11) && (rev <= 12))
@@ -2157,6 +2156,7 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
        switch (dev->phy.type) {
        case B43_PHYTYPE_A:
                if ((rev >= 5) && (rev <= 10)) {
+                       tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH);
                        if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY)
                                filename = "a0g1initvals5";
                        else
@@ -2201,6 +2201,7 @@ static int b43_try_request_fw(struct b43_request_fw_context *ctx)
        switch (dev->phy.type) {
        case B43_PHYTYPE_A:
                if ((rev >= 5) && (rev <= 10)) {
+                       tmshigh = ssb_read32(dev->sdev, SSB_TMSHIGH);
                        if (tmshigh & B43_TMSHIGH_HAVE_2GHZ_PHY)
                                filename = "a0g1bsinitvals5";
                        else