|
@@ -6540,10 +6540,14 @@ static int __init qeth_core_init(void)
|
|
|
mutex_init(&qeth_mod_mutex);
|
|
|
|
|
|
qeth_wq = create_singlethread_workqueue("qeth_wq");
|
|
|
+ if (!qeth_wq) {
|
|
|
+ rc = -ENOMEM;
|
|
|
+ goto out_err;
|
|
|
+ }
|
|
|
|
|
|
rc = qeth_register_dbf_views();
|
|
|
if (rc)
|
|
|
- goto out_err;
|
|
|
+ goto dbf_err;
|
|
|
qeth_core_root_dev = root_device_register("qeth");
|
|
|
rc = PTR_ERR_OR_ZERO(qeth_core_root_dev);
|
|
|
if (rc)
|
|
@@ -6580,6 +6584,8 @@ slab_err:
|
|
|
root_device_unregister(qeth_core_root_dev);
|
|
|
register_err:
|
|
|
qeth_unregister_dbf_views();
|
|
|
+dbf_err:
|
|
|
+ destroy_workqueue(qeth_wq);
|
|
|
out_err:
|
|
|
pr_err("Initializing the qeth device driver failed\n");
|
|
|
return rc;
|