On Sun, Sep 03, 2023 at 12:06:14AM +0300, Cristian Ciocaltea wrote:
The return code of regmap_multi_reg_write() call related to "MDSYNC up" sequence is shadowed by the subsequent regmap_read_poll_timeout() invocation, which will hit a timeout in case the write operation above fails.
Make sure cs35l41_global_enable() returns the correct error code instead of -ETIMEDOUT.
Additionally, to be able to distinguish between the timeouts of wait_for_completion_timeout() and regmap_read_poll_timeout(), print an error message for the former and return immediately. This also avoids having to wait unnecessarily for the second time.
Fixes: f8264c759208 ("ALSA: cs35l41: Poll for Power Up/Down rather than waiting a fixed delay") Signed-off-by: Cristian Ciocaltea cristian.ciocaltea@collabora.com
Acked-by: Charles Keepax ckeepax@opensource.cirrus.com
Thanks, Charles