|
@@ -2099,7 +2099,17 @@ static int __init init(void)
|
|
|
INIT_LIST_HEAD(&pdrvdata.consoles);
|
|
|
INIT_LIST_HEAD(&pdrvdata.portdevs);
|
|
|
|
|
|
- return register_virtio_driver(&virtio_console);
|
|
|
+ err = register_virtio_driver(&virtio_console);
|
|
|
+ if (err < 0) {
|
|
|
+ pr_err("Error %d registering virtio driver\n", err);
|
|
|
+ goto free;
|
|
|
+ }
|
|
|
+ return 0;
|
|
|
+free:
|
|
|
+ if (pdrvdata.debugfs_dir)
|
|
|
+ debugfs_remove_recursive(pdrvdata.debugfs_dir);
|
|
|
+ class_destroy(pdrvdata.class);
|
|
|
+ return err;
|
|
|
}
|
|
|
|
|
|
static void __exit fini(void)
|