From: Mariusz Kozlowski - usb_free_urb() cleanup Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton --- drivers/usb/input/hid-core.c | 13 ++++--------- 1 files changed, 4 insertions(+), 9 deletions(-) diff -puN drivers/usb/input/hid-core.c~usb-hid-core-free-urb-cleanup drivers/usb/input/hid-core.c --- a/drivers/usb/input/hid-core.c~usb-hid-core-free-urb-cleanup +++ a/drivers/usb/input/hid-core.c @@ -2084,13 +2084,9 @@ static struct hid_device *usb_hid_config return hid; fail: - - if (hid->urbin) - usb_free_urb(hid->urbin); - if (hid->urbout) - usb_free_urb(hid->urbout); - if (hid->urbctrl) - usb_free_urb(hid->urbctrl); + usb_free_urb(hid->urbin); + usb_free_urb(hid->urbout); + usb_free_urb(hid->urbctrl); hid_free_buffers(dev, hid); hid_free_device(hid); @@ -2121,8 +2117,7 @@ static void hid_disconnect(struct usb_in usb_free_urb(hid->urbin); usb_free_urb(hid->urbctrl); - if (hid->urbout) - usb_free_urb(hid->urbout); + usb_free_urb(hid->urbout); hid_free_buffers(hid->dev, hid); hid_free_device(hid); _