From b14ddfc5ae755b8bc4e8dc8fe11b803107028cfe Mon Sep 17 00:00:00 2001 From: Jochen Friedrich Date: Sun, 23 Oct 2005 10:31:45 +0200 Subject: [PATCH] --- yaml --- r: 10093 b: refs/heads/master c: 5ac660ee1334b401450280cd282113b2c18398f5 h: refs/heads/master i: 10091: e2f2703ebff0194249f3c1cb94c58df7dcf21d5f v: v3 --- [refs] | 2 +- trunk/net/802/tr.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 02b6ffac8629..c57b5cc6524a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4ea6a8046bb49d43c950898f0cb4e1994ef6c89d +refs/heads/master: 5ac660ee1334b401450280cd282113b2c18398f5 diff --git a/trunk/net/802/tr.c b/trunk/net/802/tr.c index 1eaa3d19d8bf..afd8385c0c9c 100644 --- a/trunk/net/802/tr.c +++ b/trunk/net/802/tr.c @@ -340,9 +340,10 @@ static void tr_add_rif_info(struct trh_hdr *trh, struct net_device *dev) unsigned int hash, rii_p = 0; unsigned long flags; struct rif_cache *entry; - + unsigned char saddr0; spin_lock_irqsave(&rif_lock, flags); + saddr0 = trh->saddr[0]; /* * Firstly see if the entry exists @@ -395,7 +396,6 @@ printk("adding rif_entry: addr:%02X:%02X:%02X:%02X:%02X:%02X rcf:%04X\n", entry->rcf = trh->rcf & htons((unsigned short)~TR_RCF_BROADCAST_MASK); memcpy(&(entry->rseg[0]),&(trh->rseg[0]),8*sizeof(unsigned short)); entry->local_ring = 0; - trh->saddr[0]|=TR_RII; /* put the routing indicator back for tcpdump */ } else { @@ -422,6 +422,7 @@ printk("updating rif_entry: addr:%02X:%02X:%02X:%02X:%02X:%02X rcf:%04X\n", } entry->last_used=jiffies; } + trh->saddr[0]=saddr0; /* put the routing indicator back for tcpdump */ spin_unlock_irqrestore(&rif_lock, flags); }