|
@@ -972,17 +972,22 @@ int ghid_setup(struct usb_gadget *g, int count)
|
|
|
|
|
|
hidg_class = class_create(THIS_MODULE, "hidg");
|
|
|
if (IS_ERR(hidg_class)) {
|
|
|
+ status = PTR_ERR(hidg_class);
|
|
|
hidg_class = NULL;
|
|
|
- return PTR_ERR(hidg_class);
|
|
|
+ return status;
|
|
|
}
|
|
|
|
|
|
status = alloc_chrdev_region(&dev, 0, count, "hidg");
|
|
|
- if (!status) {
|
|
|
- major = MAJOR(dev);
|
|
|
- minors = count;
|
|
|
+ if (status) {
|
|
|
+ class_destroy(hidg_class);
|
|
|
+ hidg_class = NULL;
|
|
|
+ return status;
|
|
|
}
|
|
|
|
|
|
- return status;
|
|
|
+ major = MAJOR(dev);
|
|
|
+ minors = count;
|
|
|
+
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
void ghid_cleanup(void)
|