From 5957016eba3adff1e6f610bb754c06b984ff026a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 25 Aug 2004 19:20:48 +0200 Subject: [PATCH] ALSA CVS update Intel8x0 driver,Intel8x0-modem driver Fixed resume when interrupts are shared with another devices. Signed-off-by: Jozef Vesely Signed-off-by: Jaroslav Kysela --- sound/pci/intel8x0.c | 3 +++ sound/pci/intel8x0m.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 737d950875ab6..34d7f0a490531 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c @@ -837,6 +837,9 @@ static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs unsigned int i; status = igetdword(chip, chip->int_sta_reg); + if (status == 0xffffffff) /* we are not yet resumed */ + return IRQ_NONE; + if ((status & chip->int_sta_mask) == 0) { if (status) { /* ack */ diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index 71a544ba46d50..a9b3175477d47 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c @@ -548,6 +548,10 @@ static irqreturn_t snd_intel8x0_interrupt(int irq, void *dev_id, struct pt_regs spin_lock(&chip->reg_lock); status = igetdword(chip, chip->int_sta_reg); + if (status == 0xffffffff) { /* we are not yet resumed */ + spin_unlock(&chip->reg_lock); + return IRQ_NONE; + } if ((status & chip->int_sta_mask) == 0) { if (status) iputdword(chip, chip->int_sta_reg, status); -- 2.53.0