[RFC: which stable kernels?] b43: fix frequency reported on G-PHY with /new/ firmware
Emmanuel Grumbach
egrumbach at gmail.com
Thu Jun 12 00:35:47 PDT 2014
> ---
> This bug was there for years, however didn't cause any problems. It was
> exposed recently by the 3.15 release by the:
>
> commit 3afc2167f60a327a2c1e1e2600ef209a3c2b75b7
> Author: Emmanuel Grumbach <emmanuel.grumbach at intel.com>
> Date: Tue Mar 4 16:50:13 2014 +0200
>
> cfg80211/mac80211: ignore signal if the frame was heard on wrong channel
>
> Should we mark it for stable for 3.15 only? Or all olders kernels as well?
Up to you - my patch is in 3.15 only I think.
> ---
> drivers/net/wireless/b43/xmit.c | 10 +++++++---
> 1 file changed, 7 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/b43/xmit.c b/drivers/net/wireless/b43/xmit.c
> index 4f38f19..6e6ef3f 100644
> --- 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, struct sk_buff *skb, const void *_rxhdr)
> 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:
> --
> 1.8.4.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
More information about the b43-dev
mailing list