Hi Sachin, On Thu, May 24, 2012 at 11:20:01AM +0530, Sachin Kamat wrote: > Hi, > > I encountered a kernel crash while integrating Pixcir touchscreen > driver with one of our hardware. The log is attached at the end of the > mail (inline). > > The following ISR code: > > while (!tsdata->exiting) { > pixcir_ts_poscheck(tsdata); > > if (tsdata->chip->attb_read_val()) > break; > > msleep(20); > } > > seems to run until the if condition is false. However, when it exits > the loop (when the condition becomes true), it crashes saying "exiting > task "irq/438-pixcir_" (1011) is an active IRQ thread". It actually crashes earlier, in pixcir_ts_isr() itself. The message is coming from do_exit() when ISR thread dies. Did you porvide attb_read_val implementation? > > I have 2 questions here: > 1. Do we need such a loop and the if condition. In my case it worked > with the isr just doing > pixcir_ts_poscheck(tsdata); > > 2. What exactly is expected by attb_read_val() function. I believe it is supposed to indicate if touch is detected so we can keep polling. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html