batman-adv: fix NET_ADDR_RANDOM usage for pre-3.9 kernel

Message ID 1357654984-19098-1-git-send-email-siwu@hrz.tu-chemnitz.de (mailing list archive)
State Accepted, archived
Headers

Commit Message

Simon Wunderlich Jan. 8, 2013, 2:23 p.m. UTC
  Kernel before 3.9 have the NET_ADDR_RANDOM flag which needs to be set.
This patch adds the necessary compat change for older kernel.

Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
---
 compat.h |   13 +++++++++++++
 1 file changed, 13 insertions(+)
  

Comments

Marek Lindner Jan. 9, 2013, 7:24 a.m. UTC | #1
On Tuesday, January 08, 2013 22:23:04 Simon Wunderlich wrote:
> Kernel before 3.9 have the NET_ADDR_RANDOM flag which needs to be set.
> This patch adds the necessary compat change for older kernel.
> 
> Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
> ---
>  compat.h |   13 +++++++++++++
>  1 file changed, 13 insertions(+)

Applied in revision dfb4649.

Thanks,
Marek
  

Patch

diff --git a/compat.h b/compat.h
index 3d03a2f..e21b310 100644
--- a/compat.h
+++ b/compat.h
@@ -198,6 +198,19 @@  static inline void eth_hw_addr_random(struct net_device *dev)
 
 #define prandom_u32() random32()
 
+#define batadv_interface_set_mac_addr(x, y) \
+__batadv_interface_set_mac_addr(struct net_device *dev, void *p);\
+static int batadv_interface_set_mac_addr(struct net_device *dev, void *p) \
+{\
+	int ret;\
+\
+	ret = __batadv_interface_set_mac_addr(dev, p);\
+	if (!ret) \
+		dev->addr_assign_type &= ~NET_ADDR_RANDOM;\
+	return ret;\
+}\
+static int __batadv_interface_set_mac_addr(x, y)
+
 #endif /* < KERNEL_VERSION(3, 9, 0) */
 
 #endif /* _NET_BATMAN_ADV_COMPAT_H_ */