diff options
author | David S. Miller <davem@davemloft.net> | 2012-01-24 22:57:24 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-01-24 22:57:24 -0500 |
commit | c54a45700195d9491e2cc2115ea61315a8ba3927 (patch) | |
tree | c87ae0da5bf7c8b79241fdc8d694785092a42a4c /net/llc/af_llc.c | |
parent | 61d57f87f3fb04a305f22befabd042ffbec8b852 (diff) | |
parent | 701b259f446be2f3625fb852bceb93afe76e206d (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Diffstat (limited to 'net/llc/af_llc.c')
-rw-r--r-- | net/llc/af_llc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c index a18e6c3d36e3..b9bef2c75026 100644 --- a/net/llc/af_llc.c +++ b/net/llc/af_llc.c | |||
@@ -713,6 +713,7 @@ static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
713 | struct sk_buff *skb = NULL; | 713 | struct sk_buff *skb = NULL; |
714 | struct sock *sk = sock->sk; | 714 | struct sock *sk = sock->sk; |
715 | struct llc_sock *llc = llc_sk(sk); | 715 | struct llc_sock *llc = llc_sk(sk); |
716 | unsigned long cpu_flags; | ||
716 | size_t copied = 0; | 717 | size_t copied = 0; |
717 | u32 peek_seq = 0; | 718 | u32 peek_seq = 0; |
718 | u32 *seq; | 719 | u32 *seq; |
@@ -838,7 +839,9 @@ static int llc_ui_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
838 | goto copy_uaddr; | 839 | goto copy_uaddr; |
839 | 840 | ||
840 | if (!(flags & MSG_PEEK)) { | 841 | if (!(flags & MSG_PEEK)) { |
842 | spin_lock_irqsave(&sk->sk_receive_queue.lock, cpu_flags); | ||
841 | sk_eat_skb(sk, skb, 0); | 843 | sk_eat_skb(sk, skb, 0); |
844 | spin_unlock_irqrestore(&sk->sk_receive_queue.lock, cpu_flags); | ||
842 | *seq = 0; | 845 | *seq = 0; |
843 | } | 846 | } |
844 | 847 | ||
@@ -859,7 +862,9 @@ copy_uaddr: | |||
859 | llc_cmsg_rcv(msg, skb); | 862 | llc_cmsg_rcv(msg, skb); |
860 | 863 | ||
861 | if (!(flags & MSG_PEEK)) { | 864 | if (!(flags & MSG_PEEK)) { |
865 | spin_lock_irqsave(&sk->sk_receive_queue.lock, cpu_flags); | ||
862 | sk_eat_skb(sk, skb, 0); | 866 | sk_eat_skb(sk, skb, 0); |
867 | spin_unlock_irqrestore(&sk->sk_receive_queue.lock, cpu_flags); | ||
863 | *seq = 0; | 868 | *seq = 0; |
864 | } | 869 | } |
865 | 870 | ||