Is it possible that you are calling spin_lock_irqsave() without a corresponding spin_unlock_irqrestore()? Under UP kernel this would do nothing. Under SMP, it prevents chip from handling further interrupts... You may want to configure a SMP kernel with spinlock debugging enabled and rebuild and run your driver there. Stuart ----- Original Message ----- From: "Srinivas G." <srinivasg@esntechnologies.co.in> To: <kernelnewbies@nl.linux.org> Sent: Monday, May 03, 2004 11:00 PM Subject: Problem with Spinlocks in SMP kernel Hi, We developed a driver for PCI card. It was compiled and working fine under non-smp kernel. But when we port it into SMP kernel it is not working. System is going to hang permanently. What problem peter got at the following site, the same problem we got here. When we don't use spinlocks it is working fine under SMP kernel also. But when we use spinlocks it is not working under SMP kernel. The link peter posted the error I am sending here. http://www.linuxtv.org/mailinglists/linux-dvb/2002/06-2002/msg00178.html I tried with spin_lock_irqsave(&xxx,flags) and spin_unlock_irqrestore(&xxx,flags). Then also system halts. Why system is permanently hanging? What was the problem? Is their any OS problem? We are using following configuration: P4 HT Processor, RealTech 8139 Network card, Redhat 9.0 Kernel version 2.4.20-8smp. Thanks in advance for any help you can come up with. Regards, Srinivas G -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/ -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/