HID: Never call hid_free_buffers() when usbhid_device has been freed
We can't call hid_free_buffers() when the underlying usbhid_device has already been freed. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
cda5ecf80b
commit
22f675f320
|
@ -877,9 +877,9 @@ fail:
|
||||||
usb_free_urb(usbhid->urbin);
|
usb_free_urb(usbhid->urbin);
|
||||||
usb_free_urb(usbhid->urbout);
|
usb_free_urb(usbhid->urbout);
|
||||||
usb_free_urb(usbhid->urbctrl);
|
usb_free_urb(usbhid->urbctrl);
|
||||||
|
hid_free_buffers(dev, hid);
|
||||||
kfree(usbhid);
|
kfree(usbhid);
|
||||||
fail_no_usbhid:
|
fail_no_usbhid:
|
||||||
hid_free_buffers(dev, hid);
|
|
||||||
hid_free_device(hid);
|
hid_free_device(hid);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
@ -913,9 +913,9 @@ static void hid_disconnect(struct usb_interface *intf)
|
||||||
usb_free_urb(usbhid->urbin);
|
usb_free_urb(usbhid->urbin);
|
||||||
usb_free_urb(usbhid->urbctrl);
|
usb_free_urb(usbhid->urbctrl);
|
||||||
usb_free_urb(usbhid->urbout);
|
usb_free_urb(usbhid->urbout);
|
||||||
kfree(usbhid);
|
|
||||||
|
|
||||||
hid_free_buffers(hid_to_usb_dev(hid), hid);
|
hid_free_buffers(hid_to_usb_dev(hid), hid);
|
||||||
|
kfree(usbhid);
|
||||||
hid_free_device(hid);
|
hid_free_device(hid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue