From: Brice Goglin <brice@myri.com>
To: Jeff Garzik <jeff@garzik.org>
Cc: netdev@vger.kernel.org
Subject: [PATCH 3/6] myri10ge: fix restoring of multicast list after reset
Date: Mon, 07 May 2007 23:50:37 +0200 [thread overview]
Message-ID: <463F9F2D.7050106@myri.com> (raw)
In-Reply-To: <463F9E9E.8000808@ens-lyon.org>
Don't count on whatever implementation artifact preserves the
multicast list across a reset cmd, and setup multicast filtering
as part of our reset routine.
The setting of allmulti when adopting firmware with the rx-filter
broadcast bug is also moved into the multicast setup routine where
it belongs.
Signed-off-by: Brice Goglin <brice@myri.com>
---
drivers/net/myri10ge/myri10ge.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
Index: linux-git/drivers/net/myri10ge/myri10ge.c
===================================================================
--- linux-git.orig/drivers/net/myri10ge/myri10ge.c 2007-05-07 23:20:45.000000000 +0200
+++ linux-git/drivers/net/myri10ge/myri10ge.c 2007-05-07 23:21:27.000000000 +0200
@@ -290,6 +290,8 @@
#define myri10ge_pio_copy(to,from,size) __iowrite64_copy(to,from,size/8)
+static void myri10ge_set_multicast_list(struct net_device *dev);
+
static inline void put_be32(__be32 val, __be32 __iomem * p)
{
__raw_writel((__force __u32) val, (__force void __iomem *)p);
@@ -820,10 +822,8 @@
mgp->rx_done.cnt = 0;
mgp->link_changes = 0;
status = myri10ge_update_mac_address(mgp, mgp->dev->dev_addr);
- myri10ge_change_promisc(mgp, 0, 0);
myri10ge_change_pause(mgp, mgp->pause);
- if (mgp->adopted_rx_filter_bug)
- (void)myri10ge_send_cmd(mgp, MXGEFW_ENABLE_ALLMULTI, &cmd, 1);
+ myri10ge_set_multicast_list(mgp->dev);
return status;
}
@@ -2283,7 +2283,7 @@
myri10ge_change_promisc(mgp, dev->flags & IFF_PROMISC, 1);
/* This firmware is known to not support multicast */
- if (!mgp->fw_multicast_support || mgp->adopted_rx_filter_bug)
+ if (!mgp->fw_multicast_support)
return;
/* Disable multicast filtering */
@@ -2295,7 +2295,7 @@
goto abort;
}
- if (dev->flags & IFF_ALLMULTI) {
+ if ((dev->flags & IFF_ALLMULTI) || mgp->adopted_rx_filter_bug) {
/* request to disable multicast filtering, so quit here */
return;
}
next prev parent reply other threads:[~2007-05-07 21:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-05-07 21:48 [PATCH 0/6] myri10ge updates for 2.6.22 Brice Goglin
2007-05-07 21:49 ` [PATCH 1/6] myri10ge: support new firmware counters Brice Goglin
2007-05-08 5:16 ` Jeff Garzik
2007-05-07 21:49 ` [PATCH 2/6] myri10ge: update firmware headers Brice Goglin
2007-05-07 21:50 ` Brice Goglin [this message]
2007-05-07 21:51 ` [PATCH 4/6] myri10ge: limit the number of recoveries Brice Goglin
2007-05-08 5:13 ` Jeff Garzik
2007-05-08 21:10 ` Brice Goglin
2007-05-07 21:51 ` [PATCH 5/6] myri10ge: move the DMA test code into its own function Brice Goglin
2007-05-07 21:52 ` [PATCH 6/6] myri10ge: replace the chipset whitelist with firmware autodetection Brice Goglin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=463F9F2D.7050106@myri.com \
--to=brice@myri.com \
--cc=jeff@garzik.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.