• Ben Hutchings's avatar
    sfc: Fix mapping of reset reasons and flags to methods · 0e2a9c7c
    Ben Hutchings authored
    There are certain hardware bugs that may occur on Falcon during normal
    operation, that require a reset to recover from.  We try to minimise
    disruption by keeping the PHY running, following a reset sequence
    labelled as 'invisible'.
    
    Siena does not suffer from these hardware bugs, so we have not
    implemented an 'invisible' reset sequence.  However, if a similar
    error does occur (due to a hardware fault or software bug) then the
    code shared with Falcon will wrongly assume that the PHY is not being
    reset.
    
    Since the mapping of reset reasons (internal) and flags (ethtool) to
    methods must differ significantly between NIC types, move it into
    per-NIC-type functions (replacing the insufficient reset_world_flags
    field).
    Signed-off-by: default avatarBen Hutchings <bhutchings@solarflare.com>
    0e2a9c7c
falcon.c 50.6 KB