diff options
Diffstat (limited to 'crypto/algif_skcipher.c')
| -rw-r--r-- | crypto/algif_skcipher.c | 18 | 
1 files changed, 9 insertions, 9 deletions
diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c index 28556fce4267..1e38aaa8303e 100644 --- a/crypto/algif_skcipher.c +++ b/crypto/algif_skcipher.c @@ -199,26 +199,26 @@ static void skcipher_free_sgl(struct sock *sk)  static int skcipher_wait_for_wmem(struct sock *sk, unsigned flags)  { -	long timeout; -	DEFINE_WAIT(wait); +	DEFINE_WAIT_FUNC(wait, woken_wake_function);  	int err = -ERESTARTSYS; +	long timeout;  	if (flags & MSG_DONTWAIT)  		return -EAGAIN;  	sk_set_bit(SOCKWQ_ASYNC_NOSPACE, sk); +	add_wait_queue(sk_sleep(sk), &wait);  	for (;;) {  		if (signal_pending(current))  			break; -		prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);  		timeout = MAX_SCHEDULE_TIMEOUT; -		if (sk_wait_event(sk, &timeout, skcipher_writable(sk))) { +		if (sk_wait_event(sk, &timeout, skcipher_writable(sk), &wait)) {  			err = 0;  			break;  		}  	} -	finish_wait(sk_sleep(sk), &wait); +	remove_wait_queue(sk_sleep(sk), &wait);  	return err;  } @@ -242,10 +242,10 @@ static void skcipher_wmem_wakeup(struct sock *sk)  static int skcipher_wait_for_data(struct sock *sk, unsigned flags)  { +	DEFINE_WAIT_FUNC(wait, woken_wake_function);  	struct alg_sock *ask = alg_sk(sk);  	struct skcipher_ctx *ctx = ask->private;  	long timeout; -	DEFINE_WAIT(wait);  	int err = -ERESTARTSYS;  	if (flags & MSG_DONTWAIT) { @@ -254,17 +254,17 @@ static int skcipher_wait_for_data(struct sock *sk, unsigned flags)  	sk_set_bit(SOCKWQ_ASYNC_WAITDATA, sk); +	add_wait_queue(sk_sleep(sk), &wait);  	for (;;) {  		if (signal_pending(current))  			break; -		prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE);  		timeout = MAX_SCHEDULE_TIMEOUT; -		if (sk_wait_event(sk, &timeout, ctx->used)) { +		if (sk_wait_event(sk, &timeout, ctx->used, &wait)) {  			err = 0;  			break;  		}  	} -	finish_wait(sk_sleep(sk), &wait); +	remove_wait_queue(sk_sleep(sk), &wait);  	sk_clear_bit(SOCKWQ_ASYNC_WAITDATA, sk);  |