Fixes for races between reset, remove and close in idpf. Patch 1 lets a reset racing with remove tear NAPI down in idpf_detach_and_close() by dropping the IDPF_REMOVE_IN_PROG early return from idpf_stop(), and tests IDPF_VPORT_UP under RTNL. Seen in testing, trace in the commit message.
Patch 2 skips empty netdev slots in idpf_detach_and_close(). Reproduced on a reset with FW reporting more max vports than default vports. Testing: Patches 1 and 2 reproduced as described. Both are not HW specific. Changes in v3: - Removed patches 3 an 4 from the previous series as there were some issues discovered in testing and review that will require more work, and a likely a refactor more suitable for -next. v2: https://lore.kernel.org/intel-wired-lan/[email protected]/ v1: https://lore.kernel.org/all/[email protected]/ Emil Tantilov (2): idpf: fix possible race on remove during a reset idpf: skip empty netdev slots when detaching for a reset drivers/net/ethernet/intel/idpf/idpf_lib.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) -- 2.37.3
