aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/brocade/bna
diff options
context:
space:
mode:
authorRasesh Mody <rmody@brocade.com>2013-05-20 10:08:01 +0000
committerDavid S. Miller <davem@davemloft.net>2013-05-20 14:07:59 -0700
commit4b2305826ccd57a8b22d3daff543837ba27cfd43 (patch)
tree043aa260bb16d60d03eca26c2daefe6917f1ab6a /drivers/net/ethernet/brocade/bna
parentnet: dm9000: Allow instantiation using device tree (diff)
downloadlinux-dev-4b2305826ccd57a8b22d3daff543837ba27cfd43.tar.xz
linux-dev-4b2305826ccd57a8b22d3daff543837ba27cfd43.zip
bna: Clear Driver Config Flags When HW Resets
Driver configuration flags are retained across open/stop operations preventing configurations to be set in next open/stop. Setting MTU on a 1020 causes network to fail until a reboot is performed on the host. Clear the flags when configuration resets in hardware. Signed-off-by: Rasesh Mody <rmody@brocade.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/brocade/bna')
-rw-r--r--drivers/net/ethernet/brocade/bna/bnad.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c
index 07f7ef05c3f2..b78e69e0e52a 100644
--- a/drivers/net/ethernet/brocade/bna/bnad.c
+++ b/drivers/net/ethernet/brocade/bna/bnad.c
@@ -2624,6 +2624,9 @@ bnad_stop(struct net_device *netdev)
bnad_destroy_tx(bnad, 0);
bnad_destroy_rx(bnad, 0);
+ /* These config flags are cleared in the hardware */
+ bnad->cfg_flags &= ~(BNAD_CF_ALLMULTI | BNAD_CF_PROMISC);
+
/* Synchronize mailbox IRQ */
bnad_mbox_irq_sync(bnad);