diff options
Diffstat (limited to 'net/802/tr.c')
-rw-r--r-- | net/802/tr.c | 9 |
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); |