mirror of
https://github.com/X11Libre/xf86-input-evdev.git
synced 2026-04-14 11:44:16 +00:00
Move duplicate check up before mtdev allocation
No need to alloc mtdev if we then find out the fd is a duplicate one anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
18
src/evdev.c
18
src/evdev.c
@@ -2349,6 +2349,15 @@ EvdevOpenDevice(InputInfoPtr pInfo)
|
||||
}
|
||||
}
|
||||
|
||||
/* Check major/minor of device node to avoid adding duplicate devices. */
|
||||
pEvdev->min_maj = EvdevGetMajorMinor(pInfo);
|
||||
if (EvdevIsDuplicate(pInfo))
|
||||
{
|
||||
xf86IDrvMsg(pInfo, X_WARNING, "device file is duplicate. Ignoring.\n");
|
||||
EvdevCloseDevice(pInfo);
|
||||
return BadMatch;
|
||||
}
|
||||
|
||||
#ifdef MULTITOUCH
|
||||
pEvdev->mtdev = mtdev_new_open(pInfo->fd);
|
||||
if (pEvdev->mtdev)
|
||||
@@ -2360,15 +2369,6 @@ EvdevOpenDevice(InputInfoPtr pInfo)
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Check major/minor of device node to avoid adding duplicate devices. */
|
||||
pEvdev->min_maj = EvdevGetMajorMinor(pInfo);
|
||||
if (EvdevIsDuplicate(pInfo))
|
||||
{
|
||||
xf86IDrvMsg(pInfo, X_WARNING, "device file is duplicate. Ignoring.\n");
|
||||
EvdevCloseDevice(pInfo);
|
||||
return BadMatch;
|
||||
}
|
||||
|
||||
return Success;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user