lkml.org 
[lkml]   [2020]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 115/266] HID: intel-ish-hid: avoid bogus uninitialized-variable warning
    Date
    From: Arnd Bergmann <arnd@arndb.de>

    [ Upstream commit 0b66fb3e6b7a53688f8e20945ac78cd3d832c65f ]

    Older compilers like gcc-4.8 don't see that the variable is
    initialized when it is used:

    In file included from include/linux/compiler_types.h:68:0,
    from <command-line>:0:
    drivers/hid/intel-ish-hid/ishtp-fw-loader.c: In function 'load_fw_from_host':
    include/linux/compiler-gcc.h:75:45: warning: 'fw_info.ldr_capability.max_dma_buf_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
    #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
    ^
    drivers/hid/intel-ish-hid/ishtp-fw-loader.c:770:22: note: 'fw_info.ldr_capability.max_dma_buf_size' was declared here
    struct shim_fw_info fw_info;
    ^

    Make sure to initialize it before returning an error from ish_query_loader_prop().

    Fixes: 91b228107da3 ("HID: intel-ish-hid: ISH firmware loader client driver")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/hid/intel-ish-hid/ishtp-fw-loader.c | 2 ++
    1 file changed, 2 insertions(+)

    diff --git a/drivers/hid/intel-ish-hid/ishtp-fw-loader.c b/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
    index aa2dbed30fc3..6cf59fd26ad7 100644
    --- a/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
    +++ b/drivers/hid/intel-ish-hid/ishtp-fw-loader.c
    @@ -480,6 +480,7 @@ static int ish_query_loader_prop(struct ishtp_cl_data *client_data,
    sizeof(ldr_xfer_query_resp));
    if (rv < 0) {
    client_data->flag_retry = true;
    + *fw_info = (struct shim_fw_info){};
    return rv;
    }

    @@ -489,6 +490,7 @@ static int ish_query_loader_prop(struct ishtp_cl_data *client_data,
    "data size %d is not equal to size of loader_xfer_query_response %zu\n",
    rv, sizeof(struct loader_xfer_query_response));
    client_data->flag_retry = true;
    + *fw_info = (struct shim_fw_info){};
    return -EMSGSIZE;
    }

    --
    2.25.1
    \
     
     \ /
      Last update: 2020-06-18 04:21    [W:4.069 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site