• Ben Hutchings's avatar
    sfc: Remove dependence on NAPI polling in efx_test_eventq_irq() · 0fb53faa
    Ben Hutchings authored
    We cannot safely assume that the NAPI handler will complete within the
    20 ms that we allow for the event self-test.  The handler may be
    deferred for longer than this, particularly on realtime kernels.
    
    Instead, check whether either an event has been handled or (as in the
    old failure path) whether an interrupt has been received and an event
    has been delivered but not yet handled.  Use napi_disable() to
    synchronize with the NAPI handler before checking, since it will
    clear events before updating eventq_read_ptr.
    
    Remove the test result chan.N.eventq.poll, since it is not an error
    if the NAPI handler does not run during the test.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    0fb53faa
selftest.c 20.7 KB