linux_dsm_epyc7002/drivers/net/ethernet/intel/i40e
Anjali Singhai 30e2561b95 i40e: Fix for recursive RTNL lock during PROMISC change
The sync_vsi_filters function can be called directly under RTNL
or through the timer subtask without one. This was causing a deadlock.

If sync_vsi_filters is called from a thread which held the lock,
and in another thread the PROMISC setting got changed we would
be executing the PROMISC change in the thread which already held
the lock alongside the other filter update. The PROMISC change
requires a reset if we are on a VEB, which requires it to be called
under RTNL.

Earlier the driver would call reset for PROMISC change without
checking if we were already under RTNL and would try to grab it
causing a deadlock. This patch changes the flow to see if we are
already under RTNL before trying to grab it.

Signed-off-by: Anjali Singhai Jain <anjali.singhai@intel.com>
Signed-off-by: Kiran Patil <kiran.patil@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2015-09-28 17:43:23 -07:00
..
i40e_adminq_cmd.h i40e/i40evf: Update FW API with X722 support 2015-08-05 16:53:44 -07:00
i40e_adminq.c i40e/i40evf: add exec_aq command to nvmupdate utility 2015-09-17 17:49:42 -07:00
i40e_adminq.h i40e/i40evf: save aq writeback for future inspection 2015-09-17 17:40:00 -07:00
i40e_alloc.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_common.c i40e/i40evf: Update FW API with X722 support 2015-08-05 16:53:44 -07:00
i40e_dcb_nl.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_dcb.c i40e/i40evf: Cache the CEE TLV status returned from firmware 2015-08-26 15:12:16 -07:00
i40e_dcb.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_debugfs.c i40e: Fix for recursive RTNL lock during PROMISC change 2015-09-28 17:43:23 -07:00
i40e_diag.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_diag.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_ethtool.c i40e: correct spelling error 2015-08-26 15:00:42 -07:00
i40e_fcoe.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_fcoe.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_hmc.c i40e: clean up unneeded gotos 2015-07-23 05:15:26 -07:00
i40e_hmc.h i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_lan_hmc.h i40e/i40evf: Big endian fixes for handling HMC 2014-06-26 04:44:57 -07:00
i40e_main.c i40e: Fix for recursive RTNL lock during PROMISC change 2015-09-28 17:43:23 -07:00
i40e_nvm.c i40e/i40evf: add get AQ result command to nvmupdate utility 2015-09-17 17:52:07 -07:00
i40e_osdep.h i40e: adds FCoE configure option 2015-01-14 16:48:39 -05:00
i40e_prototype.h i40e/i40evf: Update FW API with X722 support 2015-08-05 16:53:44 -07:00
i40e_ptp.c i40e: use BIT and BIT_ULL macros 2015-07-23 05:33:55 -07:00
i40e_register.h i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag 2015-08-26 15:09:54 -07:00
i40e_status.h i40e: Fix GPL header 2014-01-09 02:10:23 -08:00
i40e_txrx.c i40e: Fix RS bit update in Tx path and disable force WB workaround 2015-09-28 17:38:28 -07:00
i40e_txrx.h i40e: Fix RS bit update in Tx path and disable force WB workaround 2015-09-28 17:38:28 -07:00
i40e_type.h i40e/i40evf: add get AQ result command to nvmupdate utility 2015-09-17 17:52:07 -07:00
i40e_virtchnl_pf.c i40e: Fix for recursive RTNL lock during PROMISC change 2015-09-28 17:43:23 -07:00
i40e_virtchnl_pf.h i40e: support virtual channel API 1.1 2015-07-23 05:22:26 -07:00
i40e_virtchnl.h i40e/i40evf: add VIRTCHNL_VF_OFFLOAD flag 2015-08-26 15:09:54 -07:00
i40e.h i40e: Fix for recursive RTNL lock during PROMISC change 2015-09-28 17:43:23 -07:00
Makefile i40e: Strip configfs code 2015-03-07 07:01:06 -08:00