|
@@ -36,11 +36,10 @@ static void smc_rx_data_ready(struct sock *sk)
|
|
|
if (skwq_has_sleeper(wq))
|
|
if (skwq_has_sleeper(wq))
|
|
|
wake_up_interruptible_sync_poll(&wq->wait, POLLIN | POLLPRI |
|
|
wake_up_interruptible_sync_poll(&wq->wait, POLLIN | POLLPRI |
|
|
|
POLLRDNORM | POLLRDBAND);
|
|
POLLRDNORM | POLLRDBAND);
|
|
|
|
|
+ sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN);
|
|
|
if ((sk->sk_shutdown == SHUTDOWN_MASK) ||
|
|
if ((sk->sk_shutdown == SHUTDOWN_MASK) ||
|
|
|
(sk->sk_state == SMC_CLOSED))
|
|
(sk->sk_state == SMC_CLOSED))
|
|
|
sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_HUP);
|
|
sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_HUP);
|
|
|
- else
|
|
|
|
|
- sk_wake_async(sk, SOCK_WAKE_WAITD, POLL_IN);
|
|
|
|
|
rcu_read_unlock();
|
|
rcu_read_unlock();
|
|
|
}
|
|
}
|
|
|
|
|
|