commit:     98204cb1f4b6dd3f6330a71927a6135bcc66d1b4
Author:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  5 23:58:43 2014 +0000
Commit:     Mike Pagano <mpagano <AT> gentoo <DOT> org>
CommitDate: Sat Jul  5 23:58:43 2014 +0000
URL:        
http://git.overlays.gentoo.org/gitweb/?p=proj/linux-patches.git;a=commit;h=98204cb1

Patch to fix frequency reported on G-PHY with /new/ firmware. See bug #516392

---
 0000_README               |  4 ++++
 2405_G-PHY-freq-fix.patch | 19 +++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/0000_README b/0000_README
index 5171464..236fcc9 100644
--- a/0000_README
+++ b/0000_README
@@ -63,6 +63,10 @@ Patch:  2400_kcopy-patch-for-infiniband-driver.patch
 From:   Alexey Shvetsov <ale...@gentoo.org>
 Desc:   Zero copy for infiniband psm userspace driver
 
+Patch:  2405_G-PHY-freq-fix.patch
+From:   https://bugs.gentoo.org/show_bug.cgi?id=516392
+Desc:   b43: fix frequency reported on G-PHY with /new/ firmware
+
 Patch:  2700_ThinkPad-30-brightness-control-fix.patch
 From:   Seth Forshee <seth.fors...@canonical.com>
 Desc:   ACPI: Disable Windows 8 compatibility for some Lenovo ThinkPads

diff --git a/2405_G-PHY-freq-fix.patch b/2405_G-PHY-freq-fix.patch
new file mode 100644
index 0000000..2777ced
--- /dev/null
+++ b/2405_G-PHY-freq-fix.patch
@@ -0,0 +1,19 @@
+--- a/drivers/net/wireless/b43/xmit.c  2014-07-05 18:58:29.992935369 -0400
++++ b/drivers/net/wireless/b43/xmit.c  2014-07-05 19:01:16.654933780 -0400
+@@ -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:

Reply via email to