From: Bard Liao Date: Wed, 14 Jul 2021 03:22:04 +0000 (+0800) Subject: soundwire: stream: don't abort bank switch on Command_Ignored/-ENODATA X-Git-Tag: accepted/tizen/unified/20230118.172025~6526^2~5^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6645314eb2747bef4d9a375997221dede8ce4ce;p=platform%2Fkernel%2Flinux-rpi.git soundwire: stream: don't abort bank switch on Command_Ignored/-ENODATA This change is needed for support of mockup devices, which by construction will not provide any answer to a bank switch, but it's also legit for regular cases. If for some reason a device loses sync and cannot handle a bank switch, we should go ahead anyways. The devices can always resync later. The only case where the error flow should be used is when there is a Command_Aborted composite answer from SoundWire devices. Signed-off-by: Bard Liao Reviewed-by: Rander Wang Link: https://lore.kernel.org/r/20210714032209.11284-6-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul --- diff --git a/drivers/soundwire/stream.c b/drivers/soundwire/stream.c index 1a18308..d84aaf1 100644 --- a/drivers/soundwire/stream.c +++ b/drivers/soundwire/stream.c @@ -697,7 +697,7 @@ static int sdw_bank_switch(struct sdw_bus *bus, int m_rt_count) else ret = sdw_transfer(bus, wr_msg); - if (ret < 0) { + if (ret < 0 && ret != -ENODATA) { dev_err(bus->dev, "Slave frame_ctrl reg write failed\n"); goto error; }