On Thu, 2010-06-03 at 12:49 +0200, Ivo Van Doorn wrote: > The stacktrace indicates the problem is a scheduling while atomic bug, > however this seems to be triggerd by mac80211 making the bss_info_changed() > callback function in atomic context. But the current documentation of mac80211 > implies that this callback function is allowed to sleep. > > Could you check the stacktrace to see if this is indeed a mac80211 bug rather > then rt73usb? It clearly is, at least a documentation issue in that it must not sleep in mesh mode ... fixing it would seem to require major locking changes in the mesh implementation, and unfortunately we don't have anybody who has enough time to care about it. FWIW, if anybody is interested to fix this, it seems like it should be safe to use sta_mtx instead of rcu_read_lock() for station protection and change a lot of mesh stuff to not use the per-sta spinlock. Must be very careful with this though since some stuff is in the RX path. Short of doing that, I can only suggest disabling mesh for drivers that require being able to sleep. johannes -- 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