Подробности
[В начало]
Проблема в реализации № L0028
Краткое описание
drivers/input/tablet/wacom_sys.c: нет usb_free_urb на ошибочном пути
Подробное описание
В файле drivers/input/tablet/wacom_sys.c в функции wacom_probe после ошибки мы можем перейти на метку label2. В этом случае не будет вызвана функция usb_free_urb.
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);
Способы устранения
---
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
Компонент
linux-kernel 2.6.37
Принято
https://lkml.org/lkml/2011/2/9/21
commit
Статус
Исправлено в ядре 2.6.38-rc5
[В начало]
»