rcutree tree warning during P2P device support testing
Arend van Spriel
Wed Mar 20 14:46:47 PDT 2013
On 03/20/2013 10:29 PM, Johannes Berg wrote:
> On Wed, 2013-03-20 at 22:17 +0100, Arend van Spriel wrote:
>>> Hmm, why would stopping the supplicant cause brcmfmac to unload?? Or are
>>> you saying you first stop the supplicant, which gets you that warning,
>>> and then unload fails?
>> Indeed, upon stopping wpa_supplicant I get the warning. And doing a
>> rmmod from the command line after that fails in the hang.
> Right, ok.
>>>> [ 1634.039095] WARNING: at kernel/rcutree.c:1960
>>>> [ 1634.133917] Call Trace:
>>>> [ 1634.139833] [<c1039c92>] warn_slowpath_common+0x72/0xa0
>>>> [ 1634.148659] [<c10c61f9>] ? rcu_process_callbacks+0x469/0x560
>>>> [ 1634.157914] [<c10c61f9>] ? rcu_process_callbacks+0x469/0x560
>>>> [ 1634.167121] [<c1039ce2>] warn_slowpath_null+0x22/0x30
>>>> [ 1634.175725] [<c10c61f9>] rcu_process_callbacks+0x469/0x560
>>> Can't say I understand this warning ...
>> At least we are on the same page then ;-)
> It looks like some rcu head list corruption ... no idea really.
I have now (I think). I did a kfree of the driver's vif structure, which
is container of the wireless_dev and that is still on the rcu head list.
>> The p2p device is already removed upon stopping wpa_supplicant through
>> .del_virtual_intf() callback. Took a quick peek in
>> net/mac80211/iface.c:ieee80211_if_remove() and wonder whether I should
>> do cfg80211_unregister_wdev() in that code path as well. Guess so, right?
> I think so, yes. Does the warning go away if you do? :)
Not tested yet.
More information about the Hostap