[PATCH] fs_enet and multicasting
From: Matvejchikov Ilya <hidden>
Date: 2007-05-17 12:15:57
Good Day! There is a problem in fs_enet driver. When restart function is called the multicast settings do not restore. This patch fixes this bug. Signed-off-by: Matvejchikov Ilya <redacted> --- diff -purN linux-2.6.21-clean/drivers/net/fs_enet/mac-fcc.c linux-2.6.21/drivers/net/fs_enet/mac-fcc.c
--- linux-2.6.21-clean/drivers/net/fs_enet/mac-fcc.c 2007-04-2607:08:32.000000000 +0400
+++ linux-2.6.21/drivers/net/fs_enet/mac-fcc.c 2007-05-1712:43:02.000000000 +0400
@@ -433,6 +433,8 @@ static void restart(struct net_device *d else C32(fccp, fcc_fpsmr, FCC_PSMR_FDE | FCC_PSMR_LPB); + set_multicast_list(dev); + S32(fccp, fcc_gfmr, FCC_GFMR_ENR | FCC_GFMR_ENT); }
diff -purN linux-2.6.21-clean/drivers/net/fs_enet/mac-fec.c linux-2.6.21/drivers/net/fs_enet/mac-fec.c
--- linux-2.6.21-clean/drivers/net/fs_enet/mac-fec.c 2007-04-2607:08:32.000000000 +0400
+++ linux-2.6.21/drivers/net/fs_enet/mac-fec.c 2007-05-1712:35:59.000000000 +0400
@@ -366,6 +366,8 @@ static void restart(struct net_device *d FC(fecp, x_cntrl, FEC_TCNTRL_FDEN); /* FD disable */ } + set_multicast_list(dev); + /* * Enable interrupts we wish to service. */
diff -purN linux-2.6.21-clean/drivers/net/fs_enet/mac-scc.c linux-2.6.21/drivers/net/fs_enet/mac-scc.c
--- linux-2.6.21-clean/drivers/net/fs_enet/mac-scc.c 2007-04-2607:08:32.000000000 +0400
+++ linux-2.6.21/drivers/net/fs_enet/mac-scc.c 2007-05-1712:36:11.000000000 +0400
@@ -371,6 +371,8 @@ static void restart(struct net_device *d if (fep->phydev->duplex) S16(sccp, scc_psmr, SCC_PSMR_LPB | SCC_PSMR_FDE); + set_multicast_list(dev); + S32(sccp, scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); }