提交 772e42b0 编写于 作者: C Christoph Müllner 提交者: David S. Miller

net: fec: Fix multicast list setup in fec_restart().

Setup the multicast list of the net_device instead of
clearing it blindly. This restores the multicast groups
in case of a link down/up event or when resuming from
suspend.
Signed-off-by: NChristoph Muellner <christoph.muellner@theobroma-systems.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 52bd4c0c
...@@ -59,6 +59,8 @@ ...@@ -59,6 +59,8 @@
#include "fec.h" #include "fec.h"
static void set_multicast_list(struct net_device *ndev);
#if defined(CONFIG_ARM) #if defined(CONFIG_ARM)
#define FEC_ALIGNMENT 0xf #define FEC_ALIGNMENT 0xf
#else #else
...@@ -470,9 +472,8 @@ fec_restart(struct net_device *ndev, int duplex) ...@@ -470,9 +472,8 @@ fec_restart(struct net_device *ndev, int duplex)
/* Clear any outstanding interrupt. */ /* Clear any outstanding interrupt. */
writel(0xffc00000, fep->hwp + FEC_IEVENT); writel(0xffc00000, fep->hwp + FEC_IEVENT);
/* Reset all multicast. */ /* Setup multicast filter. */
writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH); set_multicast_list(ndev);
writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW);
#ifndef CONFIG_M5272 #ifndef CONFIG_M5272
writel(0, fep->hwp + FEC_HASH_TABLE_HIGH); writel(0, fep->hwp + FEC_HASH_TABLE_HIGH);
writel(0, fep->hwp + FEC_HASH_TABLE_LOW); writel(0, fep->hwp + FEC_HASH_TABLE_LOW);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册