From f2e5a82296b9edff2a8079d7c3c699889f851c78 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Thu, 12 Jun 2014 11:41:04 +0000 Subject: [PATCH] b43: fix frequency reporting, fixes scan issues Signed-off-by: Felix Fietkau SVN-Revision: 41154 --- .../mac80211/patches/300-pending_work.patch | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/package/kernel/mac80211/patches/300-pending_work.patch b/package/kernel/mac80211/patches/300-pending_work.patch index 33053884ec..c85968df3e 100644 --- a/package/kernel/mac80211/patches/300-pending_work.patch +++ b/package/kernel/mac80211/patches/300-pending_work.patch @@ -1,3 +1,9 @@ +commit 5f313a15da92dda80ac4c9a137bc42d7d0b49adf +Author: Rafał Miłecki +Date: Thu Jun 12 09:28:38 2014 +0200 + + b43: fix frequency reported on G-PHY with /new/ firmware + commit d3a58df87a2e4c2301ac843604202d290a48440b Author: Avraham Stern 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: -- 2.30.2