Commit 0cf3a14c authored by Amit Kumar Salecha's avatar Amit Kumar Salecha Committed by David S. Miller
Browse files

qlcnic: fix netdev notifier in error path



netdev notifier are not unregistered if pci_register_driver fails.

Signed-off-by: default avatarAmit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0df170b6
Loading
Loading
Loading
Loading
+9 −1
Original line number Original line Diff line number Diff line
@@ -3451,6 +3451,7 @@ static struct pci_driver qlcnic_driver = {


static int __init qlcnic_init_module(void)
static int __init qlcnic_init_module(void)
{
{
	int ret;


	printk(KERN_INFO "%s\n", qlcnic_driver_string);
	printk(KERN_INFO "%s\n", qlcnic_driver_string);


@@ -3459,8 +3460,15 @@ static int __init qlcnic_init_module(void)
	register_inetaddr_notifier(&qlcnic_inetaddr_cb);
	register_inetaddr_notifier(&qlcnic_inetaddr_cb);
#endif
#endif


	ret = pci_register_driver(&qlcnic_driver);
	if (ret) {
#ifdef CONFIG_INET
		unregister_inetaddr_notifier(&qlcnic_inetaddr_cb);
		unregister_netdevice_notifier(&qlcnic_netdev_cb);
#endif
	}


	return pci_register_driver(&qlcnic_driver);
	return ret;
}
}


module_init(qlcnic_init_module);
module_init(qlcnic_init_module);