Date:2011-04-25 20:21:28 (2 years 27 days ago)
Author:nbd
Commit:9df10a215d105e40febcec1d21a01780c28d4361
Message:cfg80211: revert upstream regdomain handling breakage

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26752 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: package/mac80211/patches/300-revert_regd_breakage.patch (1 diff)
package/mac80211/patches/406-regd_no_assoc_hints.patch (2 diffs)

Change Details

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(&reg_requests_lock);
15
16- if (last_request->initiator == NL80211_REGDOM_SET_BY_USER)
17- cancel_delayed_work_sync(&reg_timeout);
18-
19     if (need_more_processing)
20         schedule_work(&reg_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(&reg_timeout, msecs_to_jiffies(3142));
38 }
39
40 /*
41@@ -2185,13 +2170,6 @@ out:
42     mutex_unlock(&reg_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(&reg_work);
59- cancel_delayed_work_sync(&reg_timeout);
60
61     mutex_lock(&cfg80211_mutex);
62     mutex_lock(&reg_mutex);
package/mac80211/patches/406-regd_no_assoc_hints.patch
11--- a/net/wireless/reg.c
22+++ 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
44     enum environment_cap env = ENVIRON_ANY;
55     struct regulatory_request *request;
66
...... 
99     mutex_lock(&reg_mutex);
1010
1111     if (unlikely(!last_request))
12@@ -1850,6 +1852,8 @@ static void restore_regulatory_settings(
12@@ -1835,6 +1837,8 @@ static void restore_regulatory_settings(
1313
1414 void regulatory_hint_disconnect(void)
1515 {

Archive Download the corresponding diff file



interactive