]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: Fix ethtool self-test loopback.
authorMichael Chan <michael.chan@broadcom.com>
Wed, 19 Dec 2018 18:46:50 +0000 (13:46 -0500)
committerDavid S. Miller <davem@davemloft.net>
Wed, 19 Dec 2018 19:31:09 +0000 (11:31 -0800)
commitdd286b83b268c83838c6835216c68dd53edac7ea
tree5d7204e45e08b7af9659e79bd76c729d66cc5124
parent81809cf9668b804325be29401bc4d628e53e0e54
bnxt_en: Fix ethtool self-test loopback.

The current code has 2 problems.  It assumes that the RX ring for
the loopback packet is combined with the TX ring.  This is not
true if the ethtool channels are set to non-combined mode.  The
second problem is that it won't work on 57500 chips without
adjusting the logic to get the proper completion ring (cpr) pointer.
Fix both issues by locating the proper cpr pointer through the RX
ring.

Fixes: ddaa401bf8fc ("bnxt_en: Use bnxt_cp_ring_info struct pointer as parameter for RX path.")
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c