Hi.. Not an expert...but trying to help... Anyway, I think you're sending HTML based message here...so it that's true, please use plain text next time.. On Thu, Apr 24, 2008 at 1:57 PM, jasjit singh <singh.jasjit@xxxxxxxxxxx> wrote: > > Hi > > I am using following functions in my driver for a PCI device. > > wait_event_interruptible and wake_up_interruptible. > > my algorithm goes like this > > fun1() > { > waits for an event whose source is an interrupt from the PCI device; /*i.e > calls wait_event_interruptible*/ > } > > fun2() > { > Check if there is an interrupt from the PCI device; > if so, give wake up call to queue that is waited upon in fun1;/*i.e calls > wake_up_interruptible*/ > } Maybe that's the problem. It's awaken too many times, then it ate kernel stack. I suggest to redesign your code so the "event handler" just do the quick jobs such as ACK-ing the interrupt...and for the rest of lengthy jobs, put in on workqueue. regards, Mulyadi. -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ