If driver_register() failed there is no sense to call driver_unregister().
unregister_chrdev() should be called here.
Found by Linux Driver Verification project (linuxtesting.org).
Signed-off-by: Alexey Khoroshilov <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
error = driver_register(&idetape_driver.gen_driver);
if (error)
- goto out_free_driver;
+ goto out_free_chrdev;
return 0;
-out_free_driver:
- driver_unregister(&idetape_driver.gen_driver);
+out_free_chrdev:
+ unregister_chrdev(IDETAPE_MAJOR, "ht");
out_free_class:
class_destroy(idetape_sysfs_class);
out: