kernel: update kernel from 2.6.38.2 to 2.6.38.6 and refresh patches
[openwrt.git] / 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;