linux/drivers/net/ethernet/intel/i40e
Jacob Keller f0ee70a042 i40e: hold the RTNL lock while changing interrupt schemes
When we suspend and resume, we need to clear and re-enable the interrupt
scheme. This was previously not done while holding the RTNL lock, which
could be problematic, because we are actually destroying and re-creating
queues.

Hold the RTNL lock for the entire sequence of preparing for reset, and
when resuming. This additionally protects the flags related to interrupt
scheme under RTNL lock so that their modification is properly threaded.

This is part of a larger effort to remove the need for cmpxchg64 in
i40e_set_priv_flags().

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-03-26 13:52:53 -07:00
..
i40e_adminq_cmd.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_adminq.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_adminq.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_alloc.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_client.c i40e: move client flags into state bits 2018-03-26 13:50:56 -07:00
i40e_client.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_common.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_dcb_nl.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_dcb.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_dcb.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_debugfs.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_devids.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_diag.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_diag.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_ethtool.c i40e: move AUTO_DISABLED flags into the state field 2018-03-26 13:46:30 -07:00
i40e_hmc.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_hmc.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_lan_hmc.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_lan_hmc.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_main.c i40e: hold the RTNL lock while changing interrupt schemes 2018-03-26 13:52:53 -07:00
i40e_nvm.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_osdep.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_prototype.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_ptp.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_register.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_status.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_trace.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_txrx.c i40e: move AUTO_DISABLED flags into the state field 2018-03-26 13:46:30 -07:00
i40e_txrx.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_type.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_virtchnl_pf.c intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e_virtchnl_pf.h intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00
i40e.h i40e: move client flags into state bits 2018-03-26 13:50:56 -07:00
Makefile intel: add SPDX identifiers to all the Intel drivers 2018-03-23 12:18:21 -04:00