diff options
author | Luca Coelho <luciano.coelho@intel.com> | 2017-07-18 15:58:34 +0300 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2017-07-28 11:33:37 +0300 |
commit | 97b8d7c49f441b45c532c3fac7f173430fcae66d (patch) | |
tree | 364614ce82889a1848fbc6d111ac7d9b7f6f8b3d /backport/backport-include/linux/netdevice.h | |
parent | 71ae07b7e7e753a1414dd5ee11c20373c469071a (diff) |
backport: fix netdev destructor backport
The commit that changed the netdev destructor was also applied in
v4.12-rc6, so we need to update the backport.
Another issue was that when the default free_netdev() destructor was supposed to be used, we would get compilation errors, such as this one in hwsim:
In file included from ./include/net/dst.h:12:0,
from /home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c:22:
/home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c: In function hwsim_mon_setup':
/home/luca/iwlwifi/stack-dev/backport-include/linux/netdevice.h:325:23: error: '__free_netdev' undeclared (first use in this function)
(_dev)->destructor = __ ## _destructor
^
/home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c:2977:2: note: in expansion of macro 'netdev_set_priv_destructor'
netdev_set_priv_destructor(dev, free_netdev);
^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/luca/iwlwifi/stack-dev/backport-include/linux/netdevice.h:325:23: note: each undeclared identifier is reported only once for each function it appears in
(_dev)->destructor = __ ## _destructor
^
/home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.c:2977:2: note: in expansion of macro 'netdev_set_priv_destructor'
netdev_set_priv_destructor(dev, free_netdev);
^~~~~~~~~~~~~~~~~~~~~~~~~~
scripts/Makefile.build:300: recipe for target '/home/luca/iwlwifi/stack-dev/drivers/net/wireless/mac80211_hwsim.o' failed
To fix this, add a new macro, netdev_set_def_destructor(), that
handles this special case.
Change-Id: Ifcf1f19690487aee67e776b5700ff496c779e86c
Fixes: 721ae78f9355 ("backport: handle change in netdevice destructor usage")
Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'backport/backport-include/linux/netdevice.h')
-rw-r--r-- | backport/backport-include/linux/netdevice.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/backport/backport-include/linux/netdevice.h b/backport/backport-include/linux/netdevice.h index 98e781ee..d22eec2d 100644 --- a/backport/backport-include/linux/netdevice.h +++ b/backport/backport-include/linux/netdevice.h @@ -320,14 +320,17 @@ static inline void netif_trans_update(struct net_device *dev) } #endif -#if LINUX_VERSION_IS_LESS(4,13,0) +#if LINUX_VERSION_IS_LESS(4,12,0) #define netdev_set_priv_destructor(_dev, _destructor) \ (_dev)->destructor = __ ## _destructor +#define netdev_set_def_destructor(_dev) \ + (_dev)->destructor = free_netdev #else #define netdev_set_priv_destructor(_dev, _destructor) \ (_dev)->needs_free_netdev = true; \ - if ((_destructor) != free_netdev) \ - (_dev)->priv_destructor = (_destructor); + (_dev)->priv_destructor = (_destructor); +#define netdev_set_def_destructor(_dev) \ + (_dev)->needs_free_netdev = true; #endif #endif /* __BACKPORT_NETDEVICE_H */ |