Răsfoiți Sursa

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>
Axel Lin 14 ani în urmă
părinte
comite
a4503199f6
1 a modificat fișierele cu 2 adăugiri și 1 ștergeri
  1. 2 1
      drivers/input/tablet/acecad.c

+ 2 - 1
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);
 	err = input_register_device(acecad->input);
 	if (err)
 	if (err)
-		goto fail2;
+		goto fail3;
 
 
 	usb_set_intfdata(intf, acecad);
 	usb_set_intfdata(intf, acecad);
 
 
 	return 0;
 	return 0;
 
 
+ fail3:	usb_free_urb(acecad->irq);
  fail2:	usb_free_coherent(dev, 8, acecad->data, acecad->data_dma);
  fail2:	usb_free_coherent(dev, 8, acecad->data, acecad->data_dma);
  fail1: input_free_device(input_dev);
  fail1: input_free_device(input_dev);
 	kfree(acecad);
 	kfree(acecad);