Commit 15491303 authored by Aleksa Savic's avatar Aleksa Savic Committed by sanglipeng1
Browse files

hwmon: (corsair-cpro) Use complete_all() instead of complete() in ccp_raw_event()

stable inclusion
from stable-v5.10.217
commit 5b37ce7bb223b3ff486c9b989e6aad0d742da2ae
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/IAWLXC

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=5b37ce7bb223b3ff486c9b989e6aad0d742da2ae



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

[ Upstream commit 3a034a7b0715eb51124a5263890b1ed39978ed3a ]

In ccp_raw_event(), the ccp->wait_input_report completion is
completed once. Since we're waiting for exactly one report in
send_usb_cmd(), use complete_all() instead of complete()
to mark the completion as spent.

Fixes: 40c3a445 ("hwmon: add Corsair Commander Pro driver")
Signed-off-by: default avatarAleksa Savic <savicaleksa83@gmail.com>
Acked-by: default avatarMarius Zachmann <mail@mariuszachmann.de>
Link: https://lore.kernel.org/r/20240504092504.24158-3-savicaleksa83@gmail.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
Signed-off-by: default avatarsanglipeng1 <sanglipeng1@jd.com>
parent 4ca6c58e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -140,7 +140,7 @@ static int ccp_raw_event(struct hid_device *hdev, struct hid_report *report, u8
		return 0;

	memcpy(ccp->buffer, data, min(IN_BUFFER_SIZE, size));
	complete(&ccp->wait_input_report);
	complete_all(&ccp->wait_input_report);

	return 0;
}