summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-12-29 23:02:50 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2007-12-29 23:02:50 +0000
commitddb92eb4611d5c14675273f3a6f775678c38ed2c (patch)
tree62c4c978e0e3c164ee4fc3f23196715fa94c6251
parent4ee76473da313fe1a6becef32c1868e77edca05d (diff)
Adapt ztd-eth to newer interfaces from kernel 2.6.24 .
Merged from branches/1.2 rev. 3577 . git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.4@3578 5390a7c7-147a-4af0-8ec9-7488f05a26cb
-rw-r--r--ztd-eth.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ztd-eth.c b/ztd-eth.c
index 3c926db..97d3492 100644
--- a/ztd-eth.c
+++ b/ztd-eth.c
@@ -183,8 +183,12 @@ static int ztdeth_transmit(void *pvt, unsigned char *msg, int msglen)
skb->nh.raw = skb->data;
#endif
skb->dev = dev;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
+ dev_hard_header(skb, dev, ETH_P_ZTDETH, addr, dev->dev_addr, skb->len);
+#else
if (dev->hard_header)
dev->hard_header(skb, dev, ETH_P_ZTDETH, addr, dev->dev_addr, skb->len);
+#endif
skb_queue_tail(&skbs, skb);
}
}
@@ -375,7 +379,11 @@ static void *ztdeth_create(struct zt_span *span, char *addr)
}
z->subaddr = htons(sub);
}
- z->dev = dev_get_by_name(z->ethdev);
+ z->dev = dev_get_by_name(
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24)
+ &init_net,
+#endif
+ z->ethdev);
if (!z->dev) {
printk("TDMoE: Invalid device '%s'\n", z->ethdev);
kfree(z);