summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/brocade
diff options
context:
space:
mode:
authorRasesh Mody <rmody@brocade.com>2011-09-16 17:06:47 +0200
committerDavid S. Miller <davem@davemloft.net>2011-09-17 06:47:57 +0200
commit3fb9852f98ffb4cdd3bad6eb50b1a6d58cee1298 (patch)
tree89d2d7fef55023e6c5c670b66804980710a95f66 /drivers/net/ethernet/brocade
parentbna: Semaphore Lock Fix (diff)
downloadlinux-3fb9852f98ffb4cdd3bad6eb50b1a6d58cee1298.tar.xz
linux-3fb9852f98ffb4cdd3bad6eb50b1a6d58cee1298.zip
bna: Set Ring Param Fix
When Rx queue size is changed, queues are torn down and setup with the new queue size. During this operation, clear promiscuous mode and restore the original VLAN filter. Signed-off-by: Gurunatha Karaje <gkaraje@brocade.com> Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/brocade')
-rw-r--r--drivers/net/ethernet/brocade/bna/bnad_ethtool.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bnad_ethtool.c b/drivers/net/ethernet/brocade/bna/bnad_ethtool.c
index 48422244397c..ac6b49561bf0 100644
--- a/drivers/net/ethernet/brocade/bna/bnad_ethtool.c
+++ b/drivers/net/ethernet/brocade/bna/bnad_ethtool.c
@@ -471,16 +471,17 @@ bnad_set_ringparam(struct net_device *netdev,
current_err = bnad_setup_rx(bnad, i);
if (current_err && !err)
err = current_err;
- if (!err)
- bnad_restore_vlans(bnad, i);
}
if (!err && bnad->rx_info[0].rx) {
/* restore rx configuration */
+ bnad_restore_vlans(bnad, 0);
bnad_enable_default_bcast(bnad);
spin_lock_irqsave(&bnad->bna_lock, flags);
bnad_mac_addr_set_locked(bnad, netdev->dev_addr);
spin_unlock_irqrestore(&bnad->bna_lock, flags);
+ bnad->cfg_flags &= ~(BNAD_CF_ALLMULTI |
+ BNAD_CF_PROMISC);
bnad_set_rx_mode(netdev);
}
}