]> git.baikalelectronics.ru Git - kernel.git/commit
sfc: stop the TX queue before pushing new buffers
authorMartin Habets <mhabets@solarflare.com>
Thu, 24 May 2018 09:14:00 +0000 (10:14 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 25 May 2018 18:49:37 +0000 (14:49 -0400)
commit06ceb1be7d87ef755502da00060fc6da5c8bab34
tree7434564e95de1ef46a2981f233f8f5076bf2dcb2
parent782f125ef5582775a8db890e0c5f28bb423ecee8
sfc: stop the TX queue before pushing new buffers

efx_enqueue_skb() can push new buffers for the xmit_more functionality.
We must stops the TX queue before this or else the TX queue does not get
restarted and we get a netdev watchdog.

In the error handling we may now need to unwind more than 1 packet, and
we may need to push the new buffers onto the partner queue.

v2: In the error leg also push this queue if xmit_more is set

Fixes: fc652d4c6cde ("sfc: Firmware-Assisted TSO version 2")
Reported-by: Jarod Wilson <jarod@redhat.com>
Tested-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Martin Habets <mhabets@solarflare.com>
Acked-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/tx.c