ibmvnic: Fix TX descriptor tracking again
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Tue, 27 Feb 2018 00:10:55 +0000 (18:10 -0600)
committerDavid S. Miller <davem@davemloft.net>
Tue, 27 Feb 2018 19:31:19 +0000 (14:31 -0500)
commitecba616e041e64840d14e294b089ca355614b7fb
tree7237457ec0e544bec25c3732ef88a514f4fcd405
parent51846bfef65951ee6148e03217d31acff8d039a6
ibmvnic: Fix TX descriptor tracking again

Sorry, the previous change introduced a race condition between
transmit completion processing and tracking TX descriptors. If a
completion is received before the number of descriptors is logged,
the number of descriptors will be add but not removed. After enough
times, this could halt the transmit queue forever.

Log the number of descriptors used by a transmit before sending.
I stress tested the fix on two different systems running over the
weekend without any issues.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/ibm/ibmvnic.c