diff options
-rw-r--r-- | drivers/input/tablet/kbtab.c | 12 |
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 | ||
205 | static struct usb_driver kbtab_driver = { | 203 | static struct usb_driver kbtab_driver = { |