• Mitch Williams's avatar
    i40evf: refactor reset · ac833bbf
    Mitch Williams authored
    A recent change to the shutdown flow messed up the reset flow. Since
    i40evf_down now holds the critical section lock, we cannot call it from
    the reset handler, which also holds the lock. To do so causes a deadlock
    accompanied by wailing and gnashing of teeth. This is easily triggered
    by running an ethtool self-test on the PF device.
    
    Instead, we move the relevant portions of i40evf_down into the reset
    handler and bend them to our will. Additionally, we can optimize the
    reinit path by not deleting the MAC and VLAN filters and then adding
    them back again. Instead, we just set the 'add' flag and let the
    watchdog resynchronize the filter list with the PF driver. We also
    reword a few messages to make them more consistent with the rest of the
    driver.
    
    Change-ID: I03dd92ae736f7719fca3564b12a2cf9b98c6cb18
    Signed-off-by: default avatarMitch Williams <mitch.a.williams@intel.com>
    Tested-by: default avatarJim Young <james.m.young@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    ac833bbf
i40evf_main.c 66.9 KB