diff options
author | Abhijeet Kolekar <abhijeet.kolekar@intel.com> | 2008-05-23 10:15:26 -0700 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-28 16:43:46 -0400 |
commit | d4231ca3e162387a2b6964dacaa83604e065c4e9 (patch) | |
tree | dfb289e314ac7475c778a3ea8d3050d4652c31b1 /net | |
parent | 633257d3db547e7553500f05e0aa2692c876d7a5 (diff) | |
download | op-kernel-dev-d4231ca3e162387a2b6964dacaa83604e065c4e9.zip op-kernel-dev-d4231ca3e162387a2b6964dacaa83604e065c4e9.tar.gz |
mac80211 : Fixes the status message for iwconfig
iwconfig was showing incorrect status messages when disassociated.
Patch fixes this by always checking for association status in
ioctl calls for getting ap address.
Signed-off-by: Abhijeet Kolekar <abhijeet.kolekar@intel.com>
Acked-by: Dan Williams <dcbw@redhat.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/wext.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/mac80211/wext.c b/net/mac80211/wext.c index 457ebf9..8311bb2 100644 --- a/net/mac80211/wext.c +++ b/net/mac80211/wext.c @@ -489,9 +489,14 @@ static int ieee80211_ioctl_giwap(struct net_device *dev, sdata = IEEE80211_DEV_TO_SUB_IF(dev); if (sdata->vif.type == IEEE80211_IF_TYPE_STA || sdata->vif.type == IEEE80211_IF_TYPE_IBSS) { - ap_addr->sa_family = ARPHRD_ETHER; - memcpy(&ap_addr->sa_data, sdata->u.sta.bssid, ETH_ALEN); - return 0; + if (sdata->u.sta.state == IEEE80211_ASSOCIATED) { + ap_addr->sa_family = ARPHRD_ETHER; + memcpy(&ap_addr->sa_data, sdata->u.sta.bssid, ETH_ALEN); + return 0; + } else { + memset(&ap_addr->sa_data, 0, ETH_ALEN); + return 0; + } } else if (sdata->vif.type == IEEE80211_IF_TYPE_WDS) { ap_addr->sa_family = ARPHRD_ETHER; memcpy(&ap_addr->sa_data, sdata->u.wds.remote_addr, ETH_ALEN); |