On Thu, 17 Mar 2022 11:45:24 +0100 Ivan Vecera wrote:
Recent commit 974578017fc1 ("iavf: Add waiting so the port isTony, Jesse, looks like the regression is from 5.17-rc6, should
initialized in remove") adds a wait-loop at the beginning of
iavf_remove() to ensure that port initialization is finished
prior unregistering net device. This causes a regression
in reboot/shutdown scenario because in this case callback
iavf_shutdown() is called and this callback detaches the device,
makes it down if it is running and sets its state to __IAVF_REMOVE.
Later shutdown callback of associated PF driver (e.g. ice_shutdown)
is called. That callback calls among other things sriov_disable()
that calls indirectly iavf_remove() (see stack trace below).
As the adapter state is already __IAVF_REMOVE then the mentioned
loop is end-less and shutdown process hangs.
I take this directly so it makes 5.17 final?