aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/rndis_wlan.c
diff options
context:
space:
mode:
authorJussi Kivilinna <jussi.kivilinna@mbnet.fi>2009-08-28 05:58:55 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-08-28 14:40:56 -0400
commitdb0dd396da45502e02c64c4153c5822ab5a59a5f (patch)
tree44284a1f3a1f45910e099f62a33790abfb14a87e /drivers/net/wireless/rndis_wlan.c
parent5f81ff5a7a12a9281d03be103382971ce490268e (diff)
rndis_wlan: get bssid scan list before new scan
OID_802_11_BSSID_LIST_SCAN clears device's bssid list, so retrieve current bssid list from device before issuing new scan. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rndis_wlan.c')
-rw-r--r--drivers/net/wireless/rndis_wlan.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c
index 612c2c75a997..37796210db55 100644
--- a/drivers/net/wireless/rndis_wlan.c
+++ b/drivers/net/wireless/rndis_wlan.c
@@ -926,6 +926,7 @@ static int freq_to_dsconfig(struct iw_freq *freq, unsigned int *dsconfig)
926 * common functions 926 * common functions
927 */ 927 */
928static void restore_keys(struct usbnet *usbdev); 928static void restore_keys(struct usbnet *usbdev);
929static int rndis_check_bssid_list(struct usbnet *usbdev);
929 930
930static int get_essid(struct usbnet *usbdev, struct ndis_80211_ssid *ssid) 931static int get_essid(struct usbnet *usbdev, struct ndis_80211_ssid *ssid)
931{ 932{
@@ -1616,6 +1617,11 @@ static int rndis_scan(struct wiphy *wiphy, struct net_device *dev,
1616 1617
1617 devdbg(usbdev, "cfg80211.scan"); 1618 devdbg(usbdev, "cfg80211.scan");
1618 1619
1620 /* Get current bssid list from device before new scan, as new scan
1621 * clears internal bssid list.
1622 */
1623 rndis_check_bssid_list(usbdev);
1624
1619 if (!request) 1625 if (!request)
1620 return -EINVAL; 1626 return -EINVAL;
1621 1627