Input: acecad - fix a memory leak in usb_acecad_probe error path
authorAxel Lin <axel.lin@gmail.com>
Thu, 11 Nov 2010 07:05:07 +0000 (23:05 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 11 Nov 2010 07:07:03 +0000 (23:07 -0800)
Add a missing usb_free_urb() in usb_acecad_probe() error path.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/tablet/acecad.c

index aea9a9399a36b43a18663b4fd46d8bd3c7303808..d94f7e9aa997f13cbafba7739d59a234bf117726 100644 (file)
@@ -229,12 +229,13 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_
 
        err = input_register_device(acecad->input);
        if (err)
-               goto fail2;
+               goto fail3;
 
        usb_set_intfdata(intf, acecad);
 
        return 0;
 
+ fail3:        usb_free_urb(acecad->irq);
  fail2:        usb_free_coherent(dev, 8, acecad->data, acecad->data_dma);
  fail1: input_free_device(input_dev);
        kfree(acecad);