diff options
| author | Dmitry Torokhov <[email protected]> | 2023-08-30 16:06:38 -0700 | 
|---|---|---|
| committer | Dmitry Torokhov <[email protected]> | 2023-08-30 16:06:38 -0700 | 
| commit | 1ac731c529cd4d6adbce134754b51ff7d822b145 (patch) | |
| tree | 143ab3f35ca5f3b69f583c84e6964b17139c2ec1 /drivers/net/ethernet/intel/ice/ice.h | |
| parent | 07b4c950f27bef0362dc6ad7ee713aab61d58149 (diff) | |
| parent | 54116d442e001e1b6bd482122043b1870998a1f3 (diff) | |
Merge branch 'next' into for-linus
Prepare input updates for 6.6 merge window.
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice.h')
| -rw-r--r-- | drivers/net/ethernet/intel/ice/ice.h | 15 | 
1 files changed, 5 insertions, 10 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice.h b/drivers/net/ethernet/intel/ice/ice.h index b0e29e342401..aa32111afd6e 100644 --- a/drivers/net/ethernet/intel/ice/ice.h +++ b/drivers/net/ethernet/intel/ice/ice.h @@ -20,7 +20,6 @@  #include <linux/pci.h>  #include <linux/workqueue.h>  #include <linux/wait.h> -#include <linux/aer.h>  #include <linux/interrupt.h>  #include <linux/ethtool.h>  #include <linux/timer.h> @@ -509,6 +508,7 @@ enum ice_pf_flags {  	ICE_FLAG_VF_VLAN_PRUNING,  	ICE_FLAG_LINK_LENIENT_MODE_ENA,  	ICE_FLAG_PLUG_AUX_DEV, +	ICE_FLAG_UNPLUG_AUX_DEV,  	ICE_FLAG_MTU_CHANGED,  	ICE_FLAG_GNSS,			/* GNSS successfully initialized */  	ICE_PF_FLAGS_NBITS		/* must be last */ @@ -955,16 +955,11 @@ static inline void ice_set_rdma_cap(struct ice_pf *pf)   */  static inline void ice_clear_rdma_cap(struct ice_pf *pf)  { -	/* We can directly unplug aux device here only if the flag bit -	 * ICE_FLAG_PLUG_AUX_DEV is not set because ice_unplug_aux_dev() -	 * could race with ice_plug_aux_dev() called from -	 * ice_service_task(). In this case we only clear that bit now and -	 * aux device will be unplugged later once ice_plug_aux_device() -	 * called from ice_service_task() finishes (see ice_service_task()). +	/* defer unplug to service task to avoid RTNL lock and +	 * clear PLUG bit so that pending plugs don't interfere  	 */ -	if (!test_and_clear_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags)) -		ice_unplug_aux_dev(pf); - +	clear_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags); +	set_bit(ICE_FLAG_UNPLUG_AUX_DEV, pf->flags);  	clear_bit(ICE_FLAG_RDMA_ENA, pf->flags);  }  #endif /* _ICE_H_ */  |