There are a handful of bit-wise or'ing of values into the uninitialized variable ret resulting in garbage results. Fix this by ininitializing ret to zero. Fixes: bbca8e7050e0 ("ASoC: rt-sdw-common: Common functions for Realtek soundwire driver") Signed-off-by: Colin Ian King <colin.i.king@xxxxxxxxx> --- sound/soc/codecs/rt-sdw-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/rt-sdw-common.c b/sound/soc/codecs/rt-sdw-common.c index 9ed0e9855699..a422da6cf702 100644 --- a/sound/soc/codecs/rt-sdw-common.c +++ b/sound/soc/codecs/rt-sdw-common.c @@ -101,21 +101,21 @@ EXPORT_SYMBOL_GPL(rt_sdca_index_update_bits); * rt_sdca_btn_type - Decision of button type. * * @buffer: UMP message buffer. * * A button type will be returned regarding to buffer, * it returns zero if buffer cannot be recognized. */ int rt_sdca_btn_type(unsigned char *buffer) { u8 btn_type = 0; - int ret; + int ret = 0; btn_type |= buffer[0] & 0xf; btn_type |= (buffer[0] >> 4) & 0xf; btn_type |= buffer[1] & 0xf; btn_type |= (buffer[1] >> 4) & 0xf; if (btn_type & BIT(0)) ret |= SND_JACK_BTN_2; if (btn_type & BIT(1)) ret |= SND_JACK_BTN_3; -- 2.39.5