On Thu, 6 Sep 2007, Johannes Berg wrote:
On Thu, 2007-09-06 at 16:23 +0800, Herbert Xu wrote:
quoted
On Thu, Sep 06, 2007 at 10:32:33AM +0530, Satyam Sharma wrote:
quoted
quoted
quoted
[ 382.529041] [<c02c8abc>] dev_close+0x24/0x67
[ 382.529052] [<e01f402b>] ieee80211_master_stop+0x4a/0x6d [mac80211]
This is where the bug is. You cannot call dev_close from an
atomic context as i33380211_master_stop does it within spin
locks.
Hah, I suspected as much but didn't have a chance to look yet. I had
plans to replace that sub_if_list with an RCU list and not require the
lock there, but that's far off.
Unless I missed something obvious (let me know if that's the case! :-)
an RCU-protected list would suffer the same fate. list_for_each_xxx_rcu()
must be under rcu_read_lock() which == preempt_disable() ...