|
@@ -5078,7 +5078,7 @@ static void tcp_check_space(struct sock *sk)
|
|
if (sock_flag(sk, SOCK_QUEUE_SHRUNK)) {
|
|
if (sock_flag(sk, SOCK_QUEUE_SHRUNK)) {
|
|
sock_reset_flag(sk, SOCK_QUEUE_SHRUNK);
|
|
sock_reset_flag(sk, SOCK_QUEUE_SHRUNK);
|
|
/* pairs with tcp_poll() */
|
|
/* pairs with tcp_poll() */
|
|
- smp_mb__after_atomic();
|
|
|
|
|
|
+ smp_mb();
|
|
if (sk->sk_socket &&
|
|
if (sk->sk_socket &&
|
|
test_bit(SOCK_NOSPACE, &sk->sk_socket->flags)) {
|
|
test_bit(SOCK_NOSPACE, &sk->sk_socket->flags)) {
|
|
tcp_new_space(sk);
|
|
tcp_new_space(sk);
|