From 5c9bb16298f8c3af2c470d6dbe03dbd7f6e6e92f Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Fri, 10 Jul 2009 16:54:07 +0200 Subject: [PATCH] --- yaml --- r: 159087 b: refs/heads/master c: c56c5714f12808e3f702817e72a78dd12f1704eb h: refs/heads/master i: 159085: d849fa8b9e85ffabd65d1ad346e8e98c2946b29c 159083: 5b114c0fcd4b6145f0103f7cb8d2c1ca1718b559 159079: 3aa619cb636addb5bff28a703d352e0e50d42d14 159071: b27bc0f736bfc6f60b8dbbb2b8ec085e5dd58d25 v: v3 --- [refs] | 2 +- trunk/net/wireless/wext-compat.c | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 92d9824a2692..3dbf78e27a3c 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ca3dbc20d47ae43c201c215259d078e227bfcf01 +refs/heads/master: c56c5714f12808e3f702817e72a78dd12f1704eb diff --git a/trunk/net/wireless/wext-compat.c b/trunk/net/wireless/wext-compat.c index 5d0176338539..aa80c0c4efd4 100644 --- a/trunk/net/wireless/wext-compat.c +++ b/trunk/net/wireless/wext-compat.c @@ -1209,7 +1209,7 @@ struct iw_statistics *cfg80211_wireless_stats(struct net_device *dev) /* we are under RTNL - globally locked - so can use static structs */ static struct iw_statistics wstats; static struct station_info sinfo; - u8 *addr; + u8 bssid[ETH_ALEN]; if (dev->ieee80211_ptr->iftype != NL80211_IFTYPE_STATION) return NULL; @@ -1217,11 +1217,16 @@ struct iw_statistics *cfg80211_wireless_stats(struct net_device *dev) if (!rdev->ops->get_station) return NULL; - addr = wdev->wext.connect.bssid; - if (!addr) + /* Grab BSSID of current BSS, if any */ + wdev_lock(wdev); + if (!wdev->current_bss) { + wdev_unlock(wdev); return NULL; + } + memcpy(bssid, wdev->current_bss->pub.bssid, ETH_ALEN); + wdev_unlock(wdev); - if (rdev->ops->get_station(&rdev->wiphy, dev, addr, &sinfo)) + if (rdev->ops->get_station(&rdev->wiphy, dev, bssid, &sinfo)) return NULL; memset(&wstats, 0, sizeof(wstats));