In the case that user-initiated request is dropped because it has the
same alpha2 as last request, which could be from driver, save
user_alpah2[2], so that correct user_alpha2 can be restored in the
case of disassociation.

Signed-off-by: Wei Zhong <[email protected]>
---
 net/wireless/reg.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 91ef82b..9019617 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1534,6 +1534,11 @@ static int __regulatory_hint(struct wiphy *wiphy,
                }
                intersect = true;
        } else if (r) {
+               /* Save alpha2 if initiated from user in case the request is 
dropped. */
+               if (pending_request->initiator == NL80211_REGDOM_SET_BY_USER) {
+                       user_alpha2[0] = pending_request->alpha2[0];
+                       user_alpha2[1] = pending_request->alpha2[1];
+               }
                /*
                 * If the regulatory domain being requested by the
                 * driver has already been set just copy it to the
-- 
2.4.3.573.g4eafbef

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to