Details

[Home]

Issue of the Implementation # L0028

Brief

drivers/input/tablet/wacom_sys.c: lack of usb_free_urb() at error path

Detailed Description

In file drivers/input/tablet/wacom_sys.c in wacom_probe after error we can goto label2. In this case function usb_free_urb was not called.

        wacom->irq = usb_alloc_urb(0, GFP_KERNEL);

        ...

        /* Retrieve the physical and logical size for OEM devices */
        error = wacom_retrieve_hid_descriptor(intf, features);
        if (error)
                goto fail2;
        ...
         fail3: usb_free_urb(wacom->irq);
         fail2: usb_free_coherent(dev, WACOM_PKGLEN_MAX, wacom_wac->data, wacom->data_dma);

Possible solutions

---
 drivers/input/tablet/wacom_sys.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/input/tablet/wacom_sys.c b/drivers/input/tablet/wacom_sys.c
index fc38149..cf8fb9f 100644
--- a/drivers/input/tablet/wacom_sys.c
+++ b/drivers/input/tablet/wacom_sys.c
@@ -519,7 +519,7 @@ static int wacom_probe(struct usb_interface *intf, const struct usb_device_id *i
        /* Retrieve the physical and logical size for OEM devices */
        error = wacom_retrieve_hid_descriptor(intf, features);
        if (error)
-               goto fail2;
+               goto fail3;
 
        wacom_setup_device_quirks(features);
 
-- 
1.7.1

Component

linux-kernel 2.6.37

Accepted

https://lkml.org/lkml/2011/2/9/21
commit

Status

Fixed in kernel 2.6.38-rc5

[Home]