[PATCH] input: fix EVIOCGNAME regression

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Commit 3d5cb60e ("Input: simplify name handling for certain input
handles") introduced a regression for the EVIOCGNAME ioctl.

Before this, patch, the platform device's name was given back to
userspace which was good to identify devices. After this patch, the
device was ("event%d", minor) which is not descriptive at all.

This fixes the behaviour by taking input_dev->name.

Signed-off-by: Daniel Mack <daniel@xxxxxxxx>
Reported-by: Sven Neumann <s.neumann@xxxxxxxxxxxx>
Cc: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx>
Cc: Dmitry Torokhov <dtor@xxxxxxx>
---
 drivers/input/evdev.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index 114efd8..c81e042 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -608,8 +608,8 @@ static long evdev_do_ioctl(struct file *file, unsigned int cmd,
 						    p, compat_mode);
 
 			if (_IOC_NR(cmd) == _IOC_NR(EVIOCGNAME(0)))
-				return str_to_user(dev_name(&evdev->dev),
-						   _IOC_SIZE(cmd), p);
+				return str_to_user(evdev->handle.name,
+						    _IOC_SIZE(cmd), p);
 
 			if (_IOC_NR(cmd) == _IOC_NR(EVIOCGPHYS(0)))
 				return str_to_user(dev->phys, _IOC_SIZE(cmd), p);
@@ -818,7 +818,7 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
 	evdev->minor = minor;
 
 	evdev->handle.dev = input_get_device(dev);
-	evdev->handle.name = dev_name(&evdev->dev);
+	evdev->handle.name = dev->name;
 	evdev->handle.handler = handler;
 	evdev->handle.private = evdev;
 
-- 
1.6.3.1

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux