diff options
author | Johannes Berg <johannes.berg@intel.com> | 2013-04-12 11:47:24 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-04-15 11:32:46 +0200 |
commit | 1c4e559c0f7da7826f3b2bec50af8d089fdb42a3 (patch) | |
tree | d092c5c57e8d9abd599aca46218c633e6afdb727 /backport/backport-include/linux/netdevice.h | |
parent | 4b41a811ad8ee845a1e5964585b7ffa150cd35e3 (diff) |
backports: dissolve compat-3.0.h
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'backport/backport-include/linux/netdevice.h')
-rw-r--r-- | backport/backport-include/linux/netdevice.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/backport/backport-include/linux/netdevice.h b/backport/backport-include/linux/netdevice.h index 441db728..4b2a1ea3 100644 --- a/backport/backport-include/linux/netdevice.h +++ b/backport/backport-include/linux/netdevice.h @@ -64,4 +64,27 @@ static inline void netdev_reset_queue(struct net_device *dev_queue) #endif /* CONFIG_BQL */ #endif /* < 3.3 */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(3,0,0) +/* + * since commit 1c5cae815d19ffe02bdfda1260949ef2b1806171 + * "net: call dev_alloc_name from register_netdevice" dev_alloc_name is + * called automatically. This is not implemented in older kernel + * versions so it will result in device wrong names. + */ +static inline int register_netdevice_name(struct net_device *dev) +{ + int err; + + if (strchr(dev->name, '%')) { + err = dev_alloc_name(dev, dev->name); + if (err < 0) + return err; + } + + return register_netdevice(dev); +} + +#define register_netdevice(dev) register_netdevice_name(dev) +#endif + #endif /* __BACKPORT_NETDEVICE_H */ |