linux/drivers/net/ethernet/intel
Jacob Keller c913b73cd0 ice: use [sr]q.count when checking if queue is initialized
When shutting down the controlqs, we check if they are initialized
before we shut them down and destroy the lock. This is important, as it
prevents attempts to access the lock of an already shutdown queue.

Unfortunately, we checked rq.head and sq.head as the value to determine
if the queue was initialized. This doesn't work, because head is not
reset when the queue is shutdown. In some flows, the adminq will have
already been shut down prior to calling ice_shutdown_all_ctrlqs. This
can result in a crash due to attempting to access the already destroyed
mutex.

Fix this by using rq.count and sq.count instead. Indeed, ice_shutdown_sq
and ice_shutdown_rq already indicate that this is the value we should be
using to determine of the queue was initialized.

Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2018-09-28 11:16:36 -07:00
..
e1000 e1000: remove set but not used variable 'txb2b' 2018-09-19 23:09:23 -07:00
e1000e intel-ethernet: use correct module license 2018-09-18 15:32:59 -07:00
fm10k Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
i40e i40e: disallow changing the number of descriptors when AF_XDP is on 2018-09-25 13:16:19 -07:00
iavf Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
ice ice: use [sr]q.count when checking if queue is initialized 2018-09-28 11:16:36 -07:00
igb Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
igbvf intel-ethernet: use correct module license 2018-09-18 15:32:59 -07:00
ixgb Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
ixgbe Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
ixgbevf Merge ra.kernel.org:/pub/scm/linux/kernel/git/davem/net 2018-09-25 10:35:29 -07:00
e100.c intel-ethernet: use correct module license 2018-09-18 15:32:59 -07:00
Kconfig intel-ethernet: rename i40evf to iavf 2018-09-18 08:43:03 -07:00
Makefile intel-ethernet: rename i40evf to iavf 2018-09-18 08:43:03 -07:00