summaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-02-21 00:04:29 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:57 -0500
commit0441d6ffc705de17d85923264a1b03b71ebfccb8 (patch)
tree9f48d3453d9a54568e735fb1a81bf2622e390be8 /net/wireless
parent915278e099e532f3a874764e28c81958f788b9f1 (diff)
downloadlinux-0441d6ffc705de17d85923264a1b03b71ebfccb8.tar.bz2
cfg80211: free rd on unlikely event on 11d hint
This was never happening but it was still wrong, so correct it. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/reg.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index baf50cac6e0a..af762be3f0a1 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1341,7 +1341,7 @@ void regulatory_hint_11d(struct wiphy *wiphy,
* it as it would indicate a mistake in the current design
*/
if (WARN_ON(reg_same_country_ie_hint(wiphy, checksum)))
- goto out;
+ goto free_rd_out;
/* We keep this around for when CRDA comes back with a response so
* we can intersect with that */
@@ -1350,6 +1350,10 @@ void regulatory_hint_11d(struct wiphy *wiphy,
__regulatory_hint(wiphy, REGDOM_SET_BY_COUNTRY_IE,
country_ie_regdomain->alpha2, checksum, env);
+ goto out;
+
+free_rd_out:
+ kfree(rd);
out:
mutex_unlock(&cfg80211_mutex);
}