summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRasesh Mody <rmody@brocade.com>2011-09-16 15:06:47 +0000
committerDavid S. Miller <davem@davemloft.net>2011-09-17 00:47:57 -0400
commit3fb9852f98ffb4cdd3bad6eb50b1a6d58cee1298 (patch)
tree89d2d7fef55023e6c5c670b66804980710a95f66 /drivers
parent1d51a1325e43e0c05df626735c66d52203d610fd (diff)
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')
-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);
}
}