b43: fix frequency reporting, fixes scan issues

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41154
lede-17.01
Felix Fietkau 2014-06-12 11:41:04 +00:00
parent e64f122023
commit f2e5a82296
1 changed files with 25 additions and 0 deletions

View 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 commit d3a58df87a2e4c2301ac843604202d290a48440b
Author: Avraham Stern <avraham.stern@intel.com> Author: Avraham Stern <avraham.stern@intel.com>
Date: Thu May 22 12:17:47 2014 +0300 Date: Thu May 22 12:17:47 2014 +0300
@ -2750,3 +2756,22 @@ Date: Mon May 19 21:20:49 2014 +0200
rtnl_unlock(); rtnl_unlock();
return ret; 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: