diff options
Diffstat (limited to 'drivers/net/arm')
-rw-r--r-- | drivers/net/arm/am79c961a.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c index 7b3e23f38913..52fe21e1e2cd 100644 --- a/drivers/net/arm/am79c961a.c +++ b/drivers/net/arm/am79c961a.c | |||
@@ -199,17 +199,15 @@ am79c961_ramtest(struct net_device *dev, unsigned int val) | |||
199 | 199 | ||
200 | static void am79c961_mc_hash(char *addr, u16 *hash) | 200 | static void am79c961_mc_hash(char *addr, u16 *hash) |
201 | { | 201 | { |
202 | if (addr[0] & 0x01) { | 202 | int idx, bit; |
203 | int idx, bit; | 203 | u32 crc; |
204 | u32 crc; | ||
205 | 204 | ||
206 | crc = ether_crc_le(ETH_ALEN, addr); | 205 | crc = ether_crc_le(ETH_ALEN, addr); |
207 | 206 | ||
208 | idx = crc >> 30; | 207 | idx = crc >> 30; |
209 | bit = (crc >> 26) & 15; | 208 | bit = (crc >> 26) & 15; |
210 | 209 | ||
211 | hash[idx] |= 1 << bit; | 210 | hash[idx] |= 1 << bit; |
212 | } | ||
213 | } | 211 | } |
214 | 212 | ||
215 | static unsigned int am79c961_get_rx_mode(struct net_device *dev, u16 *hash) | 213 | static unsigned int am79c961_get_rx_mode(struct net_device *dev, u16 *hash) |