|
@@ -223,7 +223,7 @@ int usb_create_ep_files(struct device *parent,
|
|
|
ep_dev = kzalloc(sizeof(*ep_dev), GFP_KERNEL);
|
|
|
if (!ep_dev) {
|
|
|
retval = -ENOMEM;
|
|
|
- goto exit;
|
|
|
+ goto error_alloc;
|
|
|
}
|
|
|
|
|
|
/* fun calculation to determine the minor of this endpoint */
|
|
@@ -241,33 +241,31 @@ int usb_create_ep_files(struct device *parent,
|
|
|
|
|
|
retval = device_register(&ep_dev->dev);
|
|
|
if (retval)
|
|
|
- goto error;
|
|
|
+ goto error_register;
|
|
|
retval = sysfs_create_group(&ep_dev->dev.kobj, &ep_dev_attr_grp);
|
|
|
if (retval)
|
|
|
goto error_group;
|
|
|
|
|
|
- endpoint->ep_dev = ep_dev;
|
|
|
-
|
|
|
/* create the symlink to the old-style "ep_XX" directory */
|
|
|
sprintf(name, "ep_%02x", endpoint->desc.bEndpointAddress);
|
|
|
- retval = sysfs_create_link(&parent->kobj,
|
|
|
- &endpoint->ep_dev->dev.kobj, name);
|
|
|
+ retval = sysfs_create_link(&parent->kobj, &ep_dev->dev.kobj, name);
|
|
|
if (retval)
|
|
|
goto error_link;
|
|
|
-exit:
|
|
|
+ endpoint->ep_dev = ep_dev;
|
|
|
return retval;
|
|
|
|
|
|
error_link:
|
|
|
sysfs_remove_group(&ep_dev->dev.kobj, &ep_dev_attr_grp);
|
|
|
-
|
|
|
error_group:
|
|
|
device_unregister(&ep_dev->dev);
|
|
|
- endpoint->ep_dev = NULL;
|
|
|
destroy_endpoint_class();
|
|
|
return retval;
|
|
|
-error:
|
|
|
+
|
|
|
+error_register:
|
|
|
kfree(ep_dev);
|
|
|
+error_alloc:
|
|
|
destroy_endpoint_class();
|
|
|
+exit:
|
|
|
return retval;
|
|
|
}
|
|
|
|