diff --git a/drivers/char/misc.c b/drivers/char/misc.c index 2cf595d2e10b85fef701f44275ca0987600a1b3c..f7dd455dd0dd3c7c9956e772b5ab8bd83a67a4a6 100644 --- a/drivers/char/misc.c +++ b/drivers/char/misc.c @@ -264,8 +264,8 @@ int misc_register(struct miscdevice *misc) device_create_with_groups(&misc_class, misc->parent, dev, misc, misc->groups, "%s", misc->name); if (IS_ERR(misc->this_device)) { + misc_minor_free(misc->minor); if (is_dynamic) { - misc_minor_free(misc->minor); misc->minor = MISC_DYNAMIC_MINOR; } err = PTR_ERR(misc->this_device);