summaryrefslogtreecommitdiff
path: root/sound/aoa
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2019-07-29 09:14:22 +0200
committerTakashi Iwai <tiwai@suse.de>2019-07-29 09:21:39 +0200
commitf474808acb3c4b30552d9c59b181244e0300d218 (patch)
treec9870151a5994218f507d567736ad48d0fdf4a95 /sound/aoa
parent9e4d5c1be21f0c00e747e92186784f3298309b3e (diff)
ALSA: aoa: onyx: always initialize register read value
A lot of places in the driver use onyx_read_register() without checking the return value, and it's been working OK for ~10 years or so, so probably never fails ... Rather than trying to check the return value everywhere, which would be relatively intrusive, at least make sure we don't use an uninitialized value. Fixes: f3d9478b2ce4 ("[ALSA] snd-aoa: add snd-aoa") Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/aoa')
-rw-r--r--sound/aoa/codecs/onyx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sound/aoa/codecs/onyx.c b/sound/aoa/codecs/onyx.c
index db917546965d..9827bee109c1 100644
--- a/sound/aoa/codecs/onyx.c
+++ b/sound/aoa/codecs/onyx.c
@@ -71,8 +71,10 @@ static int onyx_read_register(struct onyx *onyx, u8 reg, u8 *value)
return 0;
}
v = i2c_smbus_read_byte_data(onyx->i2c, reg);
- if (v < 0)
+ if (v < 0) {
+ *value = 0;
return -1;
+ }
*value = (u8)v;
onyx->cache[ONYX_REG_CONTROL-FIRSTREGISTER] = *value;
return 0;