From: Yuval Mintz <yuval.mi...@qlogic.com> Date: Tue, 16 Aug 2016 18:40:18 +0300
> Driver uses netif_tx_queue_stopped() to make sure the xmit_more > indication will be honored, but that only checks for DRV_XOFF. > > At the same time, it's possible that during transmission the DQL will > close the transmission queue with STACK_XOFF indication. > In re-configuration flows, when the threshold is relatively low, it's > possible that the device has no pending tranmissions, and during > tranmission the driver would miss doorbelling the HW. > Since there are no pending transmission, there will never be a Tx > completion [and thus the DQL would not remove the STACK_XOFF indication], > eventually causing the Tx queue to timeout. > > While we're at it - also doorbell in case driver has to close the > transmission queue on its own [although this one is less important - > if the ring is full, we're bound to receive completion eventually, > which means the doorbell would only be postponed and not indefinetly > blocked]. > > Fixes: 312e06761c99 ("qede: Utilize xmit_more") > Signed-off-by: Yuval Mintz <yuval.mi...@qlogic.com> Applied, thanks. > Do notice that we have pending patch intended for 'net-next' > ("qede: Add support for per-queue stats") that might cause a merge > conflict with this one - although it should be trivial to resolve. Ok.