mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-28 22:02:25 +02:00
cfg80211: revert upstream regdomain handling breakage
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26752 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
4feb070323
commit
9df10a215d
63
package/mac80211/patches/300-revert_regd_breakage.patch
Normal file
63
package/mac80211/patches/300-revert_regd_breakage.patch
Normal file
@ -0,0 +1,63 @@
|
||||
--- a/net/wireless/reg.c
|
||||
+++ b/net/wireless/reg.c
|
||||
@@ -107,9 +107,6 @@ struct reg_beacon {
|
||||
static void reg_todo(struct work_struct *work);
|
||||
static DECLARE_WORK(reg_work, reg_todo);
|
||||
|
||||
-static void reg_timeout_work(struct work_struct *work);
|
||||
-static DECLARE_DELAYED_WORK(reg_timeout, reg_timeout_work);
|
||||
-
|
||||
/* We keep a static world regulatory domain in case of the absence of CRDA */
|
||||
static const struct ieee80211_regdomain world_regdom = {
|
||||
.n_reg_rules = 5,
|
||||
@@ -1334,9 +1331,6 @@ static void reg_set_request_processed(vo
|
||||
need_more_processing = true;
|
||||
spin_unlock(®_requests_lock);
|
||||
|
||||
- if (last_request->initiator == NL80211_REGDOM_SET_BY_USER)
|
||||
- cancel_delayed_work_sync(®_timeout);
|
||||
-
|
||||
if (need_more_processing)
|
||||
schedule_work(®_work);
|
||||
}
|
||||
@@ -1447,17 +1441,8 @@ static void reg_process_hint(struct regu
|
||||
r = __regulatory_hint(wiphy, reg_request);
|
||||
/* This is required so that the orig_* parameters are saved */
|
||||
if (r == -EALREADY && wiphy &&
|
||||
- wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY) {
|
||||
+ wiphy->flags & WIPHY_FLAG_STRICT_REGULATORY)
|
||||
wiphy_update_regulatory(wiphy, initiator);
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- /*
|
||||
- * We only time out user hints, given that they should be the only
|
||||
- * source of bogus requests.
|
||||
- */
|
||||
- if (reg_request->initiator == NL80211_REGDOM_SET_BY_USER)
|
||||
- schedule_delayed_work(®_timeout, msecs_to_jiffies(3142));
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2185,13 +2170,6 @@ out:
|
||||
mutex_unlock(®_mutex);
|
||||
}
|
||||
|
||||
-static void reg_timeout_work(struct work_struct *work)
|
||||
-{
|
||||
- REG_DBG_PRINT("Timeout while waiting for CRDA to reply, "
|
||||
- "restoring regulatory settings");
|
||||
- restore_regulatory_settings(true);
|
||||
-}
|
||||
-
|
||||
int __init regulatory_init(void)
|
||||
{
|
||||
int err = 0;
|
||||
@@ -2245,7 +2223,6 @@ void /* __init_or_exit */ regulatory_exi
|
||||
struct reg_beacon *reg_beacon, *btmp;
|
||||
|
||||
cancel_work_sync(®_work);
|
||||
- cancel_delayed_work_sync(®_timeout);
|
||||
|
||||
mutex_lock(&cfg80211_mutex);
|
||||
mutex_lock(®_mutex);
|
@ -1,6 +1,6 @@
|
||||
--- a/net/wireless/reg.c
|
||||
+++ b/net/wireless/reg.c
|
||||
@@ -1644,6 +1644,8 @@ void regulatory_hint_11d(struct wiphy *w
|
||||
@@ -1629,6 +1629,8 @@ void regulatory_hint_11d(struct wiphy *w
|
||||
enum environment_cap env = ENVIRON_ANY;
|
||||
struct regulatory_request *request;
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
mutex_lock(®_mutex);
|
||||
|
||||
if (unlikely(!last_request))
|
||||
@@ -1850,6 +1852,8 @@ static void restore_regulatory_settings(
|
||||
@@ -1835,6 +1837,8 @@ static void restore_regulatory_settings(
|
||||
|
||||
void regulatory_hint_disconnect(void)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user