1 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
2 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
3 @@ -500,6 +500,23 @@ static const struct net_device_ops brcmf
4 .ndo_set_rx_mode = brcmf_netdev_set_multicast_list
7 +#undef netdev_set_priv_destructor
8 +#if LINUX_VERSION_IS_LESS(4,11,9)
9 +#define netdev_set_priv_destructor(_dev, _destructor) \
10 + (_dev)->destructor = (_destructor)
12 +#define netdev_set_priv_destructor(_dev, _destructor) \
13 + (_dev)->priv_destructor = (_destructor)
16 +#if LINUX_VERSION_IS_LESS(4,12,0)
17 +static void __brcmf_cfg80211_free_netdev(struct net_device *ndev)
19 + brcmf_cfg80211_free_netdev(ndev);
24 int brcmf_net_attach(struct brcmf_if *ifp, bool rtnl_locked)
26 struct brcmf_pub *drvr = ifp->drvr;
27 @@ -672,7 +689,11 @@ struct brcmf_if *brcmf_add_if(struct brc
29 return ERR_PTR(-ENOMEM);
31 +#if LINUX_VERSION_IS_LESS(4,12,0)
32 + ndev->priv_destructor = __brcmf_cfg80211_free_netdev;
34 ndev->needs_free_netdev = true;
36 ifp = netdev_priv(ndev);
38 /* store mapping ifidx to bsscfgidx */