lkml.org 
[lkml]   [2007]   [Dec]   [14]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
DateFri, 14 Dec 2007 14:03:05 +0800
From"guanxun mu" <>
Subject[PATCH] AS apple talk protocol register_snap_client failed
[PACTH APPLETALK]

This patch update proto_init process when register_snap_client failed

Signed-off-by: Michale Moore <lyxmoo@gmail.com>

diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
index 6c5c6dc..d6573f6 100644
--- a/net/appletalk/aarp.c
+++ b/net/appletalk/aarp.c
@@ -873,7 +873,10 @@ void __init aarp_proto_init(void)
 {
        aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv);
        if (!aarp_dl)
-               printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
+       {
+               printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
+               return;
+       }
        init_timer(&aarp_timer);
        aarp_timer.function = aarp_expire_timeout;
        aarp_timer.data     = 0;
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index e0d37d6..ce9929c 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -1894,9 +1894,9 @@ static int __init atalk_init(void)

        (void)sock_register(&atalk_family_ops);
        ddp_dl = register_snap_client(ddp_snap_id, atalk_rcv);
-       if (!ddp_dl)
-               printk(atalk_err_snap);
-
+       if (!ddp_dl)
+               goto failed;
+
        dev_add_pack(&ltalk_packet_type);
        dev_add_pack(&ppptalk_packet_type);

@@ -1906,7 +1906,13 @@ static int __init atalk_init(void)
        atalk_register_sysctl();
 out:
        return rc;
+failed:
+       printk(atalk_err_snap);
+       sock_unregister(PF_APPLETALK);
+       proto_unregister(&ddp_proto);
+       return -1;
 }
+
 module_init(atalk_init);

 /*

\
 
 \ /
  Last update: 2007-12-14 07:05    [from the cache]
©2003-2008