From: David S. Miller Date: Thu, 23 Apr 2009 11:08:24 +0000 (-0700) Subject: Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 X-Git-Tag: v2.6.31-rc1~330^2~571 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=5802b140ed52957ad150eaf40239a95f5f45fbd3;p=~emulex%2Finfiniband.git Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: net/iucv/af_iucv.c --- 5802b140ed52957ad150eaf40239a95f5f45fbd3 diff --cc net/iucv/af_iucv.c index 264c6b36931,b51c9187c34..0fc00087ea8 --- a/net/iucv/af_iucv.c +++ b/net/iucv/af_iucv.c @@@ -267,8 -225,8 +268,10 @@@ static struct sock *iucv_sock_alloc(str spin_lock_init(&iucv_sk(sk)->message_q.lock); skb_queue_head_init(&iucv_sk(sk)->backlog_skb_q); iucv_sk(sk)->send_tag = 0; + iucv_sk(sk)->flags = 0; + iucv_sk(sk)->msglimit = IUCV_QUEUELEN_DEFAULT; + iucv_sk(sk)->path = NULL; + memset(&iucv_sk(sk)->src_user_id , 0, 32); sk->sk_destruct = iucv_sock_destruct; sk->sk_sndtimeo = IUCV_CONN_TIMEOUT; @@@ -1046,16 -863,10 +1053,14 @@@ static int iucv_sock_recvmsg(struct kio iucv_process_message_q(sk); spin_unlock_bh(&iucv->message_q.lock); } - - } else - skb_queue_head(&sk->sk_receive_queue, skb); + } done: - return err ? : copied; + /* SOCK_SEQPACKET: return real length if MSG_TRUNC is set */ + if (sk->sk_type == SOCK_SEQPACKET && (flags & MSG_TRUNC)) + copied = rlen; + + return copied; } static inline unsigned int iucv_accept_poll(struct sock *parent)