diff --git a/net/wireless/reg.c b/net/wireless/reg.c index a45d07a4b47a..b99215db7a5f 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -1384,22 +1384,13 @@ get_reg_request_treatment(struct wiphy *wiphy, } return 0; case NL80211_REGDOM_SET_BY_DRIVER: - if (lr->initiator == NL80211_REGDOM_SET_BY_CORE) { - if (regdom_changes(pending_request->alpha2)) - return REG_REQ_OK; - return REG_REQ_ALREADY_SET; - } - /* - * This would happen if you unplug and plug your card - * back in or if you add a new device for which the previously - * loaded card also agrees on the regulatory domain. - */ - if (lr->initiator == NL80211_REGDOM_SET_BY_DRIVER && - !regdom_changes(pending_request->alpha2)) + if (!regdom_changes(pending_request->alpha2)) return REG_REQ_ALREADY_SET; - - return REG_REQ_INTERSECT; + if (lr->initiator == NL80211_REGDOM_SET_BY_USER) + return REG_REQ_INTERSECT; + else + return REG_REQ_OK; case NL80211_REGDOM_SET_BY_USER: if (reg_request_cell_base(pending_request)) return reg_ignore_cell_hint(pending_request);