Subject: Re: linux-next: build failure after merge of the net tree

From: Greg Kroah-Hartman <[email-masked]>
Date: Thu, 8 Jun 2017 09:22:20 +0200

On Thu, Jun 08, 2017 at 10:08:58AM +1000, Stephen Rothwell wrote:
> Hi all,
> 
> After merging the net tree, today's linux-next build (x86_64 allmodconfig)
> failed like this:
> 
> drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c: In function 'rtw_cfg80211_add_monitor_if':
> drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c:2670:10: error: 'struct net_device' has no member named 'destructor'
>   mon_ndev->destructor = rtw_ndev_destructor;
>           ^
> 
> Caused by commit
> 
>   cf124db566e6 ("net: Fix inconsistent teardown and release of private netdev state.")
> 
> from the net tree interacting with commit
> 
>   554c0a3abf21 ("staging: Add rtl8723bs sdio wifi driver"
> 
> from Linus' tree (v4.12-rc1).
> 
> I applied the following merge fix patch for today.
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Thu, 8 Jun 2017 09:49:26 +1000
> Subject: [PATCH] net: fix up for "Fix inconsistent teardown and release of private netdev state"
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 3 ++-
>  drivers/staging/rtl8723bs/os_dep/os_intfs.c       | 2 --
>  2 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> index 36c3189fc4b7..bd4352fe2de3 100644
> --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> @@ -2667,7 +2667,8 @@ static int rtw_cfg80211_add_monitor_if (struct adapter *padapter, char *name, st
>  	mon_ndev->type = ARPHRD_IEEE80211_RADIOTAP;
>  	strncpy(mon_ndev->name, name, IFNAMSIZ);
>  	mon_ndev->name[IFNAMSIZ - 1] = 0;
> -	mon_ndev->destructor = rtw_ndev_destructor;
> +	mon_ndev->needs_free_netdev = true;
> +	mon_ndev->priv_destructor = rtw_ndev_destructor;
>  
>  	mon_ndev->netdev_ops = &rtw_cfg80211_monitor_if_ops;
>  
> diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> index f83cfc76505c..021589913681 100644
> --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c
> @@ -1207,8 +1207,6 @@ void rtw_ndev_destructor(struct net_device *ndev)
>  
>  	if (ndev->ieee80211_ptr)
>  		kfree((u8 *)ndev->ieee80211_ptr);
> -
> -	free_netdev(ndev);
>  }
>  
>  void rtw_dev_unload(struct adapter *padapter)

Looks good to me, thanks for this, I'll keep it around for when the
merge window  happens.

greg k-h