• Mintz, Yuval's avatar
    qed*: Fix link indication race · 65ed2ffd
    Mintz, Yuval authored
    Driver changes the link properties via communication with
    the management firmware, and re-reads the resulting link status
    when it receives an indication that the link has changed.
    However, there are certain scenarios where such indications
    might be missing, and so driver also re-reads the current link
    results without attention in several places. Specifically, it
    does so during load and when resetting the link.
    
    This creates a race where driver might reflect incorrect
    link status - e.g., when explicit reading of the link status is
    switched by attention with the changed configuration.
    
    Correct this flow by a lock syncronizing the handling of the
    link indications [both explicit requests and attention].
    Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    65ed2ffd
qed_mcp.h 18.2 KB