ath9k: fix the assignment of hw queues for mesh interface
authorChun-Yeow Yeoh <yeohchunyeow@gmail.com>
Wed, 12 Nov 2014 08:40:19 +0000 (16:40 +0800)
committerJohn W. Linville <linville@tuxdriver.com>
Mon, 17 Nov 2014 20:32:14 +0000 (15:32 -0500)
We need to assign the hw queues for mesh interface. Otherwise,
we are not able to bring up the mesh interface due to the
IEEE80211_INVAL_HW_QUEUE error.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/main.c

index 1a88614..6aed6a2 100644 (file)
@@ -1185,7 +1185,8 @@ static void ath9k_assign_hw_queues(struct ieee80211_hw *hw,
        for (i = 0; i < IEEE80211_NUM_ACS; i++)
                vif->hw_queue[i] = i;
 
-       if (vif->type == NL80211_IFTYPE_AP)
+       if (vif->type == NL80211_IFTYPE_AP ||
+           vif->type == NL80211_IFTYPE_MESH_POINT)
                vif->cab_queue = hw->queues - 2;
        else
                vif->cab_queue = IEEE80211_INVAL_HW_QUEUE;