diff options
author | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-06-20 10:51:24 -0400 |
---|---|---|
committer | David Woodhouse <dwmw2@shinybook.infradead.org> | 2005-06-20 10:51:24 -0400 |
commit | df5179854bca84ac5be500849b12dd33ce03f03f (patch) | |
tree | 78cf16415489e70f34c58f2c7f5c2e63696e9761 /net/sctp/socket.c | |
parent | 0f45aa18e65cf3d768082d7d86054a0d2a20bb18 (diff) | |
parent | 8b22c249e7de453961e4d253b19fc2a0bdd65d53 (diff) |
Merge with master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Diffstat (limited to 'net/sctp/socket.c')
-rw-r--r-- | net/sctp/socket.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 2a3c0e08a090..e6926cb19420 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c | |||
@@ -4368,15 +4368,11 @@ static struct sk_buff *sctp_skb_recv_datagram(struct sock *sk, int flags, | |||
4368 | * However, this function was corrent in any case. 8) | 4368 | * However, this function was corrent in any case. 8) |
4369 | */ | 4369 | */ |
4370 | if (flags & MSG_PEEK) { | 4370 | if (flags & MSG_PEEK) { |
4371 | unsigned long cpu_flags; | 4371 | spin_lock_bh(&sk->sk_receive_queue.lock); |
4372 | |||
4373 | sctp_spin_lock_irqsave(&sk->sk_receive_queue.lock, | ||
4374 | cpu_flags); | ||
4375 | skb = skb_peek(&sk->sk_receive_queue); | 4372 | skb = skb_peek(&sk->sk_receive_queue); |
4376 | if (skb) | 4373 | if (skb) |
4377 | atomic_inc(&skb->users); | 4374 | atomic_inc(&skb->users); |
4378 | sctp_spin_unlock_irqrestore(&sk->sk_receive_queue.lock, | 4375 | spin_unlock_bh(&sk->sk_receive_queue.lock); |
4379 | cpu_flags); | ||
4380 | } else { | 4376 | } else { |
4381 | skb = skb_dequeue(&sk->sk_receive_queue); | 4377 | skb = skb_dequeue(&sk->sk_receive_queue); |
4382 | } | 4378 | } |