Re: [PATCH] Input: xpad - Fix double URB submission races

From: Dmitry Torokhov
Date: Thu Jul 30 2015 - 02:45:58 EST


Hi Laura,

On Wed, Jul 29, 2015 at 02:27:23PM -0700, Laura Abbott wrote:
@@ -791,6 +796,9 @@ static int xpad_play_effect(struct input_dev *dev, void *data, struct ff_effect
> {
> struct usb_xpad *xpad = input_get_drvdata(dev);
>
> + if (test_and_set_bit(OUT_IRQ_SUBMITTED, &xpad->odata_flags))
> + return 0;
> +

So this results in basically ignoring the request if urb is "busy" which
is not the best way of handling this. You need to note that there is
pending effect to be played and submit it after currently executing
request completes.

The same needs to be done for led toggling request.

Thanks.

--
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/