Dne 10. 10. 23 v 13:39 Drewek, Wojciech napsal:
-----Original Message-----
From: Intel-wired-lan <[email protected]> On Behalf Of
Michal Schmidt
Sent: Tuesday, October 10, 2023 2:25 AM
To: [email protected]
Cc: Nguyen, Anthony L <[email protected]>; Radoslaw Tyl
<[email protected]>; Brandeburg, Jesse <[email protected]>
Subject: [Intel-wired-lan] [PATCH net-next 4/5] 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: c8de44b577eb ("iavf: do not process adminq tasks when
__IAVF_IN_REMOVE_TASK is set")
Signed-off-by: Michal Schmidt <[email protected]>
Looks like a fix, could be a separate patch with net as a target.
I did not want to separate it from patch 3/5, because it changes the
logic when IAVF_FLAG_PF_COMMS_FAILED is set. But on second thought, it
should still work fine in that case too. aq_required would just get
reset to zero in iavf_watchdog_task in the __IAVF_COMM_FAILED state.
Michal
Reviewed-by: Wojciech Drewek <[email protected]>
---
drivers/net/ethernet/intel/iavf/iavf_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c
b/drivers/net/ethernet/intel/iavf/iavf_main.c
index 0b808fa34801..2ab08b015b85 100644
--- a/drivers/net/ethernet/intel/iavf/iavf_main.c
+++ b/drivers/net/ethernet/intel/iavf/iavf_main.c
@@ -1440,9 +1440,9 @@ void iavf_down(struct iavf_adapter *adapter)
adapter->aq_required |=
IAVF_FLAG_AQ_DEL_FDIR_FILTER;
if (!list_empty(&adapter->adv_rss_list_head))
adapter->aq_required |=
IAVF_FLAG_AQ_DEL_ADV_RSS_CFG;
- adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES;
}
+ adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES;
mod_delayed_work(adapter->wq, &adapter->watchdog_task, 0);
}
--
2.41.0
_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan
_______________________________________________
Intel-wired-lan mailing list
[email protected]
https://lists.osuosl.org/mailman/listinfo/intel-wired-lan