diff options
Diffstat (limited to 'net/wireless/reg.c')
-rw-r--r-- | net/wireless/reg.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 6ea626b30a2a..08d3da2c70ab 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c | |||
@@ -2189,10 +2189,15 @@ static int __set_regdom(const struct ieee80211_regdomain *rd) | |||
2189 | * However if a driver requested this specific regulatory | 2189 | * However if a driver requested this specific regulatory |
2190 | * domain we keep it for its private use | 2190 | * domain we keep it for its private use |
2191 | */ | 2191 | */ |
2192 | if (lr->initiator == NL80211_REGDOM_SET_BY_DRIVER) | 2192 | if (lr->initiator == NL80211_REGDOM_SET_BY_DRIVER) { |
2193 | const struct ieee80211_regdomain *tmp; | ||
2194 | |||
2195 | tmp = get_wiphy_regdom(request_wiphy); | ||
2193 | rcu_assign_pointer(request_wiphy->regd, rd); | 2196 | rcu_assign_pointer(request_wiphy->regd, rd); |
2194 | else | 2197 | rcu_free_regdom(tmp); |
2198 | } else { | ||
2195 | kfree(rd); | 2199 | kfree(rd); |
2200 | } | ||
2196 | 2201 | ||
2197 | rd = NULL; | 2202 | rd = NULL; |
2198 | 2203 | ||