diff options
Diffstat (limited to 'net/wireless/reg.c')
| -rw-r--r-- | net/wireless/reg.c | 22 | 
1 files changed, 12 insertions, 10 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index f180db0de66..d14bbf960c1 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -36,6 +36,7 @@  #include <linux/slab.h>  #include <linux/list.h>  #include <linux/random.h> +#include <linux/ctype.h>  #include <linux/nl80211.h>  #include <linux/platform_device.h>  #include <net/cfg80211.h> @@ -73,7 +74,11 @@ const struct ieee80211_regdomain *cfg80211_regdomain;   *     - last_request   */  static DEFINE_MUTEX(reg_mutex); -#define assert_reg_lock() WARN_ON(!mutex_is_locked(®_mutex)) + +static inline void assert_reg_lock(void) +{ +	lockdep_assert_held(®_mutex); +}  /* Used to queue up regulatory hints */  static LIST_HEAD(reg_requests_list); @@ -181,14 +186,6 @@ static bool is_alpha2_set(const char *alpha2)  	return false;  } -static bool is_alpha_upper(char letter) -{ -	/* ASCII A - Z */ -	if (letter >= 65 && letter <= 90) -		return true; -	return false; -} -  static bool is_unknown_alpha2(const char *alpha2)  {  	if (!alpha2) @@ -220,7 +217,7 @@ static bool is_an_alpha2(const char *alpha2)  {  	if (!alpha2)  		return false; -	if (is_alpha_upper(alpha2[0]) && is_alpha_upper(alpha2[1])) +	if (isalpha(alpha2[0]) && isalpha(alpha2[1]))  		return true;  	return false;  } @@ -1399,6 +1396,11 @@ static DECLARE_WORK(reg_work, reg_todo);  static void queue_regulatory_request(struct regulatory_request *request)  { +	if (isalpha(request->alpha2[0])) +		request->alpha2[0] = toupper(request->alpha2[0]); +	if (isalpha(request->alpha2[1])) +		request->alpha2[1] = toupper(request->alpha2[1]); +  	spin_lock(®_requests_lock);  	list_add_tail(&request->list, ®_requests_list);  	spin_unlock(®_requests_lock);  |