diff options
| author | Adrian Chadd <adrian@FreeBSD.org> | 2012-06-14 04:01:25 +0000 |
|---|---|---|
| committer | Adrian Chadd <adrian@FreeBSD.org> | 2012-06-14 04:01:25 +0000 |
| commit | 447fd44a6f8d8715cacb71bafd57e94b9db3dfe8 (patch) | |
| tree | bdd07101be0688845c2ea0662fcf12d4aa2020ca /sys/dev | |
| parent | d39655d7a4895827b0c5ce4b1f78ef3bc7df9f42 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ath/if_ath_tx.c | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sys/dev/ath/if_ath_tx.c b/sys/dev/ath/if_ath_tx.c index cf63f1cea2ba..3dfe17cddbd3 100644 --- a/sys/dev/ath/if_ath_tx.c +++ b/sys/dev/ath/if_ath_tx.c @@ -1308,7 +1308,28 @@ ath_tx_normal_setup(struct ath_softc *sc, struct ieee80211_node *ni, return EIO; } - /* Check if the TXQ wouldn't match what the hardware TXQ is! */ + /* + * There are two known scenarios where the frame AC doesn't match + * what the destination TXQ is. + * + * + non-QoS frames (eg management?) that the net80211 stack has + * assigned a higher AC to, but since it's a non-QoS TID, it's + * being thrown into TID 16. TID 16 gets the AC_BE queue. + * It's quite possible that management frames should just be + * direct dispatched to hardware rather than go via the software + * queue; that should be investigated in the future. There are + * some specific scenarios where this doesn't make sense, mostly + * surrounding ADDBA request/response - hence why that is special + * cased. + * + * + Multicast frames going into the VAP mcast queue. That shows up + * as "TXQ 11". + * + * This driver should eventually support separate TID and TXQ locking, + * allowing for arbitrary AC frames to appear on arbitrary software + * queues, being queued to the "correct" hardware queue when needed. + */ +#if 0 if (txq != sc->sc_ac2q[pri]) { device_printf(sc->sc_dev, "%s: txq=%p (%d), pri=%d, pri txq=%p (%d)\n", @@ -1319,6 +1340,7 @@ ath_tx_normal_setup(struct ath_softc *sc, struct ieee80211_node *ni, sc->sc_ac2q[pri], sc->sc_ac2q[pri]->axq_qnum); } +#endif /* * Calculate miscellaneous flags. |
