From 7adf1525befb5606462431eb1a4ea40ded5baef4 Mon Sep 17 00:00:00 2001 From: Peter P Waskiewicz Jr Date: Fri, 26 Dec 2008 01:36:05 -0800 Subject: ixgbe: Fix NAPI enable/disable path when using DCB This change allows DCB mode to change the number of queues, and presumably the number of NAPI instances, safely. Signed-off-by: Peter P Waskiewicz Jr Signed-off-by: Jeff Kirsher Signed-off-by: David S. Miller --- drivers/net/ixgbe/ixgbe_dcb_nl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'drivers/net/ixgbe/ixgbe_dcb_nl.c') diff --git a/drivers/net/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ixgbe/ixgbe_dcb_nl.c index 8ac639d0da0..4129976953f 100644 --- a/drivers/net/ixgbe/ixgbe_dcb_nl.c +++ b/drivers/net/ixgbe/ixgbe_dcb_nl.c @@ -148,6 +148,7 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state) netdev->netdev_ops->ndo_stop(netdev); ixgbe_reset_interrupt_capability(adapter); ixgbe_napi_del_all(adapter); + INIT_LIST_HEAD(&netdev->napi_list); kfree(adapter->tx_ring); kfree(adapter->rx_ring); adapter->tx_ring = NULL; @@ -157,7 +158,6 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state) adapter->flags &= ~IXGBE_FLAG_RSS_ENABLED; adapter->flags |= IXGBE_FLAG_DCB_ENABLED; ixgbe_init_interrupt_scheme(adapter); - ixgbe_napi_add_all(adapter); if (netif_running(netdev)) netdev->netdev_ops->ndo_open(netdev); } else { @@ -167,6 +167,7 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state) netdev->netdev_ops->ndo_stop(netdev); ixgbe_reset_interrupt_capability(adapter); ixgbe_napi_del_all(adapter); + INIT_LIST_HEAD(&netdev->napi_list); kfree(adapter->tx_ring); kfree(adapter->rx_ring); adapter->tx_ring = NULL; @@ -176,7 +177,6 @@ static u8 ixgbe_dcbnl_set_state(struct net_device *netdev, u8 state) adapter->flags &= ~IXGBE_FLAG_DCB_ENABLED; adapter->flags |= IXGBE_FLAG_RSS_ENABLED; ixgbe_init_interrupt_scheme(adapter); - ixgbe_napi_add_all(adapter); if (netif_running(netdev)) netdev->netdev_ops->ndo_open(netdev); } -- cgit v1.2.3