bnx2x: free workqueue when driver fail to register
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
a8679be207
commit
dd21ca6de7
@@ -11630,13 +11630,20 @@ static struct pci_driver bnx2x_pci_driver = {
|
|||||||
|
|
||||||
static int __init bnx2x_init(void)
|
static int __init bnx2x_init(void)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
bnx2x_wq = create_singlethread_workqueue("bnx2x");
|
bnx2x_wq = create_singlethread_workqueue("bnx2x");
|
||||||
if (bnx2x_wq == NULL) {
|
if (bnx2x_wq == NULL) {
|
||||||
printk(KERN_ERR PFX "Cannot create workqueue\n");
|
printk(KERN_ERR PFX "Cannot create workqueue\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
return pci_register_driver(&bnx2x_pci_driver);
|
ret = pci_register_driver(&bnx2x_pci_driver);
|
||||||
|
if (ret) {
|
||||||
|
printk(KERN_ERR PFX "Cannot register driver\n");
|
||||||
|
destroy_workqueue(bnx2x_wq);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void __exit bnx2x_cleanup(void)
|
static void __exit bnx2x_cleanup(void)
|
||||||
|
Reference in New Issue
Block a user