diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/net/sock.h | 10 | ||||
-rw-r--r-- | include/net/tcp.h | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/include/net/sock.h b/include/net/sock.h index 56df440a950b..8ab05146a447 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
@@ -1160,6 +1160,10 @@ static inline void sk_set_socket(struct sock *sk, struct socket *sock) | |||
1160 | sk->sk_socket = sock; | 1160 | sk->sk_socket = sock; |
1161 | } | 1161 | } |
1162 | 1162 | ||
1163 | static inline wait_queue_head_t *sk_sleep(struct sock *sk) | ||
1164 | { | ||
1165 | return sk->sk_sleep; | ||
1166 | } | ||
1163 | /* Detach socket from process context. | 1167 | /* Detach socket from process context. |
1164 | * Announce socket dead, detach it from wait queue and inode. | 1168 | * Announce socket dead, detach it from wait queue and inode. |
1165 | * Note that parent inode held reference count on this struct sock, | 1169 | * Note that parent inode held reference count on this struct sock, |
@@ -1346,8 +1350,8 @@ static inline int sk_has_allocations(const struct sock *sk) | |||
1346 | * tp->rcv_nxt check sock_def_readable | 1350 | * tp->rcv_nxt check sock_def_readable |
1347 | * ... { | 1351 | * ... { |
1348 | * schedule ... | 1352 | * schedule ... |
1349 | * if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 1353 | * if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk))) |
1350 | * wake_up_interruptible(sk->sk_sleep) | 1354 | * wake_up_interruptible(sk_sleep(sk)) |
1351 | * ... | 1355 | * ... |
1352 | * } | 1356 | * } |
1353 | * | 1357 | * |
@@ -1368,7 +1372,7 @@ static inline int sk_has_sleeper(struct sock *sk) | |||
1368 | * This memory barrier is paired in the sock_poll_wait. | 1372 | * This memory barrier is paired in the sock_poll_wait. |
1369 | */ | 1373 | */ |
1370 | smp_mb__after_lock(); | 1374 | smp_mb__after_lock(); |
1371 | return sk->sk_sleep && waitqueue_active(sk->sk_sleep); | 1375 | return sk_sleep(sk) && waitqueue_active(sk_sleep(sk)); |
1372 | } | 1376 | } |
1373 | 1377 | ||
1374 | /** | 1378 | /** |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 70c5159f4b36..b7d83d204a93 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -939,7 +939,7 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb) | |||
939 | 939 | ||
940 | tp->ucopy.memory = 0; | 940 | tp->ucopy.memory = 0; |
941 | } else if (skb_queue_len(&tp->ucopy.prequeue) == 1) { | 941 | } else if (skb_queue_len(&tp->ucopy.prequeue) == 1) { |
942 | wake_up_interruptible_sync_poll(sk->sk_sleep, | 942 | wake_up_interruptible_sync_poll(sk_sleep(sk), |
943 | POLLIN | POLLRDNORM | POLLRDBAND); | 943 | POLLIN | POLLRDNORM | POLLRDBAND); |
944 | if (!inet_csk_ack_scheduled(sk)) | 944 | if (!inet_csk_ack_scheduled(sk)) |
945 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, | 945 | inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK, |