Commit 55cafcac authored by Mavroudis Chatzilazaridis's avatar Mavroudis Chatzilazaridis Committed by Jiri Kosina
Browse files

HID: logitech-hidpp: Silence protocol errors on newer lightspeed receivers



When logitech-hidpp tries to communicate with an unreachable device paired
to a 046d:c547 lightspeed receiver, the following message is printed to the
console:

hidpp_root_get_protocol_version: received protocol error 0x08

This occurs because this receiver returns 0x08 (HIDPP_ERROR_UNKNOWN_DEVICE)
when a device is unreachable, compared to 0x09 (HIDPP_ERROR_RESOURCE_ERROR)
that the older receivers return.

This patch silences this harmless error by treating
HIDPP_ERROR_UNKNOWN_DEVICE the same as HIDPP_ERROR_RESOURCE_ERROR
in hidpp_root_get_protocol_version().

There are other checks for HIDPP_ERROR_RESOURCE_ERROR found in
battery-related functions, however this receiver does not trigger them when
the device is disconnected.

Signed-off-by: default avatarMavroudis Chatzilazaridis <mavchatz@protonmail.com>
Tested-by: default avatarStuart Hayhurst <stuart.a.hayhurst@gmail.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent 5329fc30
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -969,7 +969,8 @@ static int hidpp_root_get_protocol_version(struct hidpp_device *hidpp)
	}

	/* the device might not be connected */
	if (ret == HIDPP_ERROR_RESOURCE_ERROR)
	if (ret == HIDPP_ERROR_RESOURCE_ERROR ||
	    ret == HIDPP_ERROR_UNKNOWN_DEVICE)
		return -EIO;

	if (ret > 0) {