alistair23-linux/drivers/net/ethernet/intel
Alexander Duyck e757e3e198 ixgbevf: Make next_to_watch a pointer and adjust memory barriers to avoid races
This change is meant to address several race issues that become possible
because next_to_watch could possibly be set to a value that shows that the
descriptor is done when it is not.  In order to correct that we instead make
next_to_watch a pointer that is set to NULL during cleanup, and set to the
eop_desc after the descriptor rings have been written.

To enforce proper ordering the next_to_watch pointer is not set until after
a wmb writing the values to the last descriptor in a transmit.  In order to
guarantee that the descriptor is not read until after the eop_desc we use the
read_barrier_depends which is only really necessary on the alpha architecture.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2013-03-08 00:03:26 -08:00
..
e1000 e1000: fix whitespace issues and multi-line comments 2013-02-15 21:46:37 -08:00
e1000e e1000e: display a warning message when SmartSpeed works 2013-02-15 21:46:46 -08:00
igb igb: increase timeout for ethtool offline self-test 2013-02-15 21:46:54 -08:00
igbvf igbvf: Make next_to_watch a pointer and adjust memory barriers to avoid races 2013-02-15 21:46:51 -08:00
ixgb drivers: net: Remove remaining alloc/OOM messages 2013-02-08 17:44:39 -05:00
ixgbe ixgbe: Make use of the default fdb handlers. 2013-03-07 15:29:45 -05:00
ixgbevf ixgbevf: Make next_to_watch a pointer and adjust memory barriers to avoid races 2013-03-08 00:03:26 -08:00
e100.c remove init of dev->perm_addr in drivers 2013-01-08 18:00:48 -08:00
Kconfig Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
Makefile