diff options
-rw-r--r-- | drivers/net/pppoe.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/pppoe.c b/drivers/net/pppoe.c index f75aeaaf861f..35a7385ccb2a 100644 --- a/drivers/net/pppoe.c +++ b/drivers/net/pppoe.c | |||
@@ -774,6 +774,7 @@ static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
774 | struct net_device *dev; | 774 | struct net_device *dev; |
775 | char *start; | 775 | char *start; |
776 | 776 | ||
777 | lock_sock(sk); | ||
777 | if (sock_flag(sk, SOCK_DEAD) || !(sk->sk_state & PPPOX_CONNECTED)) { | 778 | if (sock_flag(sk, SOCK_DEAD) || !(sk->sk_state & PPPOX_CONNECTED)) { |
778 | error = -ENOTCONN; | 779 | error = -ENOTCONN; |
779 | goto end; | 780 | goto end; |
@@ -784,8 +785,6 @@ static int pppoe_sendmsg(struct kiocb *iocb, struct socket *sock, | |||
784 | hdr.code = 0; | 785 | hdr.code = 0; |
785 | hdr.sid = po->num; | 786 | hdr.sid = po->num; |
786 | 787 | ||
787 | lock_sock(sk); | ||
788 | |||
789 | dev = po->pppoe_dev; | 788 | dev = po->pppoe_dev; |
790 | 789 | ||
791 | error = -EMSGSIZE; | 790 | error = -EMSGSIZE; |