From: Rasesh Mody Date: Fri, 16 Sep 2011 15:06:47 +0000 (+0000) Subject: bna: Set Ring Param Fix X-Git-Tag: next-20110919~57^2~2 X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-linux.git;a=commitdiff_plain;h=3fb9852f98ffb4cdd3bad6eb50b1a6d58cee1298 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 Signed-off-by: Rasesh Mody Signed-off-by: David S. Miller --- 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); } }