Root/target/linux/omap24xx/patches-2.6.38/506-cbus-retu-irq-handler-locking.patch

1--- a/drivers/cbus/retu.c
2+++ b/drivers/cbus/retu.c
3@@ -198,10 +198,12 @@ static irqreturn_t retu_irq_handler(int
4     u16 idr;
5     u16 imr;
6 
7+ mutex_lock(&retu->mutex);
8     idr = __retu_read_reg(retu, RETU_REG_IDR);
9     imr = __retu_read_reg(retu, RETU_REG_IMR);
10- idr &= ~imr;
11+ mutex_unlock(&retu->mutex);
12 
13+ idr &= ~imr;
14     if (!idr) {
15         dev_vdbg(retu->dev, "No IRQ, spurious?\n");
16         return IRQ_NONE;
17

Archive Download this file



interactive