wiimote_cmd_wait() in wiimod_battery_get_property() may signal that the task of getting specific battery property was interrupted or timed out. There is no need to do any further computation in such cases, so just return the error. Found by Linux Verification Center (linuxtesting.org) with static analysis tool SVACE. Fixes: dcf392313817 ("HID: wiimote: convert BATTERY to module") Signed-off-by: Nikita Zhandarovich <n.zhandarovich@xxxxxxxxxx> --- drivers/hid/hid-wiimote-modules.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/hid/hid-wiimote-modules.c b/drivers/hid/hid-wiimote-modules.c index dbccdfa63916..9755718d9856 100644 --- a/drivers/hid/hid-wiimote-modules.c +++ b/drivers/hid/hid-wiimote-modules.c @@ -220,8 +220,10 @@ static int wiimod_battery_get_property(struct power_supply *psy, wiiproto_req_status(wdata); spin_unlock_irqrestore(&wdata->state.lock, flags); - wiimote_cmd_wait(wdata); + ret = wiimote_cmd_wait(wdata); wiimote_cmd_release(wdata); + if (ret) + return ret; spin_lock_irqsave(&wdata->state.lock, flags); state = wdata->state.cmd_battery; -- 2.25.1