Skip to content

Commit

Permalink
USB: onetouch - handle errors from input_register_device()
Browse files Browse the repository at this point in the history
Onetouch: handle errors from input_register_device()

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Dmitry Torokhov authored and Greg Kroah-Hartman committed Sep 27, 2006
1 parent bd35078 commit 17efe15
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions drivers/usb/storage/onetouch.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,7 @@ int onetouch_connect_input(struct us_data *ss)
struct usb_onetouch *onetouch;
struct input_dev *input_dev;
int pipe, maxp;
int error = -ENOMEM;

interface = ss->pusb_intf->cur_altsetting;

Expand Down Expand Up @@ -211,15 +212,18 @@ int onetouch_connect_input(struct us_data *ss)
ss->suspend_resume_hook = usb_onetouch_pm_hook;
#endif

input_register_device(onetouch->dev);
error = input_register_device(onetouch->dev);
if (error)
goto fail3;

return 0;

fail3: usb_free_urb(onetouch->irq);
fail2: usb_buffer_free(udev, ONETOUCH_PKT_LEN,
onetouch->data, onetouch->data_dma);
fail1: kfree(onetouch);
input_free_device(input_dev);
return -ENOMEM;
return error;
}

void onetouch_release_input(void *onetouch_)
Expand Down

0 comments on commit 17efe15

Please sign in to comment.