> -----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]>

Reply via email to