diff --git a/target/linux/generic/patches-3.8/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-3.8/643-bridge_remove_ipv6_dependency.patch
index 5c60d1347b6cf8d0c5fc8eb9ac0932636fb87855..f4aafca45c251818406e40d551e21040ee6bc4d8 100644
--- a/target/linux/generic/patches-3.8/643-bridge_remove_ipv6_dependency.patch
+++ b/target/linux/generic/patches-3.8/643-bridge_remove_ipv6_dependency.patch
@@ -5,9 +5,9 @@
  					const struct in6_addr *addr);
  
 +extern int			(*ipv6_dev_get_saddr_hook)(struct net *net,
-+						struct net_device *dev,
++						const struct net_device *dev,
 +						const struct in6_addr *daddr,
-+						unsigned int srcprefs,
++						unsigned int prefs,
 +						struct in6_addr *saddr);
 +
  static inline unsigned long addrconf_timeout_fixup(u32 timeout,
@@ -81,13 +81,13 @@
 +#include <linux/export.h>
 +#include <net/ipv6.h>
 +
-+int (*ipv6_dev_get_saddr_hook)(struct net *net, struct net_device *dev,
-+			const struct in6_addr *daddr, unsigned int srcprefs,
++int (*ipv6_dev_get_saddr_hook)(struct net *net, const struct net_device *dev,
++			const struct in6_addr *daddr, unsigned int prefs,
 +			struct in6_addr *saddr);
 +
 +EXPORT_SYMBOL(ipv6_dev_get_saddr_hook);
 +
-+int ipv6_dev_get_saddr(struct net *net, struct net_device *dst_dev,
++int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev,
 +			const struct in6_addr *daddr, unsigned int prefs,
 +			struct in6_addr *saddr)
 +{
diff --git a/target/linux/generic/patches-3.9/643-bridge_remove_ipv6_dependency.patch b/target/linux/generic/patches-3.9/643-bridge_remove_ipv6_dependency.patch
index 7410a08abc28d07dae0463b60c4ad707c13212d6..aac820039bd301fa58ee1c23ffd6b79536a2fa07 100644
--- a/target/linux/generic/patches-3.9/643-bridge_remove_ipv6_dependency.patch
+++ b/target/linux/generic/patches-3.9/643-bridge_remove_ipv6_dependency.patch
@@ -5,9 +5,9 @@
  					const struct in6_addr *addr);
  
 +extern int			(*ipv6_dev_get_saddr_hook)(struct net *net,
-+						struct net_device *dev,
++						const struct net_device *dev,
 +						const struct in6_addr *daddr,
-+						unsigned int srcprefs,
++						unsigned int prefs,
 +						struct in6_addr *saddr);
 +
  static inline unsigned long addrconf_timeout_fixup(u32 timeout,
@@ -81,13 +81,13 @@
 +#include <linux/export.h>
 +#include <net/ipv6.h>
 +
-+int (*ipv6_dev_get_saddr_hook)(struct net *net, struct net_device *dev,
-+			const struct in6_addr *daddr, unsigned int srcprefs,
++int (*ipv6_dev_get_saddr_hook)(struct net *net, const struct net_device *dev,
++			const struct in6_addr *daddr, unsigned int prefs,
 +			struct in6_addr *saddr);
 +
 +EXPORT_SYMBOL(ipv6_dev_get_saddr_hook);
 +
-+int ipv6_dev_get_saddr(struct net *net, struct net_device *dst_dev,
++int ipv6_dev_get_saddr(struct net *net, const struct net_device *dst_dev,
 +			const struct in6_addr *daddr, unsigned int prefs,
 +			struct in6_addr *saddr)
 +{