summaryrefslogtreecommitdiffstats
path: root/drivers/input
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-11-10 23:05:07 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-11-10 23:07:03 -0800
commita4503199f66dd13ddce1c1bb830fd414d9669f88 (patch)
treed4829e1796615ff29a03ea02352b750f96e9d0a6 /drivers/input
parent8c5188b6d350d033275eaf85faa12f284e2909e4 (diff)
downloadlinux-a4503199f66dd13ddce1c1bb830fd414d9669f88.tar.bz2
Input: acecad - fix a memory leak in usb_acecad_probe error path
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>
Diffstat (limited to 'drivers/input')
-rw-r--r--drivers/input/tablet/acecad.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/input/tablet/acecad.c b/drivers/input/tablet/acecad.c
index aea9a9399a36..d94f7e9aa997 100644
--- a/drivers/input/tablet/acecad.c
+++ b/drivers/input/tablet/acecad.c
@@ -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);