| package/mac80211/patches/300-revert_regd_breakage.patch |
| 1 | --- a/net/wireless/reg.c |
| 2 | @@ -107,9 +107,6 @@ struct reg_beacon { |
| 3 | static void reg_todo(struct work_struct *work); |
| 4 | static DECLARE_WORK(reg_work, reg_todo); |
| 5 | |
| 6 | -static void reg_timeout_work(struct work_struct *work); |
| 7 | -static DECLARE_DELAYED_WORK(reg_timeout, reg_timeout_work); |
| 8 | - |
| 9 | /* We keep a static world regulatory domain in case of the absence of CRDA */ |
| 10 | static const struct ieee80211_regdomain world_regdom = { |
| 11 | .n_reg_rules = 5, |
| 12 | @@ -1334,9 +1331,6 @@ static void reg_set_request_processed(vo |
| 13 | need_more_processing = true; |
| 14 | spin_unlock(®_requests_lock); |
| 15 | |
| 16 | - if (last_request->initiator == NL80211_REGDOM_SET_BY_USER) |
| 17 | - cancel_delayed_work_sync(®_timeout); |
| 18 | - |
| 19 | if (need_more_processing) |
| 20 | schedule_work(®_work); |
| 21 | } |
| 22 | @@ -1447,17 +1441,8 @@ static void reg_process_hint(struct regu |
| 23 | r = __regulatory_hint(wiphy, reg_request); |
| 24 | /* This is required so that the orig_* parameters are saved */ |
| 25 | if (r == -EALREADY && wiphy && |
| 26 | - wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY) { |
| 27 | + wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY) |
| 28 | wiphy_update_regulatory(wiphy, initiator); |
| 29 | - return; |
| 30 | - } |
| 31 | - |
| 32 | - /* |
| 33 | - * We only time out user hints, given that they should be the only |
| 34 | - * source of bogus requests. |
| 35 | - */ |
| 36 | - if (reg_request->initiator == NL80211_REGDOM_SET_BY_USER) |
| 37 | - schedule_delayed_work(®_timeout, msecs_to_jiffies(3142)); |
| 38 | } |
| 39 | |
| 40 | /* |
| 41 | @@ -2185,13 +2170,6 @@ out: |
| 42 | mutex_unlock(®_mutex); |
| 43 | } |
| 44 | |
| 45 | -static void reg_timeout_work(struct work_struct *work) |
| 46 | -{ |
| 47 | - REG_DBG_PRINT("Timeout while waiting for CRDA to reply, " |
| 48 | - "restoring regulatory settings"); |
| 49 | - restore_regulatory_settings(true); |
| 50 | -} |
| 51 | - |
| 52 | int __init regulatory_init(void) |
| 53 | { |
| 54 | int err = 0; |
| 55 | @@ -2245,7 +2223,6 @@ void /* __init_or_exit */ regulatory_exi |
| 56 | struct reg_beacon *reg_beacon, *btmp; |
| 57 | |
| 58 | cancel_work_sync(®_work); |
| 59 | - cancel_delayed_work_sync(®_timeout); |
| 60 | |
| 61 | mutex_lock(&cfg80211_mutex); |
| 62 | mutex_lock(®_mutex); |
| package/mac80211/patches/406-regd_no_assoc_hints.patch |
| 1 | 1 | --- a/net/wireless/reg.c |
| 2 | 2 | +++ b/net/wireless/reg.c |
| 3 | | @@ -1644,6 +1644,8 @@ void regulatory_hint_11d(struct wiphy *w |
| 3 | @@ -1629,6 +1629,8 @@ void regulatory_hint_11d(struct wiphy *w |
| 4 | 4 | enum environment_cap env = ENVIRON_ANY; |
| 5 | 5 | struct regulatory_request *request; |
| 6 | 6 | |
| ... | ... | |
| 9 | 9 | mutex_lock(®_mutex); |
| 10 | 10 | |
| 11 | 11 | if (unlikely(!last_request)) |
| 12 | | @@ -1850,6 +1852,8 @@ static void restore_regulatory_settings( |
| 12 | @@ -1835,6 +1837,8 @@ static void restore_regulatory_settings( |
| 13 | 13 | |
| 14 | 14 | void regulatory_hint_disconnect(void) |
| 15 | 15 | { |