Hi Steven, the patch fixes the issues we discussed on the mailing list before and IRC. The issue is indeed UP vs SMP and it is totally random. spin_is_locked() is a bad assertion because there is no correct answer on UP. on UP spin_is_locked() has to return either one value or another, always. This means that in my setup I am lucky enough to trigger the issue and your you are lucky enough not to. the patch in attachment removes the bogus calls to BUG_ON and according to David (in CC and thanks for the long explanation on the problem) we can rely upon things like lockdep to find problem that might be trying to catch. Please apply. Signed-off-by: Fabio M. Di Nitto <fabbione ubuntu com> Fabio -- I'm going to make him an offer he can't refuse.