# This is a BitKeeper generated patch for the following project: # Project Name: Linux kernel tree # This patch format is intended for GNU patch command version 2.5 or higher. # This patch includes the following deltas: # ChangeSet 1.295 -> 1.296 # drivers/usb/hid-core.c 1.12 -> 1.13 # # The following is the BitKeeper ChangeSet Log # -------------------------------------------- # 02/02/12 vojtech@suse.cz 1.296 # usb hid driver: # - patch to fix bug where urbs were freed too soon. # -------------------------------------------- # diff -Nru a/drivers/usb/hid-core.c b/drivers/usb/hid-core.c --- a/drivers/usb/hid-core.c Tue Feb 12 22:58:00 2002 +++ b/drivers/usb/hid-core.c Tue Feb 12 22:58:00 2002 @@ -1431,15 +1431,10 @@ { struct hid_device *hid = ptr; - dbg("cleanup called"); usb_unlink_urb(hid->urbin); usb_unlink_urb(hid->urbout); usb_unlink_urb(hid->urbctrl); - usb_free_urb(hid->urbin); - usb_free_urb(hid->urbctrl); - if (hid->urbout) - usb_free_urb(hid->urbout); if (hid->claimed & HID_CLAIMED_INPUT) hidinput_disconnect(hid); @@ -1447,6 +1442,12 @@ if (hid->claimed & HID_CLAIMED_HIDDEV) hiddev_disconnect(hid); #endif + + usb_free_urb(hid->urbin); + usb_free_urb(hid->urbctrl); + if (hid->urbout) + usb_free_urb(hid->urbout); + hid_free_device(hid); }