Message ID | d4d1340a176aee1e58ffe80e83ddc3394f2829e3.1389975095.git.gamerh2o@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On 01/17/2014 10:17 AM, ZHAO Gang wrote: > 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. > > Cc: <stable@vger.kernel.org> > Fixes: 8318d78a44d4 ("cfg80211 API for channels/bitrates, mac80211 > and driver conversion") > Signed-off-by: ZHAO Gang <gamerh2o@gmail.com> > --- This patch seems to fix a problem that caused scanning under NetworkManager to fail. The symptom was that no available networks were seen in the NM applet after a connection was made. Now the available AP list remains populated. Acked-by: Larry Finger <Larry.Finger@lwfinger.net> Larry -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
2014/1/17 ZHAO Gang <gamerh2o@gmail.com>: > 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. Zhao: this fix is great. My development machine was running some ancient distro with kernel 2.6.22, so I couldn't test it earlier. For a long time I got problem with finding AP on channel 13. I reported it in: cfg80211: use DS or HT operation IEs to determine BSS channel" I did 10 tests *without* your patch. wpa_supplicant had to scan 43, 33, 7, 2, 46, 12, 7, 32, 6, 6 times to find my AP on channel 13. With your patch wpa_supplicant finds it in scanning results after the first try! Thanks a lot for finding and fixing it! [0] http://lists.infradead.org/pipermail/b43-dev/2013-March/003003.html -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/b43/xmit.c b/drivers/net/wireless/b43/xmit.c index 4ae63f4..50e5ddb 100644 --- a/drivers/net/wireless/b43/xmit.c +++ b/drivers/net/wireless/b43/xmit.c @@ -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:
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. Cc: <stable@vger.kernel.org> Fixes: 8318d78a44d4 ("cfg80211 API for channels/bitrates, mac80211 and driver conversion") Signed-off-by: ZHAO Gang <gamerh2o@gmail.com> --- v4: change commit message suggested by Johannes Berg drivers/net/wireless/b43/xmit.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)