Search Linux Wireless

Re: scheduling while atomic: iwl3945 in mmotm 2008-09-23-11-27

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

 



On Sun, 2008-09-28 at 01:47 -0600, Johannes Berg wrote:
> On Sat, 2008-09-27 at 21:51 +0200, Jiri Slaby wrote:
> 
> > BUG: scheduling while atomic: iwl3945/0/1154/0x00000002
> 
> >  [<ffffffff80257315>] synchronize_rcu+0x35/0x40
> 
> >  [<ffffffff80551d17>] sta_info_destroy+0x47/0x110
> >  [<ffffffff80559156>] ieee80211_set_disassoc+0x146/0x250
> >  [<ffffffff805593d5>] ieee80211_sta_req_auth+0x85/0x90
> >  [<ffffffff8055b156>] ieee80211_notify_mac+0x56/0xa0
> >  [<ffffffffa0054663>] iwl3945_bg_alive_start+0x2f3/0x360 [iwl3945]
> 
> > I don't know who is responsible here. Maybe ieee80211_notify_mac? Citing:
> > "It is illegal to block while in an RCU read-side critical section." from
> > rcu_read_lock comments, but synchronize_rcu() in __ieee80211_key_todo()
> > sleeps and few mutexes are locked and might_sleep() invoked on the path too.
> 
> Yup, for sure.
> 
> This is a combination of various things, when ieee80211_notify_mac was
> added ieee80211_sta_req_auth didn't destroy the sta info, later they
> fixed a different bug that started doing that and we all missed that it
> was called from here...
> 
> We can fix this by using RTNL locking instead, not sure though that'll
> work because I don't know how iwl3945 calls this, I'll let Tomas deal
> with it.

Johannes, this scheduleing in atomic has nothing to do with the caller.
iwl3945 already calls it in a workqueue. The problem is inside
ieee80211_notify_mac(). Unfortunately, iwl3945/iwlagn turns to be the
only user at this time.

Thanks,
-yi

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux