On 6/21/2017 10:37 AM, Johannes Berg wrote:
On Wed, 2017-06-21 at 09:09 +0200, Johannes Berg wrote:
On Tue, 2017-06-20 at 21:19 -0700, Igor Mitsyanko wrote:

-       struct ieee80211_txq *txq[IEEE80211_NUM_TIDS];
+       struct ieee80211_txq *txq[IEEE80211_NUM_TIDS + 1];

Isn't that a little confusing? Wouldn't it be better to have a
separate  member for non-data txq and name it accordingly
(something
like  txq_nodata).

We do this trick in quite a number of places, so it shouldn't really
come as a surprise.

You have to handle it specially in most cases anyway I guess.
With this approach you won't have to replace ARRAY_SIZE(sta->txq)
by IEEE80211_NUM_TIDS anywhere.

Yeah, that would indeed be a good reason - I didn't realize the
ARRAY_SIZE() when I originally wrote the patch. And yes, I do need to
treat it specially - except then if it's separate I also have to
initialize it separately, so it's a bit of a trade-off.

I changed my mind on changing this, the allocation, initialization and
teardown etc. just gets much more complicated with doing that, needing
special cases in quite a number of places.

So for the sake of ath{9,10}k and possible future drivers you may want to document it clearly in mac80211.h(?), ie. when driver does not want a separate non-data txq they should use IEEE80211_NUM_TIDS.

Regards,
Arend

Reply via email to