mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 17:36:46 +07:00
s390/qeth: handle failure on workqueue creation
Creating the global workqueue during driver init may fail, deal with it.
Also, destroy the created workqueue on any subsequent error.
Fixes: 0f54761d16
("qeth: Support VEPA mode")
Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
901e3f49fa
commit
a936b1ef37
@ -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 @@ static int __init qeth_core_init(void)
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user