@@ -1954,6 +1954,17 @@ static int iavf_init_interrupt_scheme(struct iavf_adapter *adapter)
1954
1954
return err ;
1955
1955
}
1956
1956
1957
+ /**
1958
+ * iavf_free_interrupt_scheme - Undo what iavf_init_interrupt_scheme does
1959
+ * @adapter: board private structure
1960
+ **/
1961
+ static void iavf_free_interrupt_scheme (struct iavf_adapter * adapter )
1962
+ {
1963
+ iavf_free_q_vectors (adapter );
1964
+ iavf_reset_interrupt_capability (adapter );
1965
+ iavf_free_queues (adapter );
1966
+ }
1967
+
1957
1968
/**
1958
1969
* iavf_free_rss - Free memory used by RSS structs
1959
1970
* @adapter: board private structure
@@ -1982,11 +1993,9 @@ static int iavf_reinit_interrupt_scheme(struct iavf_adapter *adapter, bool runni
1982
1993
if (running )
1983
1994
iavf_free_traffic_irqs (adapter );
1984
1995
iavf_free_misc_irq (adapter );
1985
- iavf_reset_interrupt_capability (adapter );
1986
- iavf_free_q_vectors (adapter );
1987
- iavf_free_queues (adapter );
1996
+ iavf_free_interrupt_scheme (adapter );
1988
1997
1989
- err = iavf_init_interrupt_scheme (adapter );
1998
+ err = iavf_init_interrupt_scheme (adapter );
1990
1999
if (err )
1991
2000
goto err ;
1992
2001
@@ -2968,9 +2977,7 @@ static void iavf_disable_vf(struct iavf_adapter *adapter)
2968
2977
spin_unlock_bh (& adapter -> cloud_filter_list_lock );
2969
2978
2970
2979
iavf_free_misc_irq (adapter );
2971
- iavf_reset_interrupt_capability (adapter );
2972
- iavf_free_q_vectors (adapter );
2973
- iavf_free_queues (adapter );
2980
+ iavf_free_interrupt_scheme (adapter );
2974
2981
memset (adapter -> vf_res , 0 , IAVF_VIRTCHNL_VF_RESOURCE_SIZE );
2975
2982
iavf_shutdown_adminq (& adapter -> hw );
2976
2983
adapter -> flags &= ~IAVF_FLAG_RESET_PENDING ;
@@ -5202,9 +5209,7 @@ static void iavf_remove(struct pci_dev *pdev)
5202
5209
iavf_free_all_tx_resources (adapter );
5203
5210
iavf_free_all_rx_resources (adapter );
5204
5211
iavf_free_misc_irq (adapter );
5205
-
5206
- iavf_reset_interrupt_capability (adapter );
5207
- iavf_free_q_vectors (adapter );
5212
+ iavf_free_interrupt_scheme (adapter );
5208
5213
5209
5214
iavf_free_rss (adapter );
5210
5215
@@ -5220,7 +5225,6 @@ static void iavf_remove(struct pci_dev *pdev)
5220
5225
5221
5226
iounmap (hw -> hw_addr );
5222
5227
pci_release_regions (pdev );
5223
- iavf_free_queues (adapter );
5224
5228
kfree (adapter -> vf_res );
5225
5229
spin_lock_bh (& adapter -> mac_vlan_list_lock );
5226
5230
/* If we got removed before an up/down sequence, we've got a filter
0 commit comments