--- /dev/null
+--- 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
+ }
+ }
+
+- if ((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);
+
/********/
--- a/drivers/net/wireless/ath/ath9k/main.c
+++ b/drivers/net/wireless/ath/ath9k/main.c
-@@ -1800,6 +1800,27 @@ static int ath9k_sta_remove(struct ieee8
+@@ -1792,6 +1792,27 @@ static int ath9k_sta_remove(struct ieee8
return 0;
}
static int ath9k_conf_tx(struct ieee80211_hw *hw, u16 queue,
const struct ieee80211_tx_queue_params *params)
{
-@@ -2206,6 +2227,7 @@ struct ieee80211_ops ath9k_ops = {
+@@ -2198,6 +2219,7 @@ struct ieee80211_ops ath9k_ops = {
.configure_filter = ath9k_configure_filter,
.sta_add = ath9k_sta_add,
.sta_remove = ath9k_sta_remove,