lkml.org 
[lkml]   [2018]   [Aug]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.17 192/336] nvmem: properly handle returned value nvmem_reg_read
    Date
    4.17-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Mathieu Malaterre <malat@debian.org>

    [ Upstream commit 50808bfcc14b854775a9f1d0abe3dac2babcf5c3 ]

    Function nvmem_reg_read can return a non zero value indicating an error.
    This returned value must be read and error propagated to
    nvmem_cell_prepare_write_buffer. Silence the following gcc warning (W=1):

    drivers/nvmem/core.c:1093:9: warning: variable 'rc' set but
    not used [-Wunused-but-set-variable]

    Signed-off-by: Mathieu Malaterre <malat@debian.org>
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/nvmem/core.c | 7 +++++++
    1 file changed, 7 insertions(+)

    --- a/drivers/nvmem/core.c
    +++ b/drivers/nvmem/core.c
    @@ -1107,6 +1107,8 @@ static void *nvmem_cell_prepare_write_bu

    /* setup the first byte with lsb bits from nvmem */
    rc = nvmem_reg_read(nvmem, cell->offset, &v, 1);
    + if (rc)
    + goto err;
    *b++ |= GENMASK(bit_offset - 1, 0) & v;

    /* setup rest of the byte if any */
    @@ -1125,11 +1127,16 @@ static void *nvmem_cell_prepare_write_bu
    /* setup the last byte with msb bits from nvmem */
    rc = nvmem_reg_read(nvmem,
    cell->offset + cell->bytes - 1, &v, 1);
    + if (rc)
    + goto err;
    *p |= GENMASK(7, (nbits + bit_offset) % BITS_PER_BYTE) & v;

    }

    return buf;
    +err:
    + kfree(buf);
    + return ERR_PTR(rc);
    }

    /**

    \
     
     \ /
      Last update: 2018-08-01 20:10    [W:4.104 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site