forked from Minki/linux
cfg80211: wext: don't display BSSID unless associated
Currently, cfg80211's SIOCGIWAP implementation returns the BSSID that the user set, even if the connection has since been dropped due to other changes. It only should return the current BSSID when actually connected. Also do a small code cleanup. Reported-by: Thomas H. Guenther <thomas.h.guenther@intel.com> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Tested-by: Thomas H. Guenther <thomas.h.guenther@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
d1f8297a96
commit
33de4f9d78
@ -229,8 +229,7 @@ int cfg80211_mgd_wext_giwessid(struct net_device *dev,
|
|||||||
data->flags = 1;
|
data->flags = 1;
|
||||||
data->length = wdev->wext.connect.ssid_len;
|
data->length = wdev->wext.connect.ssid_len;
|
||||||
memcpy(ssid, wdev->wext.connect.ssid, data->length);
|
memcpy(ssid, wdev->wext.connect.ssid, data->length);
|
||||||
} else
|
}
|
||||||
data->flags = 0;
|
|
||||||
wdev_unlock(wdev);
|
wdev_unlock(wdev);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -306,8 +305,6 @@ int cfg80211_mgd_wext_giwap(struct net_device *dev,
|
|||||||
wdev_lock(wdev);
|
wdev_lock(wdev);
|
||||||
if (wdev->current_bss)
|
if (wdev->current_bss)
|
||||||
memcpy(ap_addr->sa_data, wdev->current_bss->pub.bssid, ETH_ALEN);
|
memcpy(ap_addr->sa_data, wdev->current_bss->pub.bssid, ETH_ALEN);
|
||||||
else if (wdev->wext.connect.bssid)
|
|
||||||
memcpy(ap_addr->sa_data, wdev->wext.connect.bssid, ETH_ALEN);
|
|
||||||
else
|
else
|
||||||
memset(ap_addr->sa_data, 0, ETH_ALEN);
|
memset(ap_addr->sa_data, 0, ETH_ALEN);
|
||||||
wdev_unlock(wdev);
|
wdev_unlock(wdev);
|
||||||
|
Loading…
Reference in New Issue
Block a user