Skip to content
  • Ben Hutchings's avatar
    sfc: Detach net device when stopping queues for reconfiguration · 29c69a48
    Ben Hutchings authored
    
    
    We must only ever stop TX queues when they are full or the net device
    is not 'ready' so far as the net core, and specifically the watchdog,
    is concerned.  Otherwise, the watchdog may fire *immediately* if no
    packets have been added to the queue in the last 5 seconds.
    
    The device is ready if all the following are true:
    
    (a) It has a qdisc
    (b) It is marked present
    (c) It is running
    (d) The link is reported up
    
    (a) and (c) are normally true, and must not be changed by a driver.
    (d) is under our control, but fake link changes may disturb userland.
    This leaves (b).  We already mark the device absent during reset
    and self-test, but we need to do the same during MTU changes and ring
    reallocation.  We don't need to do this when the device is brought
    down because then (c) is already false.
    
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    29c69a48