> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Aleksandr Loktionov > Sent: Thursday, April 30, 2026 5:32 AM > To: [email protected]; Nguyen, Anthony L > <[email protected]>; Loktionov, > Aleksandr <[email protected]> > Cc: [email protected] > Subject: [Intel-wired-lan] [PATCH net] ixgbe: fix X550 AQ PHY identification > returning > ixgbe_phy_unknown > > ixgbe_get_phy_id() reads the two MII_PHYSID registers and combines them into > hw->phy.id with the > lower 4 revision bits masked out by IXGBE_PHY_REVISION_MASK (0xFFFFFFF0). > > Commit 5f1c3589b0f0 ("ixgbe: Correct X550 phy ID") replaced X550_PHY_ID > (0x01540220) with > X550_PHY_ID2 (0x01540223) and > X550_PHY_ID3 (0x01540221). These are the raw values read directly off > hardware, but after revision-bit > masking both reduce to 0x01540220. > The switch cases in ixgbe_get_phy_type_from_id() therefore never match, and > X550 AQ PHY devices > always fall through to ixgbe_phy_unknown. A wrong PHY type means the wrong > ops vector is selected, > resulting in failed PHY initialization and no link. > > Restore X550_PHY_ID (0x01540220) as the match value -- the revision-stripped > ID that the driver > actually stores. Keep X550_PHY_ID2 and X550_PHY_ID3 as documentation of the > hardware-reported > values. > > Fixes: 5f1c3589b0f0 ("ixgbe: Correct X550 phy ID") > Signed-off-by: Aleksandr Loktionov <[email protected]> > --- > drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c | 3 +-- > drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 1 > + > 2 files changed, 2 insertions(+), 2 deletions(-)
Tested-by: Alexander Nowlin <[email protected]>
