summaryrefslogtreecommitdiff
path: root/include/net/sock.h
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-01-09 20:14:07 +0400
committerArnd Bergmann <arnd@arndb.de>2012-01-09 20:14:07 +0400
commit142f2101a86ade2d6c9dfbedf82e1b5b31c8fce6 (patch)
tree8cced517382b7087df4e89a9e2a00ccac9676a92 /include/net/sock.h
parent155bc27fdfbdf65a07a4f8ef3eafa25e57d8b511 (diff)
parenta07613a54d700a974f3a4a657da78ef5d097315d (diff)
downloadlinux-142f2101a86ade2d6c9dfbedf82e1b5b31c8fce6.tar.xz
Merge branch 'samsung/cleanup' into samsung/driver
Conflicts: arch/arm/mach-s5p64x0/cpu.c -> common.c More changes to a file that got moved into common.c, see previous conflict resolutions. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/net/sock.h')
-rw-r--r--include/net/sock.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index abb6e0f0c3c3..32e39371fba6 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -637,12 +637,14 @@ static inline void __sk_add_backlog(struct sock *sk, struct sk_buff *skb)
/*
* Take into account size of receive queue and backlog queue
+ * Do not take into account this skb truesize,
+ * to allow even a single big packet to come.
*/
static inline bool sk_rcvqueues_full(const struct sock *sk, const struct sk_buff *skb)
{
unsigned int qsize = sk->sk_backlog.len + atomic_read(&sk->sk_rmem_alloc);
- return qsize + skb->truesize > sk->sk_rcvbuf;
+ return qsize > sk->sk_rcvbuf;
}
/* The per-socket spinlock must be held here. */