aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2006-07-19 15:39:46 +0200
committerGreg Kroah-Hartman <gregkh@suse.de>2006-08-11 14:06:06 -0700
commit7af569abc33ce09d3cb93e9b2160efff2531c59f (patch)
treeb8d4dd5cf7c9e01049f3cf3483f5b8c8b7c91bf0 /drivers
parent919aeadcfa8e72ec2d6bf7bd405a16c40b8d8ecf (diff)
downloadlinux-7af569abc33ce09d3cb93e9b2160efff2531c59f.tar.gz
USB: appletouch: fix atp_disconnect
appletouch uses urb->transfer_dma after having freed the urb, this shows up only if the system is compiled with slab debugging. This patch fixes it by reordering the free calls. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/input/appletouch.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/usb/input/appletouch.c b/drivers/usb/input/appletouch.c
index 9e3f139033714..044faa07e2976 100644
--- a/drivers/usb/input/appletouch.c
+++ b/drivers/usb/input/appletouch.c
@@ -597,9 +597,9 @@ static void atp_disconnect(struct usb_interface *iface)
if (dev) {
usb_kill_urb(dev->urb);
input_unregister_device(dev->input);
- usb_free_urb(dev->urb);
usb_buffer_free(dev->udev, dev->datalen,
dev->data, dev->urb->transfer_dma);
+ usb_free_urb(dev->urb);
kfree(dev);
}
printk(KERN_INFO "input: appletouch disconnected\n");