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:
Peter Hutterer
2012-05-28 09:50:57 +10:00
parent 8251d7a8ec
commit 047955f51e

View File

@@ -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;
}