|
@@ -528,13 +528,6 @@ fec_restart(struct net_device *ndev, int duplex)
|
|
|
/* Clear any outstanding interrupt. */
|
|
|
writel(0xffc00000, fep->hwp + FEC_IEVENT);
|
|
|
|
|
|
- /* 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);
|
|
|
-#endif
|
|
|
-
|
|
|
/* Set maximum receive buffer size. */
|
|
|
writel(PKT_MAXBLR_SIZE, fep->hwp + FEC_R_BUFF_SIZE);
|
|
|
|
|
@@ -655,6 +648,13 @@ fec_restart(struct net_device *ndev, int duplex)
|
|
|
|
|
|
writel(rcntl, fep->hwp + FEC_R_CNTRL);
|
|
|
|
|
|
+ /* 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);
|
|
|
+#endif
|
|
|
+
|
|
|
if (id_entry->driver_data & FEC_QUIRK_ENET_MAC) {
|
|
|
/* enable ENET endian swap */
|
|
|
ecntl |= (1 << 8);
|