Commit 6c230c02 authored by Samuel Ortiz's avatar Samuel Ortiz Committed by John W. Linville

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: default avatarSamuel Ortiz <samuel.ortiz@intel.com>
Acked-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent e47a5cdd
...@@ -1136,8 +1136,11 @@ int cfg80211_wext_giwrate(struct net_device *dev, ...@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment