Messages in this thread Patch in this message | | | Date | Tue, 11 May 1999 21:27:53 -0500 | From | Mitchell Blank Jr <> | Subject | 2.2.8/2.3.0 failed compile with ethertap |
| |
Error on link: drivers/net/net.a(ethertap.o): In function `ethertap_start_xmit': ethertap.o(.text+0xce): undefined reference to `__skb_push' make: *** [vmlinux] Error 1
Using the drivers/net/ethertap.c from 2.2.7 compiled OK (untested as of yet). I'm not sure why 'skb_push' was changed to '__skb_push'. I don't see anything in 2.3.1pre1 that would fix this.
The differences in that file between 2.2.7 and 2.3.0 follow.
-Mitch
--- ethertap.c.227 Wed May 12 11:23:42 1999 +++ ethertap.c.230 Wed May 12 11:26:27 1999 @@ -177,11 +177,21 @@ #endif if (skb_headroom(skb) < 2) { - printk(KERN_DEBUG "%s : bug --- xmit with head<2\n", dev->name); + static int once; + struct sk_buff *skb2; + + if (!once) { + once = 1; + printk(KERN_DEBUG "%s: not aligned xmit by protocol %04x\n", dev->name, skb->protocol); + } + + skb2 = skb_realloc_headroom(skb, 2); dev_kfree_skb(skb); - return 0; + if (skb2 == NULL) + return 0; + skb = skb2; } - skb_push(skb, 2); + __skb_push(skb, 2); /* Make the same thing, which loopback does. */ if (skb_shared(skb)) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |