Skip to content

Commit 09d0fb5

Browse files
walking-machineanguy11
authored andcommitted
idpf: deinit virtchnl transaction manager after vport and vectors
When the device is removed, idpf is supposed to make certain virtchnl requests e.g. VIRTCHNL2_OP_DEALLOC_VECTORS and VIRTCHNL2_OP_DESTROY_VPORT. However, this does not happen due to the referenced commit introducing virtchnl transaction manager and placing its deinitialization before those messages are sent. Then the sending is impossible due to no transactions being available. Lack of cleanup can lead to the FW becoming unresponsive from e.g. unloading-loading the driver and creating-destroying VFs afterwards. Move transaction manager deinitialization to after other virtchnl-related cleanup is done. Fixes: 34c21fa ("idpf: implement virtchnl transaction manager") Reviewed-by: Przemek Kitszel <[email protected]> Signed-off-by: Larysa Zaremba <[email protected]> Tested-by: Krishneil Singh <[email protected]> Signed-off-by: Tony Nguyen <[email protected]>
1 parent 640f700 commit 09d0fb5

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/net/ethernet/intel/idpf/idpf_virtchnl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3081,9 +3081,9 @@ void idpf_vc_core_deinit(struct idpf_adapter *adapter)
30813081
if (!test_bit(IDPF_VC_CORE_INIT, adapter->flags))
30823082
return;
30833083

3084-
idpf_vc_xn_shutdown(adapter->vcxn_mngr);
30853084
idpf_deinit_task(adapter);
30863085
idpf_intr_rel(adapter);
3086+
idpf_vc_xn_shutdown(adapter->vcxn_mngr);
30873087

30883088
cancel_delayed_work_sync(&adapter->serv_task);
30893089
cancel_delayed_work_sync(&adapter->mbx_task);

0 commit comments

Comments
 (0)