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 <przemyslaw.kitszel@intel.com> Signed-off-by: Larysa Zaremba <larysa.zaremba@intel.com> Tested-by: Krishneil Singh <krishneil.k.singh@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
1 parent 640f700 commit 09d0fb5

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

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)