]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/mac80211/cfg.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wirel...
[karo-tx-linux.git] / net / mac80211 / cfg.c
index c41aaba839fa3be73fffbeeb521abd9ca51174f2..7dd7cda75cfa986cf7aa83b8d15719638f7d77bf 100644 (file)
@@ -1137,6 +1137,10 @@ static int ieee80211_set_txq_params(struct wiphy *wiphy,
                return -EINVAL;
        }
 
+       /* enable WMM or activate new settings */
+       local->hw.conf.flags |= IEEE80211_CONF_QOS;
+       drv_config(local, IEEE80211_CONF_CHANGE_QOS);
+
        return 0;
 }
 
@@ -1412,9 +1416,6 @@ static int ieee80211_set_cqm_rssi_config(struct wiphy *wiphy,
        struct ieee80211_vif *vif = &sdata->vif;
        struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
 
-       if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_CQM_RSSI))
-               return -EOPNOTSUPP;
-
        if (rssi_thold == bss_conf->cqm_rssi_thold &&
            rssi_hyst == bss_conf->cqm_rssi_hyst)
                return 0;
@@ -1422,6 +1423,12 @@ static int ieee80211_set_cqm_rssi_config(struct wiphy *wiphy,
        bss_conf->cqm_rssi_thold = rssi_thold;
        bss_conf->cqm_rssi_hyst = rssi_hyst;
 
+       if (!(local->hw.flags & IEEE80211_HW_SUPPORTS_CQM_RSSI)) {
+               if (sdata->vif.type != NL80211_IFTYPE_STATION)
+                       return -EOPNOTSUPP;
+               return 0;
+       }
+
        /* tell the driver upon association, unless already associated */
        if (sdata->u.mgd.associated)
                ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_CQM);