aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/macb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/macb.c')
-rw-r--r--drivers/net/macb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index c8a18a6203c8..cf7debc865b3 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -793,6 +793,7 @@ static void macb_init_hw(struct macb *bp)
793 config = macb_readl(bp, NCFGR) & MACB_BF(CLK, -1L); 793 config = macb_readl(bp, NCFGR) & MACB_BF(CLK, -1L);
794 config |= MACB_BIT(PAE); /* PAuse Enable */ 794 config |= MACB_BIT(PAE); /* PAuse Enable */
795 config |= MACB_BIT(DRFCS); /* Discard Rx FCS */ 795 config |= MACB_BIT(DRFCS); /* Discard Rx FCS */
796 config |= MACB_BIT(BIG); /* Receive oversized frames */
796 if (bp->dev->flags & IFF_PROMISC) 797 if (bp->dev->flags & IFF_PROMISC)
797 config |= MACB_BIT(CAF); /* Copy All Frames */ 798 config |= MACB_BIT(CAF); /* Copy All Frames */
798 if (!(bp->dev->flags & IFF_BROADCAST)) 799 if (!(bp->dev->flags & IFF_BROADCAST))
@@ -882,15 +883,15 @@ static int hash_get_index(__u8 *addr)
882 */ 883 */
883static void macb_sethashtable(struct net_device *dev) 884static void macb_sethashtable(struct net_device *dev)
884{ 885{
885 struct dev_mc_list *curr; 886 struct netdev_hw_addr *ha;
886 unsigned long mc_filter[2]; 887 unsigned long mc_filter[2];
887 unsigned int bitnr; 888 unsigned int bitnr;
888 struct macb *bp = netdev_priv(dev); 889 struct macb *bp = netdev_priv(dev);
889 890
890 mc_filter[0] = mc_filter[1] = 0; 891 mc_filter[0] = mc_filter[1] = 0;
891 892
892 netdev_for_each_mc_addr(curr, dev) { 893 netdev_for_each_mc_addr(ha, dev) {
893 bitnr = hash_get_index(curr->dmi_addr); 894 bitnr = hash_get_index(ha->addr);
894 mc_filter[bitnr >> 5] |= 1 << (bitnr & 31); 895 mc_filter[bitnr >> 5] |= 1 << (bitnr & 31);
895 } 896 }
896 897