diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/udp.c | 6 | ||||
-rw-r--r-- | net/ipv6/udp.c | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index d10b7e0112eb..1c92ea67baef 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c | |||
@@ -1345,10 +1345,8 @@ csum_copy_err: | |||
1345 | } | 1345 | } |
1346 | unlock_sock_fast(sk, slow); | 1346 | unlock_sock_fast(sk, slow); |
1347 | 1347 | ||
1348 | if (noblock) | 1348 | /* starting over for a new packet, but check if we need to yield */ |
1349 | return -EAGAIN; | 1349 | cond_resched(); |
1350 | |||
1351 | /* starting over for a new packet */ | ||
1352 | msg->msg_flags &= ~MSG_TRUNC; | 1350 | msg->msg_flags &= ~MSG_TRUNC; |
1353 | goto try_again; | 1351 | goto try_again; |
1354 | } | 1352 | } |
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index c2ec41617a35..e51fc3eee6db 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c | |||
@@ -525,10 +525,8 @@ csum_copy_err: | |||
525 | } | 525 | } |
526 | unlock_sock_fast(sk, slow); | 526 | unlock_sock_fast(sk, slow); |
527 | 527 | ||
528 | if (noblock) | 528 | /* starting over for a new packet, but check if we need to yield */ |
529 | return -EAGAIN; | 529 | cond_resched(); |
530 | |||
531 | /* starting over for a new packet */ | ||
532 | msg->msg_flags &= ~MSG_TRUNC; | 530 | msg->msg_flags &= ~MSG_TRUNC; |
533 | goto try_again; | 531 | goto try_again; |
534 | } | 532 | } |