On Fri, Nov 13, 2009 at 03:59:21AM -0500, Haojian Zhuang wrote: > + > + mutex_lock(&chip->irq_lock); > + memset(chip->irq, 0, sizeof(struct pm860x_irq) * PM860X_NUM_IRQ); > + mutex_unlock(&chip->irq_lock); Why do you take lock here? Can anyone else be touching chip->irq at this point? -- Dmitry