[PATCH] xfree86: move sanity checks below option and input classes merges.

Dan Nicholson dbn.lists at gmail.com
Tue Dec 22 22:55:23 PST 2009


On Tue, Dec 22, 2009 at 10:05 PM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> While the identifier is likely set before the input classes are merged, the
> driver may not be. Hence don't check for a driver before we've completed
> configuration for this device.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
>  hw/xfree86/common/xf86Xinput.c |   21 +++++++++++----------
>  1 files changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
> index f686095..57db056 100644
> --- a/hw/xfree86/common/xf86Xinput.c
> +++ b/hw/xfree86/common/xf86Xinput.c
> @@ -702,16 +702,6 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
>             }
>         }
>     }
> -    if (!idev->driver || !idev->identifier) {
> -        xf86Msg(X_ERROR, "No input driver/identifier specified (ignoring)\n");
> -        rval = BadRequest;
> -        goto unwind;
> -    }
> -
> -    if (!idev->identifier) {
> -        xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n");
> -        return BadMatch;
> -    }
>
>     for (option = options; option; option = option->next) {
>         /* Steal option key/value strings from the provided list.
> @@ -729,6 +719,17 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
>             goto unwind;
>     }
>
> +    if (!idev->driver || !idev->identifier) {
> +        xf86Msg(X_ERROR, "No input driver/identifier specified (ignoring)\n");
> +        rval = BadRequest;
> +        goto unwind;
> +    }
> +
> +    if (!idev->identifier) {
> +        xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n");
> +        return BadMatch;
> +    }
> +
>     rval = xf86NewInputDevice(idev, pdev,
>                 (!is_auto || (is_auto && xf86Info.autoEnableDevices)));
>     if (rval == Success)

You beat me to it. :) This is definitely one of the fixes needed for
the new world order of input configuration.

Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>


More information about the xorg-devel mailing list