I'm seeing a spin_lock error running the latest Red Hat EL 4 ( 2.6.9-42.0.10.EL ) on a uniprocessor AMD x86_64 machine. I have verified that CONFIG_PREEMPT and CONFIG_SMP are not defined. I use a global spin_lock ( spin_lock_irqsave / spin_lock_irqrestore ) in the ISR routine and several other functions. While executing in one of the functions, the ISR routine is called and we get an error that the spin_lock is already locked ( shown below ): *** MUTEX_ENTER *** ***TRY_ISR_ENTER ** Kernel panic - not syncing: /work/ken/drivers/mps/drv/Linux/mps_linux.c:853: spin_lock(/work/ken/drivers/mps/drv/Linux/mps_linux.c:ffffffffa0337240) already locked by /work/ken/drivers/mps/drv/Linux/mps_ioctl.c/1034 Badness in panic at kernel/panic.c:117 I have read many places that on a uniprocessor machine with CONFIG_PREEMPT not defined, that spin_lock_irqsave reduces to just disabling interrupts. What I am seeing here is that not only is spin_lock_irqsave not disabling interrupts ( we get in the ISR routine in the middle of executing another function ) it also checks to see if the spin_lock is taken, which is not right for the non-preemptive kernel. Any ideas as to what is going on? This same code works fine in an SMP environment. -- redhat-list mailing list unsubscribe mailto:redhat-list-request@xxxxxxxxxx?subject=unsubscribe https://www.redhat.com/mailman/listinfo/redhat-list