Previously it was assumed that idpf_vc_core_deinit() is always being called during reset handling, with remove being an exception. Ideally the driver needs to communicate the changes to FW in all instances where the MBX is not already disabled. Remove the remove_in_prog check from idpf_vc_core_deinit() as the MBX was already disabled while handling the reset via libie_ctlq_xn_shutdown() by the service task. This is also needed by the following patch, introducing PCI callbacks support. Signed-off-by: Emil Tantilov Reviewed-by: Jay Bhat Reviewed-by: Madhu Chittim --- drivers/net/ethernet/intel/idpf/idpf_virtchnl.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c index 129c8f6b0faa..fceaf3ec1cd4 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c @@ -3229,24 +3229,15 @@ int idpf_vc_core_init(struct idpf_adapter *adapter) */ void idpf_vc_core_deinit(struct idpf_adapter *adapter) { - bool remove_in_prog; - if (!test_bit(IDPF_VC_CORE_INIT, adapter->flags)) return; - /* Avoid transaction timeouts when called during reset */ - remove_in_prog = test_bit(IDPF_REMOVE_IN_PROG, adapter->flags); - if (!remove_in_prog) - idpf_deinit_dflt_mbx(adapter); - idpf_ptp_release(adapter); idpf_deinit_task(adapter); idpf_idc_deinit_core_aux_device(adapter); idpf_rel_rx_pt_lkup(adapter); idpf_intr_rel(adapter); - - if (remove_in_prog) - idpf_deinit_dflt_mbx(adapter); + idpf_deinit_dflt_mbx(adapter); cancel_delayed_work_sync(&adapter->serv_task); -- 2.37.3