aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/sme.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index dc1668ff543b..0ab3711c79a0 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -80,9 +80,18 @@ static int cfg80211_conn_scan(struct wireless_dev *wdev)
80 if (!request) 80 if (!request)
81 return -ENOMEM; 81 return -ENOMEM;
82 82
83 if (wdev->conn->params.channel) 83 if (wdev->conn->params.channel) {
84 enum ieee80211_band band = wdev->conn->params.channel->band;
85 struct ieee80211_supported_band *sband =
86 wdev->wiphy->bands[band];
87
88 if (!sband) {
89 kfree(request);
90 return -EINVAL;
91 }
84 request->channels[0] = wdev->conn->params.channel; 92 request->channels[0] = wdev->conn->params.channel;
85 else { 93 request->rates[band] = (1 << sband->n_bitrates) - 1;
94 } else {
86 int i = 0, j; 95 int i = 0, j;
87 enum ieee80211_band band; 96 enum ieee80211_band band;
88 struct ieee80211_supported_band *bands; 97 struct ieee80211_supported_band *bands;