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: Christoph Muellner <christoph.muellner@theobroma-systems.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
52bd4c0c15
commit
772e42b07f
@ -59,6 +59,8 @@
|
||||
|
||||
#include "fec.h"
|
||||
|
||||
static void set_multicast_list(struct net_device *ndev);
|
||||
|
||||
#if defined(CONFIG_ARM)
|
||||
#define FEC_ALIGNMENT 0xf
|
||||
#else
|
||||
@ -470,9 +472,8 @@ fec_restart(struct net_device *ndev, int duplex)
|
||||
/* Clear any outstanding interrupt. */
|
||||
writel(0xffc00000, fep->hwp + FEC_IEVENT);
|
||||
|
||||
/* Reset all multicast. */
|
||||
writel(0, fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
|
||||
writel(0, fep->hwp + FEC_GRP_HASH_TABLE_LOW);
|
||||
/* Setup multicast filter. */
|
||||
set_multicast_list(ndev);
|
||||
#ifndef CONFIG_M5272
|
||||
writel(0, fep->hwp + FEC_HASH_TABLE_HIGH);
|
||||
writel(0, fep->hwp + FEC_HASH_TABLE_LOW);
|
||||
|
Loading…
x
Reference in New Issue
Block a user