|
@@ -552,6 +552,9 @@ reg_call_crda(struct regulatory_request *request)
|
|
{
|
|
{
|
|
if (call_crda(request->alpha2))
|
|
if (call_crda(request->alpha2))
|
|
return REG_REQ_IGNORE;
|
|
return REG_REQ_IGNORE;
|
|
|
|
+
|
|
|
|
+ queue_delayed_work(system_power_efficient_wq,
|
|
|
|
+ ®_timeout, msecs_to_jiffies(3142));
|
|
return REG_REQ_OK;
|
|
return REG_REQ_OK;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1791,8 +1794,7 @@ static void reg_set_request_processed(void)
|
|
need_more_processing = true;
|
|
need_more_processing = true;
|
|
spin_unlock(®_requests_lock);
|
|
spin_unlock(®_requests_lock);
|
|
|
|
|
|
- if (lr->initiator == NL80211_REGDOM_SET_BY_USER)
|
|
|
|
- cancel_delayed_work(®_timeout);
|
|
|
|
|
|
+ cancel_delayed_work(®_timeout);
|
|
|
|
|
|
if (need_more_processing)
|
|
if (need_more_processing)
|
|
schedule_work(®_work);
|
|
schedule_work(®_work);
|
|
@@ -2071,8 +2073,6 @@ static void reg_process_hint(struct regulatory_request *reg_request)
|
|
if (treatment == REG_REQ_IGNORE ||
|
|
if (treatment == REG_REQ_IGNORE ||
|
|
treatment == REG_REQ_ALREADY_SET)
|
|
treatment == REG_REQ_ALREADY_SET)
|
|
return;
|
|
return;
|
|
- queue_delayed_work(system_power_efficient_wq,
|
|
|
|
- ®_timeout, msecs_to_jiffies(3142));
|
|
|
|
return;
|
|
return;
|
|
case NL80211_REGDOM_SET_BY_DRIVER:
|
|
case NL80211_REGDOM_SET_BY_DRIVER:
|
|
if (!wiphy)
|
|
if (!wiphy)
|
|
@@ -2496,7 +2496,6 @@ static void restore_regulatory_settings(bool reset_user)
|
|
char alpha2[2];
|
|
char alpha2[2];
|
|
char world_alpha2[2];
|
|
char world_alpha2[2];
|
|
struct reg_beacon *reg_beacon, *btmp;
|
|
struct reg_beacon *reg_beacon, *btmp;
|
|
- struct regulatory_request *reg_request, *tmp;
|
|
|
|
LIST_HEAD(tmp_reg_req_list);
|
|
LIST_HEAD(tmp_reg_req_list);
|
|
struct cfg80211_registered_device *rdev;
|
|
struct cfg80211_registered_device *rdev;
|
|
|
|
|
|
@@ -2524,11 +2523,7 @@ static void restore_regulatory_settings(bool reset_user)
|
|
* settings.
|
|
* settings.
|
|
*/
|
|
*/
|
|
spin_lock(®_requests_lock);
|
|
spin_lock(®_requests_lock);
|
|
- list_for_each_entry_safe(reg_request, tmp, ®_requests_list, list) {
|
|
|
|
- if (reg_request->initiator != NL80211_REGDOM_SET_BY_USER)
|
|
|
|
- continue;
|
|
|
|
- list_move_tail(®_request->list, &tmp_reg_req_list);
|
|
|
|
- }
|
|
|
|
|
|
+ list_splice_tail_init(®_requests_list, &tmp_reg_req_list);
|
|
spin_unlock(®_requests_lock);
|
|
spin_unlock(®_requests_lock);
|
|
|
|
|
|
/* Clear beacon hints */
|
|
/* Clear beacon hints */
|