• Johannes Berg's avatar
    alx: use fine-grained locking instead of RTNL · 4a5fe57e
    Johannes Berg authored
    In the alx driver, all locking depended on the RTNL, but
    that causes issues with ipconfig ("ip=..." command line)
    because that waits for the netdev to have a carrier while
    holding the RTNL, but the alx workers etc. require RTNL,
    so the carrier won't be set until the RTNL is dropped and
    can be acquired by alx workers. This causes long delays
    at boot, as reported by Nikolai Zhubr.
    
    Really the only sensible thing to do here is to not use
    the RTNL for everything, but instead have fine-grained
    locking for just the driver. Do that, it's not that hard.
    Reported-by: default avatarNikolai Zhubr <zhubr.2@gmail.com>
    Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4a5fe57e
alx.h 3.34 KB