• Michael Chan's avatar
    [TG3]: Refinements to new locking strategy. · bbe832c0
    Michael Chan authored
    1. Move tp->irq_sync = 0 to before the interrupt mailbox IO in
       tg3_enable_ints() so that the interrupt handler will always see
       irq_sync == 0 when interrupts are enabled.
    
    2. Remove the tg3_enable_ints() call in tg3_reset_hw(). Interrupts are
       always enabled explicitly or through tg3_netif_start(). This is to
       prevent interrupts being enabled while poll is disabled.
    
    3. Update trans_start with jiffies in tg3_netif_stop() to prevent false
       NETDEV WATCHDOG.
    
    4. Pass in the proper irq_sync parameter to tg3_full_lock() depending on
       netif_running() in some of the ethtool set calls.
    Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bbe832c0
tg3.c 291 KB