Toke Høiland-Jørgensen writes: > The TXQ intermediate queues can cause packet reordering when more than > one flow is active to a single station. Since some of the wifi-specific > packet handling (notably sequence number and encryption handling) is > sensitive to re-ordering, things break if they are applied before the > TXQ. > > This splits up the TX handlers and fast_xmit logic into two parts: An > early part and a late part. The former is applied before TXQ enqueue, > and the latter after dequeue. The non-TXQ path just applies both parts > at once. > > To avoid having to deal with fragmentation on dequeue, the split is set > to be after the fragmentation handler. This means that some reordering > of TX handlers is necessary, and some handlers had to be made aware of > fragmentation due to this reordering. > > This approach avoids having to scatter special cases for when TXQ is > enabled, at the cost of making the fast_xmit and TX handler code > slightly more complex. > > Signed-off-by: Toke Høiland-Jørgensen And here's a version suitable for dropping into a LEDE build... Just stick it in package/kernel/mac80211/patches. -Toke