Skip to content

Commit 5379866

Browse files
michichkuba-moo
authored andcommitted
iavf: in iavf_down, disable queues when removing the driver
In iavf_down, we're skipping the scheduling of certain operations if the driver is being removed. However, the IAVF_FLAG_AQ_DISABLE_QUEUES request must not be skipped in this case, because iavf_close waits for the transition to the __IAVF_DOWN state, which happens in iavf_virtchnl_completion after the queues are released. Without this fix, "rmmod iavf" takes half a second per interface that's up and prints the "Device resources not yet released" warning. Fixes: c8de44b ("iavf: do not process adminq tasks when __IAVF_IN_REMOVE_TASK is set") Signed-off-by: Michal Schmidt <[email protected]> Reviewed-by: Wojciech Drewek <[email protected]> Tested-by: Rafal Romanowski <[email protected]> Tested-by: Jacob Keller <[email protected]> Signed-off-by: Jacob Keller <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent 5e5d8b9 commit 5379866

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/net/ethernet/intel/iavf/iavf_main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1437,9 +1437,9 @@ void iavf_down(struct iavf_adapter *adapter)
14371437
adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER;
14381438
if (!list_empty(&adapter->adv_rss_list_head))
14391439
adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG;
1440-
adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES;
14411440
}
14421441

1442+
adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES;
14431443
mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
14441444
}
14451445

0 commit comments

Comments
 (0)