From: Andrew Morton Hilarious hackery to prevent this: In file included from net/ieee80211/ieee80211_tx.c:47: include/net/ieee80211.h:629: redefinition of `is_multicast_ether_addr' include/linux/etherdevice.h:67: `is_multicast_ether_addr' previously defined here I wonder which version of this function is correct? Cc: Jeff Garzik Signed-off-by: Andrew Morton --- include/linux/etherdevice.h | 3 +++ include/net/ieee80211.h | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff -puN include/net/ieee80211.h~is_multicast_ether_addr-hack include/net/ieee80211.h --- 25/include/net/ieee80211.h~is_multicast_ether_addr-hack 2005-05-31 17:55:32.000000000 -0700 +++ 25-akpm/include/net/ieee80211.h 2005-05-31 17:56:10.000000000 -0700 @@ -624,11 +624,13 @@ enum ieee80211_state { #define MAC_FMT "%02x:%02x:%02x:%02x:%02x:%02x" #define MAC_ARG(x) ((u8*)(x))[0],((u8*)(x))[1],((u8*)(x))[2],((u8*)(x))[3],((u8*)(x))[4],((u8*)(x))[5] - +#define IS_MULTICAST_ETHER_ADDR_HACK_1 +#ifndef IS_MULTICAST_ETHER_ADDR_HACK_2 extern inline int is_multicast_ether_addr(const u8 *addr) { return ((addr[0] != 0xff) && (0x01 & addr[0])); } +#endif extern inline int is_broadcast_ether_addr(const u8 *addr) { diff -puN include/linux/etherdevice.h~is_multicast_ether_addr-hack include/linux/etherdevice.h --- 25/include/linux/etherdevice.h~is_multicast_ether_addr-hack 2005-05-31 17:55:32.000000000 -0700 +++ 25-akpm/include/linux/etherdevice.h 2005-05-31 17:56:26.000000000 -0700 @@ -55,6 +55,8 @@ static inline int is_zero_ether_addr(con return !(addr[0] | addr[1] | addr[2] | addr[3] | addr[4] | addr[5]); } +#define IS_MULTICAST_ETHER_ADDR_HACK_2 +#ifndef IS_MULTICAST_ETHER_ADDR_HACK_1 /** * is_multicast_ether_addr - Determine if the given Ethernet address is a * multicast address. @@ -67,6 +69,7 @@ static inline int is_multicast_ether_add { return addr[0] & 0x01; } +#endif /** * is_valid_ether_addr - Determine if the given Ethernet address is valid _