diff options
| author | Dave Airlie <airlied@redhat.com> | 2020-01-20 11:08:11 +1000 |
|---|---|---|
| committer | Dave Airlie <airlied@redhat.com> | 2020-01-20 11:42:57 +1000 |
| commit | 3d4743131b8de970faa4b979ead0fadfe5d2de9d (patch) | |
| tree | 68e948c2d94d48598dd37e31bb654feb0b43ae4a /include/linux/skmsg.h | |
| parent | df95968ff78931576ac7a3d3b30312894aaaf22e (diff) | |
| parent | def9d2780727cec3313ed3522d0123158d87224d (diff) | |
| download | cachepc-linux-3d4743131b8de970faa4b979ead0fadfe5d2de9d.tar.gz cachepc-linux-3d4743131b8de970faa4b979ead0fadfe5d2de9d.zip | |
Backmerge v5.5-rc7 into drm-next
msm needs 5.5-rc4, go to the latest.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'include/linux/skmsg.h')
| -rw-r--r-- | include/linux/skmsg.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h index ef7031f8a304..14d61bba0b79 100644 --- a/include/linux/skmsg.h +++ b/include/linux/skmsg.h @@ -358,17 +358,22 @@ static inline void sk_psock_update_proto(struct sock *sk, static inline void sk_psock_restore_proto(struct sock *sk, struct sk_psock *psock) { - sk->sk_write_space = psock->saved_write_space; + sk->sk_prot->unhash = psock->saved_unhash; if (psock->sk_proto) { struct inet_connection_sock *icsk = inet_csk(sk); bool has_ulp = !!icsk->icsk_ulp_data; - if (has_ulp) - tcp_update_ulp(sk, psock->sk_proto); - else + if (has_ulp) { + tcp_update_ulp(sk, psock->sk_proto, + psock->saved_write_space); + } else { sk->sk_prot = psock->sk_proto; + sk->sk_write_space = psock->saved_write_space; + } psock->sk_proto = NULL; + } else { + sk->sk_write_space = psock->saved_write_space; } } |
