#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>
        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)
 {
        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;
 }
 
 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);