• Brad Mouring's avatar
    net: phy: Tell caller result of phy_change() · a2c054a8
    Brad Mouring authored
    In 664fcf12 (net: phy: Threaded interrupts allow some simplification)
    the phy_interrupt system was changed to use a traditional threaded
    interrupt scheme instead of a workqueue approach.
    
    With this change, the phy status check moved into phy_change, which
    did not report back to the caller whether or not the interrupt was
    handled. This means that, in the case of a shared phy interrupt,
    only the first phydev's interrupt registers are checked (since
    phy_interrupt() would always return IRQ_HANDLED). This leads to
    interrupt storms when it is a secondary device that's actually the
    interrupt source.
    Signed-off-by: default avatarBrad Mouring <brad.mouring@ni.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    a2c054a8
phy.c 31.9 KB