b43: fix the wrong assignment of status.freq in b43_rx()
authorZHAO Gang <gamerh2o@gmail.com>
Fri, 17 Jan 2014 16:17:38 +0000 (00:17 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 6 Feb 2014 19:08:14 +0000 (11:08 -0800)
commit 64e5acb09ca6b50c97299cff9ef51299470b29f2 upstream.

Use the right function to update frequency value.

If rx skb is probe response or beacon, the wrong frequency value can
cause problem that bss info can't be updated when it should be.

Fixes: 8318d78a44d4 ("cfg80211 API for channels/bitrates, mac80211 and driver conversion")
Signed-off-by: ZHAO Gang <gamerh2o@gmail.com>
Acked-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wireless/b43/xmit.c

index 8cb206a89083aaa314868ef2c07b906181fe6689..e85d34b76039b3eb648f9b952a8ecacfc810065e 100644 (file)
@@ -821,10 +821,10 @@ void b43_rx(struct b43_wldev *dev, struct sk_buff *skb, const void *_rxhdr)
                 * channel number in b43. */
                if (chanstat & B43_RX_CHAN_5GHZ) {
                        status.band = IEEE80211_BAND_5GHZ;
-                       status.freq = b43_freq_to_channel_5ghz(chanid);
+                       status.freq = b43_channel_to_freq_5ghz(chanid);
                } else {
                        status.band = IEEE80211_BAND_2GHZ;
-                       status.freq = b43_freq_to_channel_2ghz(chanid);
+                       status.freq = b43_channel_to_freq_2ghz(chanid);
                }
                break;
        default: