diff options
Diffstat (limited to 'net/tls/tls_main.c')
| -rw-r--r-- | net/tls/tls_main.c | 10 | 
1 files changed, 7 insertions, 3 deletions
| diff --git a/net/tls/tls_main.c b/net/tls/tls_main.c index dac24c7aa7d4..94774c0e5ff3 100644 --- a/net/tls/tls_main.c +++ b/net/tls/tls_main.c @@ -732,15 +732,19 @@ out:  	return rc;  } -static void tls_update(struct sock *sk, struct proto *p) +static void tls_update(struct sock *sk, struct proto *p, +		       void (*write_space)(struct sock *sk))  {  	struct tls_context *ctx;  	ctx = tls_get_ctx(sk); -	if (likely(ctx)) +	if (likely(ctx)) { +		ctx->sk_write_space = write_space;  		ctx->sk_proto = p; -	else +	} else {  		sk->sk_prot = p; +		sk->sk_write_space = write_space; +	}  }  static int tls_get_info(const struct sock *sk, struct sk_buff *skb) | 
