summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2010-11-11 07:05:07 (GMT)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-11-11 07:07:03 (GMT)
commita4503199f66dd13ddce1c1bb830fd414d9669f88 (patch)
treed4829e1796615ff29a03ea02352b750f96e9d0a6
parent8c5188b6d350d033275eaf85faa12f284e2909e4 (diff)
downloadlinux-fsl-qoriq-a4503199f66dd13ddce1c1bb830fd414d9669f88.tar.xz
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>
-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 aea9a93..d94f7e9 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);