summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorVasu Dev <vasu.dev@intel.com>2010-03-19 04:33:10 +0000
committerDavid S. Miller <davem@davemloft.net>2010-03-19 21:00:43 -0700
commit936332b8e00103fc20eb7e915c9a3bcb2835a11a (patch)
tree618b52182561406b1f937d75ac846d2a7643c2e0 /drivers/net
parent97e3ecd112ba45eb217cddab59f48659bc15d9d0 (diff)
downloadlinux-3.10-936332b8e00103fc20eb7e915c9a3bcb2835a11a.tar.gz
linux-3.10-936332b8e00103fc20eb7e915c9a3bcb2835a11a.tar.bz2
linux-3.10-936332b8e00103fc20eb7e915c9a3bcb2835a11a.zip
ixgbe: fix for real_num_tx_queues update issue
Currently netdev_features_change is called before fcoe tx queues setup is done, so this patch moves calling of netdev_features_change after tx queues setup is done in ixgbe_init_interrupt_scheme, so that real_num_tx_queues is updated correctly on each fcoe enable or disable. This allows additional fcoe queues updated correctly in vlan driver for their correct queue selection. Signed-off-by: Vasu Dev <vasu.dev@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ixgbe/ixgbe_fcoe.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/ixgbe/ixgbe_fcoe.c b/drivers/net/ixgbe/ixgbe_fcoe.c
index 4123dec0dfb..700cfc0aa1b 100644
--- a/drivers/net/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ixgbe/ixgbe_fcoe.c
@@ -614,9 +614,9 @@ int ixgbe_fcoe_enable(struct net_device *netdev)
netdev->vlan_features |= NETIF_F_FSO;
netdev->vlan_features |= NETIF_F_FCOE_MTU;
netdev->fcoe_ddp_xid = IXGBE_FCOE_DDP_MAX - 1;
- netdev_features_change(netdev);
ixgbe_init_interrupt_scheme(adapter);
+ netdev_features_change(netdev);
if (netif_running(netdev))
netdev->netdev_ops->ndo_open(netdev);
@@ -660,11 +660,11 @@ int ixgbe_fcoe_disable(struct net_device *netdev)
netdev->vlan_features &= ~NETIF_F_FSO;
netdev->vlan_features &= ~NETIF_F_FCOE_MTU;
netdev->fcoe_ddp_xid = 0;
- netdev_features_change(netdev);
ixgbe_cleanup_fcoe(adapter);
-
ixgbe_init_interrupt_scheme(adapter);
+ netdev_features_change(netdev);
+
if (netif_running(netdev))
netdev->netdev_ops->ndo_open(netdev);
rc = 0;