diff options
Diffstat (limited to 'net/phonet/af_phonet.c')
-rw-r--r-- | net/phonet/af_phonet.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/net/phonet/af_phonet.c b/net/phonet/af_phonet.c index c7c39d92ee5e..95bc49ddb8bf 100644 --- a/net/phonet/af_phonet.c +++ b/net/phonet/af_phonet.c | |||
@@ -426,16 +426,18 @@ static int __init phonet_init(void) | |||
426 | { | 426 | { |
427 | int err; | 427 | int err; |
428 | 428 | ||
429 | err = phonet_device_init(); | ||
430 | if (err) | ||
431 | return err; | ||
432 | |||
429 | err = sock_register(&phonet_proto_family); | 433 | err = sock_register(&phonet_proto_family); |
430 | if (err) { | 434 | if (err) { |
431 | printk(KERN_ALERT | 435 | printk(KERN_ALERT |
432 | "phonet protocol family initialization failed\n"); | 436 | "phonet protocol family initialization failed\n"); |
433 | return err; | 437 | goto err_sock; |
434 | } | 438 | } |
435 | 439 | ||
436 | phonet_device_init(); | ||
437 | dev_add_pack(&phonet_packet_type); | 440 | dev_add_pack(&phonet_packet_type); |
438 | phonet_netlink_register(); | ||
439 | phonet_sysctl_init(); | 441 | phonet_sysctl_init(); |
440 | 442 | ||
441 | err = isi_register(); | 443 | err = isi_register(); |
@@ -447,6 +449,7 @@ err: | |||
447 | phonet_sysctl_exit(); | 449 | phonet_sysctl_exit(); |
448 | sock_unregister(PF_PHONET); | 450 | sock_unregister(PF_PHONET); |
449 | dev_remove_pack(&phonet_packet_type); | 451 | dev_remove_pack(&phonet_packet_type); |
452 | err_sock: | ||
450 | phonet_device_exit(); | 453 | phonet_device_exit(); |
451 | return err; | 454 | return err; |
452 | } | 455 | } |