mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
net: sk_sleep() helper
Define a new function to return the waitqueue of a "struct sock".
static inline wait_queue_head_t *sk_sleep(struct sock *sk)
{
return sk->sk_sleep;
}
Change all read occurrences of sk_sleep by a call to this function.
Needed for a future RCU conversion. sk_sleep wont be a field directly
available.
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
ab9304717f
commit
aa39514516
46 changed files with 208 additions and 204 deletions
|
|
@ -5702,7 +5702,7 @@ unsigned int sctp_poll(struct file *file, struct socket *sock, poll_table *wait)
|
|||
struct sctp_sock *sp = sctp_sk(sk);
|
||||
unsigned int mask;
|
||||
|
||||
poll_wait(file, sk->sk_sleep, wait);
|
||||
poll_wait(file, sk_sleep(sk), wait);
|
||||
|
||||
/* A TCP-style listening socket becomes readable when the accept queue
|
||||
* is not empty.
|
||||
|
|
@ -5943,7 +5943,7 @@ static int sctp_wait_for_packet(struct sock * sk, int *err, long *timeo_p)
|
|||
int error;
|
||||
DEFINE_WAIT(wait);
|
||||
|
||||
prepare_to_wait_exclusive(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE);
|
||||
prepare_to_wait_exclusive(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
|
||||
|
||||
/* Socket errors? */
|
||||
error = sock_error(sk);
|
||||
|
|
@ -5980,14 +5980,14 @@ static int sctp_wait_for_packet(struct sock * sk, int *err, long *timeo_p)
|
|||
sctp_lock_sock(sk);
|
||||
|
||||
ready:
|
||||
finish_wait(sk->sk_sleep, &wait);
|
||||
finish_wait(sk_sleep(sk), &wait);
|
||||
return 0;
|
||||
|
||||
interrupted:
|
||||
error = sock_intr_errno(*timeo_p);
|
||||
|
||||
out:
|
||||
finish_wait(sk->sk_sleep, &wait);
|
||||
finish_wait(sk_sleep(sk), &wait);
|
||||
*err = error;
|
||||
return error;
|
||||
}
|
||||
|
|
@ -6061,8 +6061,8 @@ static void __sctp_write_space(struct sctp_association *asoc)
|
|||
wake_up_interruptible(&asoc->wait);
|
||||
|
||||
if (sctp_writeable(sk)) {
|
||||
if (sk->sk_sleep && waitqueue_active(sk->sk_sleep))
|
||||
wake_up_interruptible(sk->sk_sleep);
|
||||
if (sk_sleep(sk) && waitqueue_active(sk_sleep(sk)))
|
||||
wake_up_interruptible(sk_sleep(sk));
|
||||
|
||||
/* Note that we try to include the Async I/O support
|
||||
* here by modeling from the current TCP/UDP code.
|
||||
|
|
@ -6296,7 +6296,7 @@ static int sctp_wait_for_accept(struct sock *sk, long timeo)
|
|||
|
||||
|
||||
for (;;) {
|
||||
prepare_to_wait_exclusive(sk->sk_sleep, &wait,
|
||||
prepare_to_wait_exclusive(sk_sleep(sk), &wait,
|
||||
TASK_INTERRUPTIBLE);
|
||||
|
||||
if (list_empty(&ep->asocs)) {
|
||||
|
|
@ -6322,7 +6322,7 @@ static int sctp_wait_for_accept(struct sock *sk, long timeo)
|
|||
break;
|
||||
}
|
||||
|
||||
finish_wait(sk->sk_sleep, &wait);
|
||||
finish_wait(sk_sleep(sk), &wait);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
|
@ -6332,7 +6332,7 @@ static void sctp_wait_for_close(struct sock *sk, long timeout)
|
|||
DEFINE_WAIT(wait);
|
||||
|
||||
do {
|
||||
prepare_to_wait(sk->sk_sleep, &wait, TASK_INTERRUPTIBLE);
|
||||
prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);
|
||||
if (list_empty(&sctp_sk(sk)->ep->asocs))
|
||||
break;
|
||||
sctp_release_sock(sk);
|
||||
|
|
@ -6340,7 +6340,7 @@ static void sctp_wait_for_close(struct sock *sk, long timeout)
|
|||
sctp_lock_sock(sk);
|
||||
} while (!signal_pending(current) && timeout);
|
||||
|
||||
finish_wait(sk->sk_sleep, &wait);
|
||||
finish_wait(sk_sleep(sk), &wait);
|
||||
}
|
||||
|
||||
static void sctp_skb_set_owner_r_frag(struct sk_buff *skb, struct sock *sk)
|
||||
|
|
|
|||
Loading…
Reference in a new issue