• Claudiu Manoil's avatar
    gianfar: Remove clean_rx_ring race from gfar_ethtool · 7cca336a
    Claudiu Manoil authored
    gfar_clean_rx_ring() was designed to be called from napi
    (rx softirq) context to do the Rx processing. Calling it
    from a process context like this is a bug as it will
    clearly race with the napi Rx processing.
    
    There's also no point in initializing num_txbdfree since
    startup_gfar() already does that, when bringing the device
    up again (after reset). Changing num_txbdfree "on-the-fly"
    like this is also subject to race conditions.  num_txbdfree
    is handled by the Tx processing path and the device reset
    procedure.  Also, don't assume that num_rx_queues is always
    equal to num_tx_queues.
    Signed-off-by: default avatarClaudiu Manoil <claudiu.manoil@freescale.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    7cca336a
gianfar_ethtool.c 48.9 KB