On Mon, 2017-01-02 at 13:21 +0100, Johannes Berg wrote: > > I'm not super happy with this conditional locking - can't we > > instead > > defer the necessary work to a workqueue, or so, for purposes of the > > LED? > > Actually, since you can sleep in here, and do various other things > like scheduling etc. this can't even be correct as is - one thread > might be in the probe and another might also attempt to do some > operations that require the lock but now don't take it. Additionally, this doesn't address the "can be called in any context" part, only the "even from within rfkill callbacks" part. It's clearly still not safe to call this from any context that is not allowed to sleep, for example. johannes