summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pfinet/ChangeLog6
-rw-r--r--pfinet/glue-include/asm/system.h2
-rw-r--r--pfinet/linux-src/net/ipv4/tcp_ipv4.c5
3 files changed, 11 insertions, 2 deletions
diff --git a/pfinet/ChangeLog b/pfinet/ChangeLog
index 37f377c1..41949c71 100644
--- a/pfinet/ChangeLog
+++ b/pfinet/ChangeLog
@@ -1,3 +1,9 @@
+2006-03-15 Thomas Schwinge <tschwinge@gnu.org>
+
+ * glue-include/asm/system.h (xchg): Fix invalid lvalue.
+ * linux-src/net/ipv4/tcp_ipv4.c (tcp_v4_rst_req): Don't use ?: as a
+ lvalue.
+
2004-09-03 Alfred M. Szmidt <ams@kemisten.nu>
* linux-src/net/ipv4/udp.c (udp_v4_get_port): Put empty statement
diff --git a/pfinet/glue-include/asm/system.h b/pfinet/glue-include/asm/system.h
index 1a5d61cd..30339b62 100644
--- a/pfinet/glue-include/asm/system.h
+++ b/pfinet/glue-include/asm/system.h
@@ -9,7 +9,7 @@
#define xchg(ptr, x) \
({ \
__typeof__ (*(ptr)) *_ptr = (ptr), _x = *_ptr; \
- (uintptr_t) *_ptr = (x); _x; \
+ *_ptr = (x); _x; \
})
#define mb() ((void) 0) /* memory barrier */
diff --git a/pfinet/linux-src/net/ipv4/tcp_ipv4.c b/pfinet/linux-src/net/ipv4/tcp_ipv4.c
index 5eabe1b9..2364de33 100644
--- a/pfinet/linux-src/net/ipv4/tcp_ipv4.c
+++ b/pfinet/linux-src/net/ipv4/tcp_ipv4.c
@@ -1584,7 +1584,10 @@ static void tcp_v4_rst_req(struct sock *sk, struct sk_buff *skb)
after(TCP_SKB_CB(skb)->seq, req->rcv_isn+1))
return;
tcp_synq_unlink(tp, req, prev);
- (req->sk ? sk->ack_backlog : tp->syn_backlog)--;
+ if (req->sk)
+ sk->ack_backlog--;
+ else
+ tp->syn_backlog--;
req->class->destructor(req);
tcp_openreq_free(req);