ibmvnic: Zero used TX descriptor counter on reset
authorThomas Falcon <tlfalcon@linux.vnet.ibm.com>
Fri, 6 Apr 2018 23:37:03 +0000 (18:37 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:24 +0000 (07:52 +0200)
commit378a1e49f9d1279f8f4bcd2bc3283f2b733dc15f
tree8c06873a5f106080d83f18f010f931521bf332ef
parentd04e5e72dfe925f0a72a755bea7ce2665ee1e788
ibmvnic: Zero used TX descriptor counter on reset

[ Upstream commit 41f714672f93608751dbd2fa2291d476a8ff0150 ]

The counter that tracks used TX descriptors pending completion
needs to be zeroed as part of a device reset. This change fixes
a bug causing transmit queues to be stopped unnecessarily and in
some cases a transmit queue stall and timeout reset. If the counter
is not reset, the remaining descriptors will not be "removed",
effectively reducing queue capacity. If the queue is over half full,
it will cause the queue to stall if stopped.

Signed-off-by: Thomas Falcon <tlfalcon@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/ibm/ibmvnic.c