summaryrefslogtreecommitdiff
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
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>
-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);
}
}