Commit 3fb9852f authored by Rasesh Mody's avatar Rasesh Mody Committed by David S. Miller

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: default avatarGurunatha Karaje <gkaraje@brocade.com>
Signed-off-by: default avatarRasesh Mody <rmody@brocade.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 1d51a132
...@@ -471,16 +471,17 @@ bnad_set_ringparam(struct net_device *netdev, ...@@ -471,16 +471,17 @@ bnad_set_ringparam(struct net_device *netdev,
current_err = bnad_setup_rx(bnad, i); current_err = bnad_setup_rx(bnad, i);
if (current_err && !err) if (current_err && !err)
err = current_err; err = current_err;
if (!err)
bnad_restore_vlans(bnad, i);
} }
if (!err && bnad->rx_info[0].rx) { if (!err && bnad->rx_info[0].rx) {
/* restore rx configuration */ /* restore rx configuration */
bnad_restore_vlans(bnad, 0);
bnad_enable_default_bcast(bnad); bnad_enable_default_bcast(bnad);
spin_lock_irqsave(&bnad->bna_lock, flags); spin_lock_irqsave(&bnad->bna_lock, flags);
bnad_mac_addr_set_locked(bnad, netdev->dev_addr); bnad_mac_addr_set_locked(bnad, netdev->dev_addr);
spin_unlock_irqrestore(&bnad->bna_lock, flags); spin_unlock_irqrestore(&bnad->bna_lock, flags);
bnad->cfg_flags &= ~(BNAD_CF_ALLMULTI |
BNAD_CF_PROMISC);
bnad_set_rx_mode(netdev); bnad_set_rx_mode(netdev);
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment