From 071b036bb911ae6fdd087d1a139386cb5abf92be Mon Sep 17 00:00:00 2001 From: Johannes Berg Date: Wed, 20 Jul 2011 00:52:16 +0200 Subject: [PATCH] --- yaml --- r: 258511 b: refs/heads/master c: a401d2bb363d942245acdd81c5b5a754011696ee h: refs/heads/master i: 258509: ec1e9045a96389eccc9bb2544f8ed7303d196dcb 258507: fb32930a0f321cf0f6d61ed943132e96b988f501 258503: f5eaa9749e0697e92e9784587a34a1b38cf0f07b 258495: afa884cf93535ef837ca576f9e7ea47251e0d00b v: v3 --- [refs] | 2 +- trunk/net/wireless/nl80211.c | 4 +++- trunk/net/wireless/scan.c | 3 ++- trunk/net/wireless/util.c | 3 +++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 0d998526606e..62ca24db6e0a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 70126f6105f86366fd97644937ef2180b906b7c8 +refs/heads/master: a401d2bb363d942245acdd81c5b5a754011696ee diff --git a/trunk/net/wireless/nl80211.c b/trunk/net/wireless/nl80211.c index 20aa390cf338..28d2aa109bee 100644 --- a/trunk/net/wireless/nl80211.c +++ b/trunk/net/wireless/nl80211.c @@ -3454,7 +3454,9 @@ static int nl80211_trigger_scan(struct sk_buff *skb, struct genl_info *info) } for (i = 0; i < IEEE80211_NUM_BANDS; i++) - request->rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1; + if (wiphy->bands[i]) + request->rates[i] = + (1 << wiphy->bands[i]->n_bitrates) - 1; if (info->attrs[NL80211_ATTR_SCAN_SUPP_RATES]) { nla_for_each_nested(attr, diff --git a/trunk/net/wireless/scan.c b/trunk/net/wireless/scan.c index 1e7ff949d1aa..2936cb809152 100644 --- a/trunk/net/wireless/scan.c +++ b/trunk/net/wireless/scan.c @@ -863,7 +863,8 @@ int cfg80211_wext_siwscan(struct net_device *dev, } for (i = 0; i < IEEE80211_NUM_BANDS; i++) - creq->rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1; + if (wiphy->bands[i]) + creq->rates[i] = (1 << wiphy->bands[i]->n_bitrates) - 1; rdev->scan_req = creq; err = rdev->ops->scan(wiphy, dev, creq); diff --git a/trunk/net/wireless/util.c b/trunk/net/wireless/util.c index a329429bfdd8..be75a3a0424e 100644 --- a/trunk/net/wireless/util.c +++ b/trunk/net/wireless/util.c @@ -1013,6 +1013,9 @@ int ieee80211_get_ratemask(struct ieee80211_supported_band *sband, { int i, j; + if (!sband) + return -EINVAL; + if (n_rates == 0 || n_rates > NL80211_MAX_SUPP_RATES) return -EINVAL;