• Ben Hutchings's avatar
    sfc: Disable VF queues during register self-test · d4f2cecc
    Ben Hutchings authored
    Currently VF queues and drivers may remain active during this test.
    This could cause memory corruption or spurious test failures.
    Therefore we reset the port/function before running these tests on
    Siena.
    
    On Falcon this doesn't work: we have to do some additional
    initialisation before some blocks will work again.  So refactor the
    reset/register-test sequence into an efx_nic_type method so
    efx_selftest() doesn't have to consider such quirks.
    
    In the process, fix another minor bug: Siena does not have an
    'invisible' reset and the self-test currently fails to push the PHY
    configuration after resetting.  Passing RESET_TYPE_ALL to
    efx_reset_{down,up}() fixes this.
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    d4f2cecc
nic.c 60.9 KB