Phonet: handle rtnetlink registration failure

Signed-off-by: Rémi Denis-Courmont <remi.denis-courmont@nokia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
remi.denis-courmont@nokia
2009-01-23 03:00:28 +00:00
committed by David S. Miller
parent 76e02cf694
commit 660f706d93
3 changed files with 16 additions and 7 deletions
+6 -2
View File
@@ -190,9 +190,13 @@ static struct notifier_block phonet_device_notifier = {
/* Initialize Phonet devices list */
int __init phonet_device_init(void)
{
int err;
register_netdevice_notifier(&phonet_device_notifier);
phonet_netlink_register();
return 0;
err = phonet_netlink_register();
if (err)
phonet_device_exit();
return err;
}
void phonet_device_exit(void)
+9 -4
View File
@@ -160,9 +160,14 @@ out:
return skb->len;
}
void __init phonet_netlink_register(void)
int __init phonet_netlink_register(void)
{
rtnl_register(PF_PHONET, RTM_NEWADDR, addr_doit, NULL);
rtnl_register(PF_PHONET, RTM_DELADDR, addr_doit, NULL);
rtnl_register(PF_PHONET, RTM_GETADDR, NULL, getaddr_dumpit);
int err = __rtnl_register(PF_PHONET, RTM_NEWADDR, addr_doit, NULL);
if (err)
return err;
/* Further __rtnl_register() cannot fail */
__rtnl_register(PF_PHONET, RTM_DELADDR, addr_doit, NULL);
__rtnl_register(PF_PHONET, RTM_GETADDR, NULL, getaddr_dumpit);
return 0;
}