]> git.baikalelectronics.ru Git - kernel.git/commit
ixgbe: Identify FCoE rings earlier to resolve memory corruption w/ FCoE
authorAlexander Duyck <alexander.h.duyck@intel.com>
Sat, 7 Apr 2012 04:57:29 +0000 (04:57 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 17 Apr 2012 22:43:02 +0000 (15:43 -0700)
commit6abaa9a0db02555d608fde4e67793f3577b8453e
tree94e6d8fdbcbfb362b9ad1b58bd3ab92c91662a40
parent3a78307eed58df03d2f5c3305dcad1e5e1558bdb
ixgbe: Identify FCoE rings earlier to resolve memory corruption w/ FCoE

This patch makes it so that we identify FCoE rings earlier than
ixgbe_set_rx_buffer_len.  Instead we identify the Rx FCoE rings at
allocation time in ixgbe_alloc_q_vector.

The motivation behind this change is to avoid memory corruption when FCoE
is enabled.  Without this change we were initializing the rings at 0, and
2K on systems with 4K pages, then when we bumped the buffer size to 4K with
order 1 pages we were accessing offsets 2K and 6K instead of 0 and 4K.
This was resulting in memory corruptions.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Acked-by: Yi Zou <yi.zou@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c