diff options
Diffstat (limited to 'drivers/net/wireless/rndis_wlan.c')
-rw-r--r-- | drivers/net/wireless/rndis_wlan.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/net/wireless/rndis_wlan.c b/drivers/net/wireless/rndis_wlan.c index d11762011dc2..c5a674d8d1fb 100644 --- a/drivers/net/wireless/rndis_wlan.c +++ b/drivers/net/wireless/rndis_wlan.c | |||
@@ -921,6 +921,7 @@ static int freq_to_dsconfig(struct iw_freq *freq, unsigned int *dsconfig) | |||
921 | /* | 921 | /* |
922 | * common functions | 922 | * common functions |
923 | */ | 923 | */ |
924 | static int set_infra_mode(struct usbnet *usbdev, int mode); | ||
924 | static void restore_keys(struct usbnet *usbdev); | 925 | static void restore_keys(struct usbnet *usbdev); |
925 | static int rndis_check_bssid_list(struct usbnet *usbdev); | 926 | static int rndis_check_bssid_list(struct usbnet *usbdev); |
926 | 927 | ||
@@ -1014,6 +1015,11 @@ static int disassociate(struct usbnet *usbdev, int reset_ssid) | |||
1014 | /* disassociate causes radio to be turned off; if reset_ssid | 1015 | /* disassociate causes radio to be turned off; if reset_ssid |
1015 | * is given, set random ssid to enable radio */ | 1016 | * is given, set random ssid to enable radio */ |
1016 | if (reset_ssid) { | 1017 | if (reset_ssid) { |
1018 | /* Set device to infrastructure mode so we don't get ad-hoc | ||
1019 | * 'media connect' indications with the random ssid. | ||
1020 | */ | ||
1021 | set_infra_mode(usbdev, NDIS_80211_INFRA_INFRA); | ||
1022 | |||
1017 | ssid.length = cpu_to_le32(sizeof(ssid.essid)); | 1023 | ssid.length = cpu_to_le32(sizeof(ssid.essid)); |
1018 | get_random_bytes(&ssid.essid[2], sizeof(ssid.essid)-2); | 1024 | get_random_bytes(&ssid.essid[2], sizeof(ssid.essid)-2); |
1019 | ssid.essid[0] = 0x1; | 1025 | ssid.essid[0] = 0x1; |