From: Rasesh Mody Date: Fri, 16 Sep 2011 15:06:47 +0000 (+0000) Subject: bna: Set Ring Param Fix X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=3fb9852f98ffb4cdd3bad6eb50b1a6d58cee1298;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git 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); } }