Changeset 43332


Ignore:
Timestamp:
2014-11-19T21:18:01+01:00 (3 years ago)
Author:
nbd
Message:

ar8216: use genphy_config_aneg also for PHY 0

Kernel 3.14 introduced a switch reset in phy_init_hw in drivers/net/phy
causing BMCR_ANENABLE to get cleared.

Due to the fact that ar8xxx_phy_config_aneg does nothing for
PHY 0 autonegatiation support remains disabled.
This can cause ports to operate at 10MBit/half-duplex only.

Fix this by calling genphy_config_aneg for PHY 0 too as
genphy_config_aneg sets BMCR_ANENABLE if it's not yet set.
Fixes: ticket 17800

Signed-off-by: Heiner Kallweit <hkallweit1@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/files/drivers/net/phy/ar8216.c

    r43331 r43332  
    28642864} 
    28652865 
    2866 static int 
    2867 ar8xxx_phy_config_aneg(struct phy_device *phydev) 
    2868 { 
    2869         if (phydev->addr == 0) 
    2870                 return 0; 
    2871  
    2872         return genphy_config_aneg(phydev); 
    2873 } 
    2874  
    28752866static const u32 ar8xxx_phy_ids[] = { 
    28762867        0x004dd033, 
     
    30443035        .detach         = ar8xxx_phy_detach, 
    30453036        .config_init    = ar8xxx_phy_config_init, 
    3046         .config_aneg    = ar8xxx_phy_config_aneg, 
     3037        .config_aneg    = genphy_config_aneg, 
    30473038        .read_status    = ar8xxx_phy_read_status, 
    30483039        .driver         = { .owner = THIS_MODULE }, 
Note: See TracChangeset for help on using the changeset viewer.