Skip to content

Commit

Permalink
net: fix up a few missing hashtable.h conflict resolutions
Browse files Browse the repository at this point in the history
There are a couple of leftover symbol conflicts caused by hashtable.h
being included by netdevice.h; those were not caught as build failure
(they're "only" a warning, but in fact real bugs). Fix those up.

Fixes: e87a8f2 ("net: resolve symbol conflicts with generic hashtable.h")
Reported-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jiri Kosina authored and David S. Miller committed Aug 13, 2016
1 parent a31eb63 commit 6176e89
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
4 changes: 2 additions & 2 deletions drivers/net/ethernet/dec/tulip/de4x5.c
Original file line number Diff line number Diff line change
Expand Up @@ -1966,7 +1966,7 @@ SetMulticastFilter(struct net_device *dev)
} else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */
netdev_for_each_mc_addr(ha, dev) {
crc = ether_crc_le(ETH_ALEN, ha->addr);
hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */
hashcode = crc & DE4X5_HASH_BITS; /* hashcode is 9 LSb of CRC */

byte = hashcode >> 3; /* bit[3-8] -> byte in filter */
bit = 1 << (hashcode & 0x07);/* bit[0-2] -> bit in byte */
Expand Down Expand Up @@ -5043,7 +5043,7 @@ build_setup_frame(struct net_device *dev, int mode)
*(pa + i) = dev->dev_addr[i]; /* Host address */
if (i & 0x01) pa += 2;
}
*(lp->setup_frame + (HASH_TABLE_LEN >> 3) - 3) = 0x80;
*(lp->setup_frame + (DE4X5_HASH_TABLE_LEN >> 3) - 3) = 0x80;
} else {
for (i=0; i<ETH_ALEN; i++) { /* Host address */
*(pa + (i&1)) = dev->dev_addr[i];
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/dec/tulip/de4x5.h
Original file line number Diff line number Diff line change
Expand Up @@ -860,8 +860,8 @@
#define PCI 0
#define EISA 1

#define HASH_TABLE_LEN 512 /* Bits */
#define HASH_BITS 0x01ff /* 9 LS bits */
#define DE4X5_HASH_TABLE_LEN 512 /* Bits */
#define DE4X5_HASH_BITS 0x01ff /* 9 LS bits */

#define SETUP_FRAME_LEN 192 /* Bytes */
#define IMPERF_PA_OFFSET 156 /* Bytes */
Expand Down
6 changes: 3 additions & 3 deletions drivers/net/ethernet/freescale/fec_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2887,7 +2887,7 @@ fec_enet_close(struct net_device *ndev)
* this kind of feature?).
*/

#define HASH_BITS 6 /* #bits in hash */
#define FEC_HASH_BITS 6 /* #bits in hash */
#define CRC32_POLY 0xEDB88320

static void set_multicast_list(struct net_device *ndev)
Expand Down Expand Up @@ -2935,10 +2935,10 @@ static void set_multicast_list(struct net_device *ndev)
}
}

/* only upper 6 bits (HASH_BITS) are used
/* only upper 6 bits (FEC_HASH_BITS) are used
* which point to specific bit in he hash registers
*/
hash = (crc >> (32 - HASH_BITS)) & 0x3f;
hash = (crc >> (32 - FEC_HASH_BITS)) & 0x3f;

if (hash > 31) {
tmp = readl(fep->hwp + FEC_GRP_HASH_TABLE_HIGH);
Expand Down

0 comments on commit 6176e89

Please sign in to comment.