• Denis Vlasenko's avatar
    [PATCH] fealnx #8: rework error handling · e12bb4d2
    Denis Vlasenko authored
    Add reset timer, fire it 1/2 sec after 'Too much work in interrupt'
    Move reset code from tx_timeout into two separate routines:
    reset_and_disable_rxtx() and enable_rxtx()
    New function reset_tx_descriptors(): clean up tx ring
    after tx_timeout. tx_timeout now does:
        reset_and_disable_rxtx()
        reset_tx_descriptors()
        enable_rxtx()
        netif_wake_queue()
    Absense of netif_wake_queue() call was probably the cause of
    tx_timeout() stalling all future tx.
    Remove stop_nic_tx(), not used anymore
    e12bb4d2
fealnx.c 56.2 KB