aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/input/tablet/kbtab.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/input/tablet/kbtab.c b/drivers/input/tablet/kbtab.c
index 76b5d526cde9..3f7d1254b8ed 100644
--- a/drivers/input/tablet/kbtab.c
+++ b/drivers/input/tablet/kbtab.c
@@ -193,13 +193,11 @@ static void kbtab_disconnect(struct usb_interface *intf)
193 struct kbtab *kbtab = usb_get_intfdata(intf); 193 struct kbtab *kbtab = usb_get_intfdata(intf);
194 194
195 usb_set_intfdata(intf, NULL); 195 usb_set_intfdata(intf, NULL);
196 if (kbtab) { 196
197 usb_kill_urb(kbtab->irq); 197 input_unregister_device(kbtab->dev);
198 input_unregister_device(kbtab->dev); 198 usb_free_urb(kbtab->irq);
199 usb_free_urb(kbtab->irq); 199 usb_buffer_free(kbtab->usbdev, 8, kbtab->data, kbtab->data_dma);
200 usb_buffer_free(interface_to_usbdev(intf), 8, kbtab->data, kbtab->data_dma); 200 kfree(kbtab);
201 kfree(kbtab);
202 }
203} 201}
204 202
205static struct usb_driver kbtab_driver = { 203static struct usb_driver kbtab_driver = {