Search Linux Wireless

Re: [PATCH] staging: rtl8723bs: fix monitor netdev register/unregister

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2021-04-27 at 08:25 +0200, Greg KH wrote:
> 
> > +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c
> > @@ -2579,7 +2579,7 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str
> >  	mon_wdev->iftype = NL80211_IFTYPE_MONITOR;
> >  	mon_ndev->ieee80211_ptr = mon_wdev;
> > 
> > -	ret = register_netdevice(mon_ndev);
> > +	ret = cfg80211_register_netdevice(mon_ndev);
> 
> Is this now a requirement for all wireless drivers?

Yes and no. It must only be called from within a "please add an
interface" method. Otherwise, register_netdevice() must still be called.

> If so, do other drivers/staging/ drivers need to also be fixed up?

Not as far as I can tell, this is the only wireless staging driver that
even calls register_netdevice(). Not sure why I missed this, I had
audited all of those calls across the tree. But looking a second time
always shows more I guess, sorry about that.

There's another call to register_netdevice() here but I don't think
that's affected, however, it's obviously utterly broken in the first
place:

        if (!rtnl_is_locked())
                unregister_netdev(cur_pnetdev);
        else
                unregister_netdevice(cur_pnetdev);

*sigh*.

> I'm guessing this will be going through the wireless tree, so:
> 
> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

I don't care much, since unfortunately it's already too late and the
breakage is released in 5.12. I'll pick it up through my tree since I
broke it (and probably should add a Cc stable tag.)

johannes




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux