From 98c9d894c59150972c38d9659d8a305af5ff52a0 Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Wed, 29 Jun 2011 02:15:15 +0000 Subject: [PATCH] --- yaml --- r: 256001 b: refs/heads/master c: 3170ff54c26004ea627022af695d0c8709d29b04 h: refs/heads/master i: 255999: 8b6a99da2af5793bce7e358301aef57a9138a732 v: v3 --- [refs] | 2 +- trunk/drivers/net/depca.c | 21 ++++++++------------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/[refs] b/[refs] index ba7b6136ed9a..eadc63333961 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bda7ed47937bd9ba8c10631ca884f7fefb162f4d +refs/heads/master: 3170ff54c26004ea627022af695d0c8709d29b04 diff --git a/trunk/drivers/net/depca.c b/trunk/drivers/net/depca.c index d54a0e93ba93..a7ccaa67c7d4 100644 --- a/trunk/drivers/net/depca.c +++ b/trunk/drivers/net/depca.c @@ -1270,7 +1270,6 @@ static void SetMulticastFilter(struct net_device *dev) { struct depca_private *lp = netdev_priv(dev); struct netdev_hw_addr *ha; - char *addrs; int i, j, bit, byte; u16 hashcode; u32 crc; @@ -1285,19 +1284,15 @@ static void SetMulticastFilter(struct net_device *dev) } /* Add multicast addresses */ netdev_for_each_mc_addr(ha, dev) { - addrs = ha->addr; - if ((*addrs & 0x01) == 1) { /* multicast address? */ - crc = ether_crc(ETH_ALEN, addrs); - hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ - for (j = 0; j < 5; j++) { /* ... in reverse order. */ - hashcode = (hashcode << 1) | ((crc >>= 1) & 1); - } - - - byte = hashcode >> 3; /* bit[3-5] -> byte in filter */ - bit = 1 << (hashcode & 0x07); /* bit[0-2] -> bit in byte */ - lp->init_block.mcast_table[byte] |= bit; + crc = ether_crc(ETH_ALEN, ha->addr); + hashcode = (crc & 1); /* hashcode is 6 LSb of CRC ... */ + for (j = 0; j < 5; j++) { /* ... in reverse order. */ + hashcode = (hashcode << 1) | ((crc >>= 1) & 1); } + + byte = hashcode >> 3; /* bit[3-5] -> byte in filter */ + bit = 1 << (hashcode & 0x07); /* bit[0-2] -> bit in byte */ + lp->init_block.mcast_table[byte] |= bit; } } }