lkml.org 
[lkml]   [2020]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 257/371] ALSA: aoa: onyx: always initialize register read value
    Date
    From: Johannes Berg <johannes@sipsolutions.net>

    [ Upstream commit f474808acb3c4b30552d9c59b181244e0300d218 ]

    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>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    sound/aoa/codecs/onyx.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/sound/aoa/codecs/onyx.c b/sound/aoa/codecs/onyx.c
    index d2d96ca082b7..6224fd3bbf7c 100644
    --- a/sound/aoa/codecs/onyx.c
    +++ b/sound/aoa/codecs/onyx.c
    @@ -74,8 +74,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;
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-01-16 19:19    [W:3.020 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site