]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bnxt_en: Fix ethtool -d byte order for 32-bit values
authorMichael Chan <michael.chan@broadcom.com>
Mon, 28 Apr 2025 22:59:03 +0000 (15:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 May 2025 07:39:40 +0000 (09:39 +0200)
commitdd008c029fdbd0909a66fa24427991b53a3dc310
tree787ead6660acf46e54e76343c9a80ed430837569
parent69b10dd23ab826d0c7f2d9ab311842251978d0c1
bnxt_en: Fix ethtool -d byte order for 32-bit values

[ Upstream commit 02e8be5a032cae0f4ca33c6053c44d83cf4acc93 ]

For version 1 register dump that includes the PCIe stats, the existing
code incorrectly assumes that all PCIe stats are 64-bit values.  Fix it
by using an array containing the starting and ending index of the 32-bit
values.  The loop in bnxt_get_regs() will use the array to do proper
endian swap for the 32-bit values.

Fixes: b5d600b027eb ("bnxt_en: Add support for 'ethtool -d'")
Reviewed-by: Shruti Parab <shruti.parab@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Andy Gospodarek <andrew.gospodarek@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c