You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
403 B
16 lines
403 B
--- a/drivers/cbus/retu.c
|
|
+++ b/drivers/cbus/retu.c
|
|
@@ -198,10 +198,12 @@ static irqreturn_t retu_irq_handler(int
|
|
u16 idr;
|
|
u16 imr;
|
|
|
|
+ mutex_lock(&retu->mutex);
|
|
idr = __retu_read_reg(retu, RETU_REG_IDR);
|
|
imr = __retu_read_reg(retu, RETU_REG_IMR);
|
|
- idr &= ~imr;
|
|
+ mutex_unlock(&retu->mutex);
|
|
|
|
+ idr &= ~imr;
|
|
if (!idr) {
|
|
dev_vdbg(retu->dev, "No IRQ, spurious?\n");
|
|
return IRQ_NONE;
|
|
|