On Mon, 2016-08-08 at 10:06 +0300, Yaniv Machani wrote:
From: Meirav Kama <redacted>
MP received data frames from another MP. Frames are forwarded
from Rx to Tx to be transmitted to a third MP.
Upon cloning the skb, the tx_info was zeroed, and the
hw_queue wasn't set correctly, causing frames to be
inserted to queue 0 (VOICE). If re-queue occurred for some
reason, frame will be inserted to correct queue 2 (BE).
In this case frames are now dequeued from 2 different queues and
sent out of order.
Uh, sorry. I was so focused on the commit message and everything that I
neglected to look into the code change ... :(
info->control.jiffies = jiffies;
+ info->hw_queue = q;
This is incorrect. 'q' appears to be the AC here, so you need to set
something like vif->hw_queue[q], afaict? Check out tx.c where this is
set.
johannes