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 <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:

committed by
David S. Miller

parent
ab9304717f
commit
aa39514516
@@ -474,7 +474,7 @@ static int bnep_session(void *arg)
|
||||
set_user_nice(current, -15);
|
||||
|
||||
init_waitqueue_entry(&wait, current);
|
||||
add_wait_queue(sk->sk_sleep, &wait);
|
||||
add_wait_queue(sk_sleep(sk), &wait);
|
||||
while (!atomic_read(&s->killed)) {
|
||||
set_current_state(TASK_INTERRUPTIBLE);
|
||||
|
||||
@@ -496,7 +496,7 @@ static int bnep_session(void *arg)
|
||||
schedule();
|
||||
}
|
||||
set_current_state(TASK_RUNNING);
|
||||
remove_wait_queue(sk->sk_sleep, &wait);
|
||||
remove_wait_queue(sk_sleep(sk), &wait);
|
||||
|
||||
/* Cleanup session */
|
||||
down_write(&bnep_session_sem);
|
||||
@@ -507,7 +507,7 @@ static int bnep_session(void *arg)
|
||||
/* Wakeup user-space polling for socket errors */
|
||||
s->sock->sk->sk_err = EUNATCH;
|
||||
|
||||
wake_up_interruptible(s->sock->sk->sk_sleep);
|
||||
wake_up_interruptible(sk_sleep(s->sock->sk));
|
||||
|
||||
/* Release the socket */
|
||||
fput(s->sock->file);
|
||||
@@ -638,7 +638,7 @@ int bnep_del_connection(struct bnep_conndel_req *req)
|
||||
|
||||
/* Kill session thread */
|
||||
atomic_inc(&s->killed);
|
||||
wake_up_interruptible(s->sock->sk->sk_sleep);
|
||||
wake_up_interruptible(sk_sleep(s->sock->sk));
|
||||
} else
|
||||
err = -ENOENT;
|
||||
|
||||
|
@@ -109,7 +109,7 @@ static void bnep_net_set_mc_list(struct net_device *dev)
|
||||
}
|
||||
|
||||
skb_queue_tail(&sk->sk_write_queue, skb);
|
||||
wake_up_interruptible(sk->sk_sleep);
|
||||
wake_up_interruptible(sk_sleep(sk));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -193,11 +193,11 @@ static netdev_tx_t bnep_net_xmit(struct sk_buff *skb,
|
||||
/*
|
||||
* We cannot send L2CAP packets from here as we are potentially in a bh.
|
||||
* So we have to queue them and wake up session thread which is sleeping
|
||||
* on the sk->sk_sleep.
|
||||
* on the sk_sleep(sk).
|
||||
*/
|
||||
dev->trans_start = jiffies;
|
||||
skb_queue_tail(&sk->sk_write_queue, skb);
|
||||
wake_up_interruptible(sk->sk_sleep);
|
||||
wake_up_interruptible(sk_sleep(sk));
|
||||
|
||||
if (skb_queue_len(&sk->sk_write_queue) >= BNEP_TX_QUEUE_LEN) {
|
||||
BT_DBG("tx queue is full");
|
||||
|
Reference in New Issue
Block a user