|
@@ -1358,8 +1358,10 @@ static int lowpan_newlink(struct net *src_net, struct net_device *dev,
|
|
real_dev = dev_get_by_index(src_net, nla_get_u32(tb[IFLA_LINK]));
|
|
real_dev = dev_get_by_index(src_net, nla_get_u32(tb[IFLA_LINK]));
|
|
if (!real_dev)
|
|
if (!real_dev)
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
- if (real_dev->type != ARPHRD_IEEE802154)
|
|
|
|
|
|
+ if (real_dev->type != ARPHRD_IEEE802154) {
|
|
|
|
+ dev_put(real_dev);
|
|
return -EINVAL;
|
|
return -EINVAL;
|
|
|
|
+ }
|
|
|
|
|
|
lowpan_dev_info(dev)->real_dev = real_dev;
|
|
lowpan_dev_info(dev)->real_dev = real_dev;
|
|
lowpan_dev_info(dev)->fragment_tag = 0;
|
|
lowpan_dev_info(dev)->fragment_tag = 0;
|