Starting with kernel v3.2.39, a Debian specific patch defines
eth_hw_addr_random() in include/linux/etherdevice.h, causing the build of
batman-adv to fail.

This patch fixes the build on these kernels while keeping compatiblity with
unpatched kernels by renaming batman-adv's compat definition of the
eth_hw_addr_random() function to resolve the name conflict and adding a #define
macro.

Signed-off-by: Matthias Schiffer <[email protected]>
---
 compat.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/compat.h b/compat.h
index e1c6cd2..d955166 100644
--- a/compat.h
+++ b/compat.h
@@ -174,7 +174,9 @@ static inline void skb_reset_mac_len(struct sk_buff *skb)
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0)
 
-static inline void eth_hw_addr_random(struct net_device *dev)
+#define eth_hw_addr_random(dev)        batadv_eth_hw_addr_random(dev)
+
+static inline void batadv_eth_hw_addr_random(struct net_device *dev)
 {
        random_ether_addr(dev->dev_addr);
 }
-- 
1.8.2

Reply via email to