aboutsummaryrefslogtreecommitdiffstats
path: root/net/802/tr.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/802/tr.c')
-rw-r--r--net/802/tr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/net/802/tr.c b/net/802/tr.c
index 96bd14452c55..0ba1946211c9 100644
--- a/net/802/tr.c
+++ b/net/802/tr.c
@@ -189,11 +189,13 @@ static int tr_rebuild_header(struct sk_buff *skb)
189__be16 tr_type_trans(struct sk_buff *skb, struct net_device *dev) 189__be16 tr_type_trans(struct sk_buff *skb, struct net_device *dev)
190{ 190{
191 191
192 struct trh_hdr *trh=(struct trh_hdr *)skb->data; 192 struct trh_hdr *trh;
193 struct trllc *trllc; 193 struct trllc *trllc;
194 unsigned riflen=0; 194 unsigned riflen=0;
195 195
196 skb->mac.raw = skb->data; 196 skb->dev = dev;
197 skb_reset_mac_header(skb);
198 trh = tr_hdr(skb);
197 199
198 if(trh->saddr[0] & TR_RII) 200 if(trh->saddr[0] & TR_RII)
199 riflen = (ntohs(trh->rcf) & TR_RCF_LEN_MASK) >> 8; 201 riflen = (ntohs(trh->rcf) & TR_RCF_LEN_MASK) >> 8;
@@ -552,7 +554,8 @@ static int rif_seq_show(struct seq_file *seq, void *v)
552 if(j==1) { 554 if(j==1) {
553 segment=ntohs(entry->rseg[j-1])>>4; 555 segment=ntohs(entry->rseg[j-1])>>4;
554 seq_printf(seq," %03X",segment); 556 seq_printf(seq," %03X",segment);
555 }; 557 }
558
556 segment=ntohs(entry->rseg[j])>>4; 559 segment=ntohs(entry->rseg[j])>>4;
557 brdgnmb=ntohs(entry->rseg[j-1])&0x00f; 560 brdgnmb=ntohs(entry->rseg[j-1])&0x00f;
558 seq_printf(seq,"-%01X-%03X",brdgnmb,segment); 561 seq_printf(seq,"-%01X-%03X",brdgnmb,segment);