static void handle_channel_custom(struct wiphy *wiphy,
                                  struct ieee80211_channel *chan,
-                                 const struct ieee80211_regdomain *regd)
+                                 const struct ieee80211_regdomain *regd,
+                                 u32 min_bw)
 {
        u32 bw_flags = 0;
        const struct ieee80211_reg_rule *reg_rule = NULL;
        const struct ieee80211_power_rule *power_rule = NULL;
        u32 bw;
 
-       for (bw = MHZ_TO_KHZ(20); bw >= MHZ_TO_KHZ(5); bw = bw / 2) {
+       for (bw = MHZ_TO_KHZ(20); bw >= min_bw; bw = bw / 2) {
                reg_rule = freq_reg_info_regd(MHZ_TO_KHZ(chan->center_freq),
                                              regd, bw);
                if (!IS_ERR(reg_rule))
        if (!sband)
                return;
 
+       /*
+        * We currently assume that you always want at least 20 MHz,
+        * otherwise channel 12 might get enabled if this rule is
+        * compatible to US, which permits 2402 - 2472 MHz.
+        */
        for (i = 0; i < sband->n_channels; i++)
-               handle_channel_custom(wiphy, &sband->channels[i], regd);
+               handle_channel_custom(wiphy, &sband->channels[i], regd,
+                                     MHZ_TO_KHZ(20));
 }
 
 /* Used by drivers prior to wiphy registration */