ixgbe: make sure per Rx queue is disabled before unmapping the receive buffer
authorYi Zou <yi.zou@intel.com>
Thu, 6 Jan 2011 14:29:56 +0000 (14:29 +0000)
committerDavid S. Miller <davem@davemloft.net>
Mon, 10 Jan 2011 07:44:10 +0000 (23:44 -0800)
commit2d39d576fad0fd4bb79a0de26fca50a4be1ffdc1
tree12d38ef31a7d6c2a2b1e73e6564091eb9c85ce98
parent5377a4160bb65ee4dd11b4b1d081d86d56d92bff
ixgbe: make sure per Rx queue is disabled before unmapping the receive buffer

When disable the Rx logic globally, we would also want to disable the per Rx
queue receive logic by per queue Rx control register RXDCTL so no more DMA is
happening from the packet buffer to the receive buffer associated with the Rx
ring, before we start unmapping Rx ring receive buffer. The hardware may take
max of 100us before the corresponding Rx queue is really disabled. Added
ixgbe_disable_rx_queue() for this purpose.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Tested-by: Stephen Ko <stephen.s.ko@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ixgbe/ixgbe.h
drivers/net/ixgbe/ixgbe_ethtool.c
drivers/net/ixgbe/ixgbe_main.c