• Rasesh Mody's avatar
    bna: Add RX State · 215a64a2
    Rasesh Mody authored
    Change Details:
     -      BNA state machine for Rx in start_wait state moves it to stop_wait on
            receipt of RX_E_STOP. In Rx stop_wait state, on receipt of
                    RX_E_STARTED event does enet stop
                    RX_E_STOPPED event does rx_cleanup_cbfn
            rx_cleanup_cbfn in this case is called without post_cbfn. post_cbfn
            happens only after RX_E_STARTED event is received in start_wait. Without
            doing post_cbfn, NAPI remains disabled and in cleanup we try to disable
            again causing endless wait. ifconfig process and other workers can thus
            get stuck.
     -      Introducing start_stop_wait state for Rx. This state handles the case of
            if post_cbfn is not done simply do stop without the cleanup.
    Signed-off-by: default avatarRasesh Mody <rmody@brocade.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    215a64a2
bna_tx_rx.c 91.4 KB