Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a82a772d authored by Oleksandr Andrushchenko's avatar Oleksandr Andrushchenko Committed by Greg Kroah-Hartman
Browse files

Input: xen-kbdfront - fix multi-touch XenStore node's locations



[ Upstream commit ce6f7d087e2b037f47349c1c36ac97678d02e394 ]

kbdif protocol describes multi-touch device parameters as a
part of frontend's XenBus configuration nodes while they
belong to backend's configuration. Fix this by reading the
parameters as defined by the protocol.

Fixes: 49aac820 ("Input: xen-kbdfront - add multi-touch support")

Signed-off-by: default avatarOleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Reviewed-by: default avatarJuergen Gross <jgross@suse.com>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 91e30cae
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -229,7 +229,7 @@ static int xenkbd_probe(struct xenbus_device *dev,
		}
	}

	touch = xenbus_read_unsigned(dev->nodename,
	touch = xenbus_read_unsigned(dev->otherend,
				     XENKBD_FIELD_FEAT_MTOUCH, 0);
	if (touch) {
		ret = xenbus_write(XBT_NIL, dev->nodename,
@@ -304,13 +304,13 @@ static int xenkbd_probe(struct xenbus_device *dev,
		if (!mtouch)
			goto error_nomem;

		num_cont = xenbus_read_unsigned(info->xbdev->nodename,
		num_cont = xenbus_read_unsigned(info->xbdev->otherend,
						XENKBD_FIELD_MT_NUM_CONTACTS,
						1);
		width = xenbus_read_unsigned(info->xbdev->nodename,
		width = xenbus_read_unsigned(info->xbdev->otherend,
					     XENKBD_FIELD_MT_WIDTH,
					     XENFB_WIDTH);
		height = xenbus_read_unsigned(info->xbdev->nodename,
		height = xenbus_read_unsigned(info->xbdev->otherend,
					      XENKBD_FIELD_MT_HEIGHT,
					      XENFB_HEIGHT);