diff options
-rw-r--r-- | drivers/net/rrunner.c | 3 | ||||
-rw-r--r-- | include/linux/hippidevice.h | 5 | ||||
-rw-r--r-- | include/linux/skbuff.h | 6 | ||||
-rw-r--r-- | net/802/hippi.c | 4 | ||||
-rw-r--r-- | net/core/skbuff.c | 3 |
5 files changed, 10 insertions, 11 deletions
diff --git a/drivers/net/rrunner.c b/drivers/net/rrunner.c index 12a86f96d973..ec1a18d189a1 100644 --- a/drivers/net/rrunner.c +++ b/drivers/net/rrunner.c | |||
@@ -1429,6 +1429,7 @@ static int rr_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1429 | { | 1429 | { |
1430 | struct rr_private *rrpriv = netdev_priv(dev); | 1430 | struct rr_private *rrpriv = netdev_priv(dev); |
1431 | struct rr_regs __iomem *regs = rrpriv->regs; | 1431 | struct rr_regs __iomem *regs = rrpriv->regs; |
1432 | struct hippi_cb *hcb = (struct hippi_cb *) skb->cb; | ||
1432 | struct ring_ctrl *txctrl; | 1433 | struct ring_ctrl *txctrl; |
1433 | unsigned long flags; | 1434 | unsigned long flags; |
1434 | u32 index, len = skb->len; | 1435 | u32 index, len = skb->len; |
@@ -1460,7 +1461,7 @@ static int rr_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
1460 | ifield = (u32 *)skb_push(skb, 8); | 1461 | ifield = (u32 *)skb_push(skb, 8); |
1461 | 1462 | ||
1462 | ifield[0] = 0; | 1463 | ifield[0] = 0; |
1463 | ifield[1] = skb->private.ifield; | 1464 | ifield[1] = hcb->ifield; |
1464 | 1465 | ||
1465 | /* | 1466 | /* |
1466 | * We don't need the lock before we are actually going to start | 1467 | * We don't need the lock before we are actually going to start |
diff --git a/include/linux/hippidevice.h b/include/linux/hippidevice.h index 9debe6bbe5f0..9bc3b688d2ee 100644 --- a/include/linux/hippidevice.h +++ b/include/linux/hippidevice.h | |||
@@ -26,6 +26,11 @@ | |||
26 | #include <linux/if_hippi.h> | 26 | #include <linux/if_hippi.h> |
27 | 27 | ||
28 | #ifdef __KERNEL__ | 28 | #ifdef __KERNEL__ |
29 | |||
30 | struct hippi_cb { | ||
31 | __u32 ifield; | ||
32 | }; | ||
33 | |||
29 | extern unsigned short hippi_type_trans(struct sk_buff *skb, | 34 | extern unsigned short hippi_type_trans(struct sk_buff *skb, |
30 | struct net_device *dev); | 35 | struct net_device *dev); |
31 | 36 | ||
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index f10a8b9628b0..4aeadb102589 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
@@ -193,7 +193,6 @@ struct skb_shared_info { | |||
193 | * @nfct: Associated connection, if any | 193 | * @nfct: Associated connection, if any |
194 | * @nfctinfo: Relationship of this skb to the connection | 194 | * @nfctinfo: Relationship of this skb to the connection |
195 | * @nf_bridge: Saved data about a bridged frame - see br_netfilter.c | 195 | * @nf_bridge: Saved data about a bridged frame - see br_netfilter.c |
196 | * @private: Data which is private to the HIPPI implementation | ||
197 | * @tc_index: Traffic control index | 196 | * @tc_index: Traffic control index |
198 | * @tc_verd: traffic control verdict | 197 | * @tc_verd: traffic control verdict |
199 | */ | 198 | */ |
@@ -265,11 +264,6 @@ struct sk_buff { | |||
265 | struct nf_bridge_info *nf_bridge; | 264 | struct nf_bridge_info *nf_bridge; |
266 | #endif | 265 | #endif |
267 | #endif /* CONFIG_NETFILTER */ | 266 | #endif /* CONFIG_NETFILTER */ |
268 | #if defined(CONFIG_HIPPI) | ||
269 | union { | ||
270 | __u32 ifield; | ||
271 | } private; | ||
272 | #endif | ||
273 | #ifdef CONFIG_NET_SCHED | 267 | #ifdef CONFIG_NET_SCHED |
274 | __u32 tc_index; /* traffic control index */ | 268 | __u32 tc_index; /* traffic control index */ |
275 | #ifdef CONFIG_NET_CLS_ACT | 269 | #ifdef CONFIG_NET_CLS_ACT |
diff --git a/net/802/hippi.c b/net/802/hippi.c index 051e8af56a77..cb45ae1310cb 100644 --- a/net/802/hippi.c +++ b/net/802/hippi.c | |||
@@ -51,6 +51,7 @@ static int hippi_header(struct sk_buff *skb, struct net_device *dev, | |||
51 | unsigned len) | 51 | unsigned len) |
52 | { | 52 | { |
53 | struct hippi_hdr *hip = (struct hippi_hdr *)skb_push(skb, HIPPI_HLEN); | 53 | struct hippi_hdr *hip = (struct hippi_hdr *)skb_push(skb, HIPPI_HLEN); |
54 | struct hippi_cb *hcb = (struct hippi_cb *) skb->cb; | ||
54 | 55 | ||
55 | if (!len){ | 56 | if (!len){ |
56 | len = skb->len - HIPPI_HLEN; | 57 | len = skb->len - HIPPI_HLEN; |
@@ -84,9 +85,10 @@ static int hippi_header(struct sk_buff *skb, struct net_device *dev, | |||
84 | if (daddr) | 85 | if (daddr) |
85 | { | 86 | { |
86 | memcpy(hip->le.dest_switch_addr, daddr + 3, 3); | 87 | memcpy(hip->le.dest_switch_addr, daddr + 3, 3); |
87 | memcpy(&skb->private.ifield, daddr + 2, 4); | 88 | memcpy(&hcb->ifield, daddr + 2, 4); |
88 | return HIPPI_HLEN; | 89 | return HIPPI_HLEN; |
89 | } | 90 | } |
91 | hcb->ifield = 0; | ||
90 | return -((int)HIPPI_HLEN); | 92 | return -((int)HIPPI_HLEN); |
91 | } | 93 | } |
92 | 94 | ||
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 8896e6f8aa42..16df7bd77e78 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -365,9 +365,6 @@ struct sk_buff *skb_clone(struct sk_buff *skb, unsigned int __nocast gfp_mask) | |||
365 | nf_bridge_get(skb->nf_bridge); | 365 | nf_bridge_get(skb->nf_bridge); |
366 | #endif | 366 | #endif |
367 | #endif /*CONFIG_NETFILTER*/ | 367 | #endif /*CONFIG_NETFILTER*/ |
368 | #if defined(CONFIG_HIPPI) | ||
369 | C(private); | ||
370 | #endif | ||
371 | #ifdef CONFIG_NET_SCHED | 368 | #ifdef CONFIG_NET_SCHED |
372 | C(tc_index); | 369 | C(tc_index); |
373 | #ifdef CONFIG_NET_CLS_ACT | 370 | #ifdef CONFIG_NET_CLS_ACT |