• Timo Teräs's avatar
    r8169: fix random mdio_write failures · 024a07ba
    Timo Teräs authored
    Some configurations need delay between the "write completed" indication
    and new write to work reliably.
    
    Realtek driver seems to use longer delay when polling the "write complete"
    bit, so it waits long enough between writes with high probability (but
    could probably break too). This patch adds a new udelay to make sure we
    wait unconditionally some time after the write complete indication.
    
    This caused a regression with XID 18000000 boards when the board specific
    phy configuration writing many mdio registers was added in commit
    2e955856 (r8169: phy init for the 8169scd). Some of the configration
    mdio writes would almost always fail, and depending on failure might leave
    the PHY in non-working state.
    Signed-off-by: default avatarTimo Teräs <timo.teras@iki.fi>
    Acked-off-by: default avatarFrancois Romieu <romieu@fr.zoreil.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    024a07ba
r8169.c 119 KB