>>> On 20.03.13 at 12:55, Sander Eikelenboom wrote: > Close but not entirely ;) Close to not crashing, maybe, but whether this really helps with your problem is still entirely unclear. > See attached serial log Okay, I wasn't even aware of that assertion in _spin_lock_irq(). Keir, do you really think this is necessary? In the prior patch version, handle_hpet_broadcast() had a flow like this spin_lock_irqsave(); ... spin_unlock_irqrestore(); ... if ( next_event != STIME_MAX ) { spin_lock_irq(); ... spin_unlock_irqrestore(); } avoiding the saving of the flags in the second lock acquire. Said assertion makes it impossible to do this. Sander, in any case, attached a fixed version of the patch (I had to guess which of the two spin_lock_irq() calls it was, as the log was incomplete in that the stack trace got dropped, but am pretty positive that it was the one in handle_hpet_broadcast()). Jan