|
@@ -417,14 +417,11 @@ static void ip6_dst_ifdown(struct dst_entry *dst, struct net_device *dev,
|
|
|
struct net_device *loopback_dev =
|
|
|
dev_net(dev)->loopback_dev;
|
|
|
|
|
|
- if (dev != loopback_dev) {
|
|
|
- if (idev && idev->dev == dev) {
|
|
|
- struct inet6_dev *loopback_idev =
|
|
|
- in6_dev_get(loopback_dev);
|
|
|
- if (loopback_idev) {
|
|
|
- rt->rt6i_idev = loopback_idev;
|
|
|
- in6_dev_put(idev);
|
|
|
- }
|
|
|
+ if (idev && idev->dev != loopback_dev) {
|
|
|
+ struct inet6_dev *loopback_idev = in6_dev_get(loopback_dev);
|
|
|
+ if (loopback_idev) {
|
|
|
+ rt->rt6i_idev = loopback_idev;
|
|
|
+ in6_dev_put(idev);
|
|
|
}
|
|
|
}
|
|
|
}
|