Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9d3c05c authored by Johannes Berg's avatar Johannes Berg Committed by John W. Linville
Browse files

mac80211: fix single queue drivers



My queue management rework broke drivers that don't
have multiple AC queues and register a single queue
only, causing a warning:

WARNING: at net/mac80211/iface.c:162 ieee80211_check_queues

This was due to filling the queues wrongly and then
noticing the error when checking later.

Reported-and-Tested-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 044e68c0
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -206,8 +206,10 @@ static void ieee80211_set_default_queues(struct ieee80211_sub_if_data *sdata)
	for (i = 0; i < IEEE80211_NUM_ACS; i++) {
	for (i = 0; i < IEEE80211_NUM_ACS; i++) {
		if (local->hw.flags & IEEE80211_HW_QUEUE_CONTROL)
		if (local->hw.flags & IEEE80211_HW_QUEUE_CONTROL)
			sdata->vif.hw_queue[i] = IEEE80211_INVAL_HW_QUEUE;
			sdata->vif.hw_queue[i] = IEEE80211_INVAL_HW_QUEUE;
		else
		else if (local->hw.queues >= IEEE80211_NUM_ACS)
			sdata->vif.hw_queue[i] = i;
			sdata->vif.hw_queue[i] = i;
		else
			sdata->vif.hw_queue[i] = 0;
	}
	}
	sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE;
	sdata->vif.cab_queue = IEEE80211_INVAL_HW_QUEUE;
}
}