]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/phonet/af_phonet.c
[ARM] 5321/1: Kirkwood: fix typo in Makefile
[linux-2.6-omap-h63xx.git] / net / phonet / af_phonet.c
index 1d8df6b7e3df2cd0e4ebee1fef6e9ab2ac713b62..b9d97effebe32ac3c276bf4dee94cda5da4fb7cf 100644 (file)
@@ -58,12 +58,19 @@ static int pn_socket_create(struct net *net, struct socket *sock, int protocol)
                case SOCK_DGRAM:
                        protocol = PN_PROTO_PHONET;
                        break;
+               case SOCK_SEQPACKET:
+                       protocol = PN_PROTO_PIPE;
+                       break;
                default:
                        return -EPROTONOSUPPORT;
                }
        }
 
        pnp = phonet_proto_get(protocol);
+       if (pnp == NULL &&
+           request_module("net-pf-%d-proto-%d", PF_PHONET, protocol) == 0)
+               pnp = phonet_proto_get(protocol);
+
        if (pnp == NULL)
                return -EPROTONOSUPPORT;
        if (sock->type != pnp->sock_type) {
@@ -94,7 +101,7 @@ out:
 }
 
 static struct net_proto_family phonet_proto_family = {
-       .family = AF_PHONET,
+       .family = PF_PHONET,
        .create = pn_socket_create,
        .owner = THIS_MODULE,
 };
@@ -447,7 +454,7 @@ static int __init phonet_init(void)
 
 err:
        phonet_sysctl_exit();
-       sock_unregister(AF_PHONET);
+       sock_unregister(PF_PHONET);
        dev_remove_pack(&phonet_packet_type);
        phonet_device_exit();
        return err;
@@ -457,7 +464,7 @@ static void __exit phonet_exit(void)
 {
        isi_unregister();
        phonet_sysctl_exit();
-       sock_unregister(AF_PHONET);
+       sock_unregister(PF_PHONET);
        dev_remove_pack(&phonet_packet_type);
        phonet_device_exit();
 }
@@ -466,3 +473,4 @@ module_init(phonet_init);
 module_exit(phonet_exit);
 MODULE_DESCRIPTION("Phonet protocol stack for Linux");
 MODULE_LICENSE("GPL");
+MODULE_ALIAS_NETPROTO(PF_PHONET);