The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v2] soundwire: stream: fix bad unlock balance
@ 2019-06-06 11:22 Srinivas Kandagatla
  2019-06-06 14:28 ` [alsa-devel] " Pierre-Louis Bossart
  2019-06-06 17:18 ` Vinod Koul
  0 siblings, 2 replies; 6+ messages in thread
From: Srinivas Kandagatla @ 2019-06-06 11:22 UTC (permalink / raw)
  To: vkoul; +Cc: pierre-louis.bossart, alsa-devel, linux-kernel,
	Srinivas Kandagatla

multi bank switching code takes lock on condition but releases without
any check resulting in below warning.
This patch fixes this.

 =====================================
 WARNING: bad unlock balance detected!
 5.1.0-16506-gc1c383a6f0a2-dirty #1523 Tainted: G        W
 -------------------------------------
 aplay/2954 is trying to release lock (&bus->msg_lock) at:
 do_bank_switch+0x21c/0x480
 but there are no more locks to release!

Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
---
 drivers/soundwire/stream.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c
index ce9cb7fa4724..73c52cd4fec8 100644
--- a/drivers/soundwire/stream.c
+++ b/drivers/soundwire/stream.c
@@ -814,7 +814,8 @@ static int do_bank_switch(struct sdw_stream_runtime *stream)
 			goto error;
 		}
 
-		mutex_unlock(&bus->msg_lock);
+		if (bus->multi_link)
+			mutex_unlock(&bus->msg_lock);
 	}
 
 	return ret;
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-06-06 17:21 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-06 11:22 [PATCH v2] soundwire: stream: fix bad unlock balance Srinivas Kandagatla
2019-06-06 14:28 ` [alsa-devel] " Pierre-Louis Bossart
2019-06-06 14:58   ` Srinivas Kandagatla
2019-06-06 15:36     ` Pierre-Louis Bossart
2019-06-06 17:07       ` Sanyog Kale
2019-06-06 17:18 ` Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox