On Monday 6 July 2020 15:20:17 CEST Colin King wrote: > > From: Colin Ian King <colin.king@xxxxxxxxxxxxx> > > The variable bytes_done is not initialized and hence the first > FIFO size check on bytes_done may be breaking prematurely from > the loop if bytes_done contains a large bogus uninitialized value. > Fix this by initializing bytes_done to zero. > > Addresses-Coverity: ("Uninitialized scalar variable") > Fixes: a9408ad79ff3 ("staging: wfx: load the firmware faster") > Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx> Good catch! I am surprised that my gcc hasn't caught that. Reviewed-by: Jérôme Pouiller <jerome.pouiller@xxxxxxxxxx> > --- > drivers/staging/wfx/fwio.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/wfx/fwio.c b/drivers/staging/wfx/fwio.c > index d9a886f3e64b..206c6cf6511c 100644 > --- a/drivers/staging/wfx/fwio.c > +++ b/drivers/staging/wfx/fwio.c > @@ -177,7 +177,7 @@ static int wait_ncp_status(struct wfx_dev *wdev, u32 status) > static int upload_firmware(struct wfx_dev *wdev, const u8 *data, size_t len) > { > int ret; > - u32 offs, bytes_done; > + u32 offs, bytes_done = 0; > ktime_t now, start; > > if (len % DNLD_BLOCK_SIZE) { > -- > 2.27.0 > > -- Jérôme Pouiller _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel