• Florian Fainelli's avatar
    net: bcmgenet: Delay PHY initialization to bcmgenet_open() · 6cc8e6d4
    Florian Fainelli authored
    We are currently doing a full PHY initialization and even starting the
    pHY state machine during bcmgenet_mii_init() which is executed in the
    driver's probe function. This is convenient to determine whether we can
    attach to a proper PHY device but comes at the expense of spending up to
    10ms per MDIO transactions (to reach the waitqueue timeout), which slows
    things down.
    
    This also creates a sitaution where we end-up attaching twice to the
    PHY, which is not quite correct either.
    
    Fix this by moving bcmgenet_mii_probe() into bcmgenet_open() and update
    its error path accordingly.
    
    Avoid printing the message "attached PHY at address 1 [...]" every time
    we bring up/down the interface and remove this print since it duplicates
    what the PHY driver already does for us.
    
    Fixes: 1c1008c7 ("net: bcmgenet: add main driver file")
    Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6cc8e6d4
bcmmii.c 16.2 KB