Also, could the queue management code be abstracted into a separate
module, so it can be replaced, like a qdisc? I don’t know if the
disparity between hardware makes this too difficult or not…
Well it's abstracted into mac80211 so all wireless drivers can use it
(theoretically; right now only ath9k, ath10k and the not-yet-merged mt76
do). Making it more generic than that is not possible, since it's tied
to the mac80211 data structures. Which is kinda the point; the whole
problem was that a "generic layer" (the qdisc) didn't work well
enough...