[alsa-devel] [PATCH] ALSA: hda: fix: lock reg_lock before calling snd_hdac_bus_update_rirb

Bard liao yung-chuan.liao at linux.intel.com
Wed May 29 22:59:00 CEST 2019


From: Bard Liao <yung-chuan.liao at linux.intel.com>

The patch is to fix commit 5e13cf6cd64c
(ALSA: hda: add polling mode in snd_hdac_bus_get_response)
spin_lock_irq should be called before snd_hdac_bus_update_rirb.

Signed-off-by: Bard Liao <yung-chuan.liao at linux.intel.com>
---
Takashi,

Sorry, I make a mistake on the "ALSA: hda: add polling mode in
snd_hdac_bus_get_response" patch. This patch is a fix for that.

Thanks,
Bard
---
 sound/hda/hdac_controller.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/hda/hdac_controller.c b/sound/hda/hdac_controller.c
index a16ac31bda83..d6a91429c058 100644
--- a/sound/hda/hdac_controller.c
+++ b/sound/hda/hdac_controller.c
@@ -239,9 +239,9 @@ int snd_hdac_bus_get_response(struct hdac_bus *bus, unsigned int addr,
 	timeout = jiffies + msecs_to_jiffies(1000);
 
 	for (loopcounter = 0;; loopcounter++) {
+		spin_lock_irq(&bus->reg_lock);
 		if (bus->polling_mode)
 			snd_hdac_bus_update_rirb(bus);
-		spin_lock_irq(&bus->reg_lock);
 		if (!bus->rirb.cmds[addr]) {
 			if (res)
 				*res = bus->rirb.res[addr]; /* the last value */
-- 
2.17.1



More information about the Alsa-devel mailing list