]> git.proxmox.com Git - mirror_ubuntu-kernels.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)
commit84404d5fd5858588bbf694b0300dbc6310d02737
tree5d7204e45e08b7af9659e79bd76c729d66cc5124
parent912cb1d55c96cd6a4e2c9c06803aa3a7810f72ba
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: e44758b78ae8 ("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