Index: linux-3.1.1/drivers/cbus/tahvo.c =================================================================== --- linux-3.1.1.orig/drivers/cbus/tahvo.c 2011-11-17 18:51:03.708374259 +0100 +++ linux-3.1.1/drivers/cbus/tahvo.c 2011-11-17 18:57:17.739067493 +0100 @@ -137,8 +137,10 @@ static irqreturn_t tahvo_irq_handler(int u16 id; u16 im; + mutex_lock(&tahvo->mutex); id = __tahvo_read_reg(tahvo, TAHVO_REG_IDR); im = __tahvo_read_reg(tahvo, TAHVO_REG_IMR); + mutex_unlock(&tahvo->mutex); id &= ~im; if (!id) {