RE: [PATCH v2 1/7] net/ixgbe: Fix ixgbe_is_sfp() to return valid result for X550EM_a devs
From: Wang, Haiyue <hidden>
Date: 2021-12-20 07:45:24
quoted hunk ↗ jump to hunk
-----Original Message----- From: Stephen Douthit <redacted> Sent: Tuesday, December 7, 2021 06:19 To: Wang, Haiyue <redacted>; Lu, Wenzhuo <redacted> Cc: dev@dpdk.org; Wen Wang <redacted>; Stephen Douthit <redacted>; stable@dpdk.org Subject: [PATCH v2 1/7] net/ixgbe: Fix ixgbe_is_sfp() to return valid result for X550EM_a devs Currently all X500EM* MAC types fallthrough to the default case and get reported as non-SFP regardless of media type, which isn't correct. Fixes: 0790adeb567 ("ixgbe/base: support X550em_a device") Cc: stable@dpdk.org Signed-off-by: Stephen Douthit <redacted> --- drivers/net/ixgbe/ixgbe_ethdev.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+)diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index fe61dba81d..66f7af95de 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c@@ -781,6 +781,20 @@ ixgbe_is_sfp(struct ixgbe_hw *hw) case ixgbe_phy_sfp_passive_unknown: return 1; default: + /* x550em devices may be SFP, check media type */ + switch (hw->mac.type) { + case ixgbe_mac_X550EM_x: + case ixgbe_mac_X550EM_a: + switch (hw->mac.ops.get_media_type(hw)) {
Use the API 'ixgbe_get_media_type' to avoid ops null ?
+ case ixgbe_media_type_fiber: + case ixgbe_media_type_fiber_qsfp: + return 1; + default: + return 0;
Since we care 'return 1' only, then the two defaults just "break;" ?
+ } + default: + return 0;
Just 'break;'
+ } return 0;
Then this default '0' will be used.
} } -- 2.31.1