diff options
Diffstat (limited to 'net/mac802154/iface.c')
| -rw-r--r-- | net/mac802154/iface.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/net/mac802154/iface.c b/net/mac802154/iface.c index 06019dba4b10..bd88a9b80773 100644 --- a/net/mac802154/iface.c +++ b/net/mac802154/iface.c @@ -526,8 +526,6 @@ static void mac802154_wpan_free(struct net_device *dev)  	struct ieee802154_sub_if_data *sdata = IEEE802154_DEV_TO_SUB_IF(dev);  	mac802154_llsec_destroy(&sdata->sec); - -	free_netdev(dev);  }  static void ieee802154_if_setup(struct net_device *dev) @@ -593,7 +591,8 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata,  					sdata->dev->dev_addr);  		sdata->dev->header_ops = &mac802154_header_ops; -		sdata->dev->destructor = mac802154_wpan_free; +		sdata->dev->needs_free_netdev = true; +		sdata->dev->priv_destructor = mac802154_wpan_free;  		sdata->dev->netdev_ops = &mac802154_wpan_ops;  		sdata->dev->ml_priv = &mac802154_mlme_wpan;  		wpan_dev->promiscuous_mode = false; @@ -608,7 +607,7 @@ ieee802154_setup_sdata(struct ieee802154_sub_if_data *sdata,  		break;  	case NL802154_IFTYPE_MONITOR: -		sdata->dev->destructor = free_netdev; +		sdata->dev->needs_free_netdev = true;  		sdata->dev->netdev_ops = &mac802154_monitor_ops;  		wpan_dev->promiscuous_mode = true;  		break; |