core.c (976e3645923bdd2fe7893aae33fd7a21098bfb28) core.c (eeb85a14ee3494febb85ccfbee0772eda0823b13)
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2007, 2008, 2009 Siemens AG
4 */
5
6#include <linux/slab.h>
7#include <linux/kernel.h>
8#include <linux/module.h>

--- 191 unchanged lines hidden (view full) ---

200{
201 struct wpan_dev *wpan_dev;
202 int err = 0;
203
204 list_for_each_entry(wpan_dev, &rdev->wpan_dev_list, list) {
205 if (!wpan_dev->netdev)
206 continue;
207 wpan_dev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2007, 2008, 2009 Siemens AG
4 */
5
6#include <linux/slab.h>
7#include <linux/kernel.h>
8#include <linux/module.h>

--- 191 unchanged lines hidden (view full) ---

200{
201 struct wpan_dev *wpan_dev;
202 int err = 0;
203
204 list_for_each_entry(wpan_dev, &rdev->wpan_dev_list, list) {
205 if (!wpan_dev->netdev)
206 continue;
207 wpan_dev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
208 err = dev_change_net_namespace(wpan_dev->netdev, net, "wpan%d");
208 err = dev_change_net_namespace(wpan_dev->netdev, net, "wpan%d", 0);
209 if (err)
210 break;
211 wpan_dev->netdev->features |= NETIF_F_NETNS_LOCAL;
212 }
213
214 if (err) {
215 /* failed -- clean up to old netns */
216 net = wpan_phy_net(&rdev->wpan_phy);
217
218 list_for_each_entry_continue_reverse(wpan_dev,
219 &rdev->wpan_dev_list,
220 list) {
221 if (!wpan_dev->netdev)
222 continue;
223 wpan_dev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
224 err = dev_change_net_namespace(wpan_dev->netdev, net,
209 if (err)
210 break;
211 wpan_dev->netdev->features |= NETIF_F_NETNS_LOCAL;
212 }
213
214 if (err) {
215 /* failed -- clean up to old netns */
216 net = wpan_phy_net(&rdev->wpan_phy);
217
218 list_for_each_entry_continue_reverse(wpan_dev,
219 &rdev->wpan_dev_list,
220 list) {
221 if (!wpan_dev->netdev)
222 continue;
223 wpan_dev->netdev->features &= ~NETIF_F_NETNS_LOCAL;
224 err = dev_change_net_namespace(wpan_dev->netdev, net,
225 "wpan%d");
225 "wpan%d", 0);
226 WARN_ON(err);
227 wpan_dev->netdev->features |= NETIF_F_NETNS_LOCAL;
228 }
229
230 return err;
231 }
232
233 wpan_phy_net_set(&rdev->wpan_phy, net);

--- 155 unchanged lines hidden ---
226 WARN_ON(err);
227 wpan_dev->netdev->features |= NETIF_F_NETNS_LOCAL;
228 }
229
230 return err;
231 }
232
233 wpan_phy_net_set(&rdev->wpan_phy, net);

--- 155 unchanged lines hidden ---