b43: fix frequency reporting, fixes scan issues
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 12 Jun 2014 11:41:04 +0000 (11:41 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 12 Jun 2014 11:41:04 +0000 (11:41 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@41154 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/kernel/mac80211/patches/300-pending_work.patch

index 3305388..c85968d 100644 (file)
@@ -1,3 +1,9 @@
+commit 5f313a15da92dda80ac4c9a137bc42d7d0b49adf
+Author: Rafał Miłecki <zajec5@gmail.com>
+Date:   Thu Jun 12 09:28:38 2014 +0200
+
+    b43: fix frequency reported on G-PHY with /new/ firmware
+
 commit d3a58df87a2e4c2301ac843604202d290a48440b
 Author: Avraham Stern <avraham.stern@intel.com>
 Date:   Thu May 22 12:17:47 2014 +0300
@@ -2750,3 +2756,22 @@ Date:   Mon May 19 21:20:49 2014 +0200
        rtnl_unlock();
  
        return ret;
+--- a/drivers/net/wireless/b43/xmit.c
++++ b/drivers/net/wireless/b43/xmit.c
+@@ -811,9 +811,13 @@ void b43_rx(struct b43_wldev *dev, struc
+               break;
+       case B43_PHYTYPE_G:
+               status.band = IEEE80211_BAND_2GHZ;
+-              /* chanid is the radio channel cookie value as used
+-               * to tune the radio. */
+-              status.freq = chanid + 2400;
++              /* Somewhere between 478.104 and 508.1084 firmware for G-PHY
++               * has been modified to be compatible with N-PHY and others.
++               */
++              if (dev->fw.rev >= 508)
++                      status.freq = ieee80211_channel_to_frequency(chanid, status.band);
++              else
++                      status.freq = chanid + 2400;
+               break;
+       case B43_PHYTYPE_N:
+       case B43_PHYTYPE_LP: