X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/1d3c1135c3b2ae0c9b6e28dce78fd3e6b1a4d5a9..b8d5619ca8ac95b4a0365a7adcce4b0d9c7305ce:/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch diff --git a/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch b/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch index b03a0661c..0962406bc 100644 --- a/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch +++ b/package/mac80211/patches/410-ath9k_allow_adhoc_and_ap.patch @@ -1,17 +1,34 @@ --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c -@@ -1483,14 +1483,6 @@ static int ath9k_add_interface(struct ie +@@ -1432,15 +1432,6 @@ static int ath9k_add_interface(struct ie } } -- if ((vif->type == NL80211_IFTYPE_ADHOC) && -- sc->nvifs > 0) { +- if ((ah->opmode == NL80211_IFTYPE_ADHOC) || +- ((vif->type == NL80211_IFTYPE_ADHOC) && +- sc->nvifs > 0)) { - ath_err(common, "Cannot create ADHOC interface when other" - " interfaces already exist.\n"); - ret = -EINVAL; - goto out; - } - - ath_dbg(common, ATH_DBG_CONFIG, - "Attach a VIF of type: %d\n", vif->type); + ath_dbg(common, CONFIG, "Attach a VIF of type: %d\n", vif->type); + sc->nvifs++; +@@ -1465,15 +1456,6 @@ static int ath9k_change_interface(struct + mutex_lock(&sc->mutex); + ath9k_ps_wakeup(sc); + +- /* See if new interface type is valid. */ +- if ((new_type == NL80211_IFTYPE_ADHOC) && +- (sc->nvifs > 1)) { +- ath_err(common, "When using ADHOC, it must be the only" +- " interface.\n"); +- ret = -EINVAL; +- goto out; +- } +- + if (ath9k_uses_beacons(new_type) && + !ath9k_uses_beacons(vif->type)) { + if (sc->nbcnvifs >= ATH_BCBUF) {