Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ethtool: Fix link extended state for big endian

The link extended sub-states are assigned as enum that is an integer
size but read from a union as u8, this is working for small values on
little endian systems but for big endian this always give 0. Fix the
variable in the union to match the enum size.

Fixes: ecc31c60240b ("ethtool: Add link extended state")
Signed-off-by: Moshe Tal <moshet@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Tested-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Reviewed-by: Amit Cohen <amcohen@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Moshe Tal and committed by
David S. Miller
e2f08207 d15c7e87

+1 -1
+1 -1
include/linux/ethtool.h
··· 111 111 enum ethtool_link_ext_substate_bad_signal_integrity bad_signal_integrity; 112 112 enum ethtool_link_ext_substate_cable_issue cable_issue; 113 113 enum ethtool_link_ext_substate_module module; 114 - u8 __link_ext_substate; 114 + u32 __link_ext_substate; 115 115 }; 116 116 }; 117 117