Merge tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux
[cascardo/linux.git] / net / ieee802154 / 6lowpan.c
index 09cba81..43b95ca 100644 (file)
@@ -377,17 +377,14 @@ static int lowpan_header_create(struct sk_buff *skb,
        struct ipv6hdr *hdr;
        const u8 *saddr = _saddr;
        const u8 *daddr = _daddr;
-       u8 *head;
+       u8 head[100];
        struct ieee802154_addr sa, da;
 
+       /* TODO:
+        * if this package isn't ipv6 one, where should it be routed?
+        */
        if (type != ETH_P_IPV6)
                return 0;
-               /* TODO:
-                * if this package isn't ipv6 one, where should it be routed?
-                */
-       head = kzalloc(100, GFP_KERNEL);
-       if (head == NULL)
-               return -ENOMEM;
 
        hdr = ipv6_hdr(skb);
        hc06_ptr = head + 2;
@@ -561,8 +558,6 @@ static int lowpan_header_create(struct sk_buff *skb,
        skb_pull(skb, sizeof(struct ipv6hdr));
        memcpy(skb_push(skb, hc06_ptr - head), head, hc06_ptr - head);
 
-       kfree(head);
-
        lowpan_raw_dump_table(__func__, "raw skb data dump", skb->data,
                                skb->len);
 
@@ -1267,7 +1262,7 @@ static inline int __init lowpan_netlink_init(void)
        return rtnl_link_register(&lowpan_link_ops);
 }
 
-static inline void __init lowpan_netlink_fini(void)
+static inline void lowpan_netlink_fini(void)
 {
        rtnl_link_unregister(&lowpan_link_ops);
 }