I put those BUG_ON's in places where I was using spin_lock on a lock that requires irqs disabled. Those places are called in contexts that already require irqs disabled for some other reason, so I didn't use irqsave/irqrestore there to skip the unnecessary overhead. (Of course it's the same the BUG_ON's have, but those can be compiled out.) I really don't recall at the moment if there was a deeper reason, i.e. that the code itself in some other way relies on interrupts being disabled for its proper operation. But I don't see any reason to change it.
Thanks, Roland
