linux/drivers/net/ethernet/intel
Anirudh Venkataramanan fd2a981777 ice: Prevent control queue operations during reset
Once reset is issued, the driver loses all control queue interfaces.
Exercising control queue operations during reset is incorrect and
may result in long timeouts.

This patch introduces a new field 'reset_ongoing' in the hw structure.
This is set to 1 by the core driver when it receives a reset interrupt.
ice_sq_send_cmd checks reset_ongoing before actually issuing the control
queue operation. If a reset is in progress, it returns a soft error code
(ICE_ERR_RESET_PENDING) to the caller. The caller may or may not have to
take any action based on this return. Once the driver knows that the
reset is done, it has to set reset_ongoing back to 0. This will allow
control queue operations to be posted to the hardware again.

This "bail out" logic was specifically added to ice_sq_send_cmd (which
is pretty low level function) so that we have one solution in one place
that applies to all types of control queues.

Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-08-28 10:20:00 -07:00
..
e1000 e1000: ensure to free old tx/rx rings in set_ringparam() 2018-08-24 08:52:35 -07:00
e1000e treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
fm10k treewide: Use array_size() in vmalloc() 2018-06-12 16:19:22 -07:00
i40e i40e: fix condition of WARN_ONCE for stat strings 2018-08-24 08:52:35 -07:00
i40evf i40e: Add AQ command for rearrange NVM structure 2018-08-07 12:20:45 -07:00
ice ice: Prevent control queue operations during reset 2018-08-28 10:20:00 -07:00
igb igb: Replace mdelay() with msleep() in igb_integrated_phy_loopback() 2018-08-24 08:52:35 -07:00
igbvf igbvf: netdev: Mark expected switch fall-through 2018-08-07 17:54:20 -07:00
ixgb ixgb: use dma_zalloc_coherent instead of allocator/memset 2018-08-24 08:52:35 -07:00
ixgbe ixgbe: fix driver behaviour after issuing VFLR 2018-08-24 08:52:35 -07:00
ixgbevf xdp: don't make drivers report attachment mode 2018-07-13 20:26:35 +02:00
e100.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
Kconfig docs: Fix more broken references 2018-06-15 18:11:26 -03:00
Makefile ice: Add basic driver framework for Intel(R) E800 Series 2018-03-26 08:28:02 -07:00