ath9k: fold patches that were merged upstream into 300-pending_work.patch
[openwrt.git] / package / mac80211 / files / lib / wifi / mac80211.sh
index 386bda8..dbf13b8 100644 (file)
@@ -36,6 +36,11 @@ mac80211_hostapd_setup_base() {
                }
        }
 
+       local country_ie=0
+       [ -n "$country" ] && country_ie=1
+       config_get_bool country_ie "$device" country_ie "$country_ie"
+       [ "$country_ie" -gt 0 ] && append base_cfg "ieee80211d=1" "$N"
+
        config_get macfilter "$vif" macfilter
        case "$macfilter" in
                allow)
@@ -269,6 +274,9 @@ enable_mac80211() {
        fixed=""
        local hostapd_ctrl=""
 
+       config_get ath9k_chanbw "$device" ath9k_chanbw
+       [ -n "$ath9k_chanbw" -a -d /sys/kernel/debug/ieee80211/$phy/ath9k ] && echo "$ath9k_chanbw" > /sys/kernel/debug/ieee80211/$phy/ath9k/chanbw
+
        [ -n "$country" ] && iw reg set "$country"
        [ "$channel" = "auto" -o "$channel" = "0" ] || {
                fixed=1
@@ -452,7 +460,13 @@ enable_mac80211() {
                                                [ "$mcsub" -gt 0 ] && mcval="$mcval.$mcsub"
                                        }
 
-                                       iw dev "$ifname" ibss join "$ssid" $freq \
+                                       config_get htmode "$device" htmode
+                                       case "$htmode" in
+                                               HT20|HT40+|HT40-) ;;
+                                               *) htmode= ;;
+                                       esac
+
+                                       iw dev "$ifname" ibss join "$ssid" $freq $htmode \
                                                ${fixed:+fixed-freq} $bssid \
                                                ${beacon_int:+beacon-interval $beacon_int} \
                                                ${brstr:+basic-rates $brstr} \
@@ -477,7 +491,7 @@ enable_mac80211() {
 }
 
 
-check_device() {
+check_mac80211_device() {
        config_get phy "$1" phy
        [ -z "$phy" ] && {
                find_mac80211_phy "$1" >/dev/null || return 0
@@ -496,7 +510,7 @@ detect_mac80211() {
        done
        for dev in $(ls /sys/class/ieee80211); do
                found=0
-               config_foreach check_device wifi-device
+               config_foreach check_mac80211_device wifi-device
                [ "$found" -gt 0 ] && continue
 
                mode_11n=""
This page took 0.034209 seconds and 4 git commands to generate.