aboutsummaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2012-06-14 04:01:25 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2012-06-14 04:01:25 +0000
commit447fd44a6f8d8715cacb71bafd57e94b9db3dfe8 (patch)
treebdd07101be0688845c2ea0662fcf12d4aa2020ca /sys/dev
parentd39655d7a4895827b0c5ce4b1f78ef3bc7df9f42 (diff)
Notes
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ath/if_ath_tx.c24
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.