usb: gadget: f_hid: check return value of device_create
device_create() might fail, so check its return value and react appropriately. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
parent
0652940732
commit
634060870a
|
@ -556,6 +556,7 @@ static int __init hidg_bind(struct usb_configuration *c, struct usb_function *f)
|
|||
{
|
||||
struct usb_ep *ep;
|
||||
struct f_hidg *hidg = func_to_hidg(f);
|
||||
struct device *device;
|
||||
int status;
|
||||
dev_t dev;
|
||||
|
||||
|
@ -623,10 +624,16 @@ static int __init hidg_bind(struct usb_configuration *c, struct usb_function *f)
|
|||
if (status)
|
||||
goto fail_free_descs;
|
||||
|
||||
device_create(hidg_class, NULL, dev, NULL, "%s%d", "hidg", hidg->minor);
|
||||
device = device_create(hidg_class, NULL, dev, NULL,
|
||||
"%s%d", "hidg", hidg->minor);
|
||||
if (IS_ERR(device)) {
|
||||
status = PTR_ERR(device);
|
||||
goto del;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
del:
|
||||
cdev_del(&hidg->cdev);
|
||||
fail_free_descs:
|
||||
usb_free_all_descriptors(f);
|
||||
fail:
|
||||
|
|
Loading…
Reference in a new issue