Skip to contentSkip to conversation

ALSA: hda - unlock on error in azx_interrupt()

PATCH In review Dan Carpenter 2 participants 2 messages May 18, 2012

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ALSA: hda - unlock on error in azx_interrupt()

There is an spin_unlock() missing on this error path.

---
This was added recently in a82d51ed2 "ALSA: hda - Support VGA-switcheroo". I don't have the hardware so I haven't tested it.

sound/pci/hda/hda_intel.c +3 -1
index bbf953f..2b6392b 100644
@@ -1268,8 +1268,10 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id)
 
 	spin_lock(&chip->reg_lock);
 
-	if (chip->disabled)
+	if (chip->disabled) {
+		spin_unlock(&chip->reg_lock);
 		return IRQ_NONE;
+	}
 
 	status = azx_readl(chip, INTSTS);
 	if (status = 0) {
#1 lore raw

At Fri, 18 May 2012 10:36:11 +0300,

Quoted 7 lines · Dan Carpenter

There is an spin_unlock() missing on this error path.

---
This was added recently in a82d51ed2 "ALSA: hda - Support VGA-switcheroo". I don't have the hardware so I haven't tested it.

Good catch. Applied now.
Thanks.

Takashi

Quoted 17 lines
sound/pci/hda/hda_intel.c +3 -1
index bbf953f..2b6392b 100644
@@ -1268,8 +1268,10 @@ static irqreturn_t azx_interrupt(int irq, void *dev_id)
 
 	spin_lock(&chip->reg_lock);
 
-	if (chip->disabled)
+	if (chip->disabled) {
+		spin_unlock(&chip->reg_lock);
 		return IRQ_NONE;
+	}
 
 	status = azx_readl(chip, INTSTS);
 	if (status = 0) {