[SRU][OEM-5.10][PATCH 09/21] UBUNTU: SAUCE: soundwire: bus: reset slave_notify status at each loop

Hui Wang hui.wang at canonical.com
Fri Dec 4 02:41:20 UTC 2020


From: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>

BugLink: https://bugs.launchpad.net/bugs/1906738

The code loops multiple times to deal with pending interrupts, but we
never reset the slave_notify status.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski at linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao at linux.intel.com>
(cherry picked from commit 9834967f16f7fa2d6dddafc1d98b4e2d80333040
git://github.com/thesofproject/linux.git topic/sof-dev-rebase)
Signed-off-by: Hui Wang <hui.wang at canonical.com>
---
 drivers/soundwire/bus.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/soundwire/bus.c b/drivers/soundwire/bus.c
index 45131b9f5080..d6e646521819 100644
--- a/drivers/soundwire/bus.c
+++ b/drivers/soundwire/bus.c
@@ -1425,7 +1425,7 @@ static int sdw_handle_slave_alerts(struct sdw_slave *slave)
 	u8 clear = 0, bit, port_status[15] = {0};
 	int port_num, stat, ret, count = 0;
 	unsigned long port;
-	bool slave_notify = false;
+	bool slave_notify;
 	u8 sdca_cascade = 0;
 	u8 buf, buf2[2], _buf, _buf2[2];
 	bool parity_check;
@@ -1467,6 +1467,8 @@ static int sdw_handle_slave_alerts(struct sdw_slave *slave)
 	}
 
 	do {
+		slave_notify = false;
+
 		/*
 		 * Check parity, bus clash and Slave (impl defined)
 		 * interrupt
-- 
2.25.1




More information about the kernel-team mailing list