cfg80211: check for current_bss from giwrate
When connecting to an ESSID manually, we may not set the BSSID, and thus wdev->wext.connect.bssid will be NULL. wdev->current_bss is always updated when a connection is established so we should check it first. Signed-off-by: Samuel Ortiz <samuel.ortiz@intel.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
e47a5cddf8
commit
6c230c0270
|
@ -1136,8 +1136,11 @@ int cfg80211_wext_giwrate(struct net_device *dev,
|
||||||
if (!rdev->ops->get_station)
|
if (!rdev->ops->get_station)
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
addr = wdev->wext.connect.bssid;
|
if (wdev->current_bss)
|
||||||
if (!addr)
|
addr = wdev->current_bss->pub.bssid;
|
||||||
|
else if (wdev->wext.connect.bssid)
|
||||||
|
addr = wdev->wext.connect.bssid;
|
||||||
|
else
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
err = rdev->ops->get_station(&rdev->wiphy, dev, addr, &sinfo);
|
err = rdev->ops->get_station(&rdev->wiphy, dev, addr, &sinfo);
|
||||||
|
|
Loading…
Reference in New Issue