aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
diff options
context:
space:
mode:
authorMenglong Dong <[email protected]>2022-11-28 15:42:37 +0000
committerJakub Kicinski <[email protected]>2022-11-29 02:03:07 +0000
commitfe94800184f22d4778628f1321dce5acb7513d84 (patch)
treeea41331a6c0bafc6b20fd7688fc1a31270c5766a /drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
parentdsa: lan9303: Correct stat name (diff)
downloadkernel-fe94800184f22d4778628f1321dce5acb7513d84.tar.gz
kernel-fe94800184f22d4778628f1321dce5acb7513d84.zip
mptcp: don't orphan ssk in mptcp_close()
All of the subflows of a msk will be orphaned in mptcp_close(), which means the subflows are in DEAD state. After then, DATA_FIN will be sent, and the other side will response with a DATA_ACK for this DATA_FIN. However, if the other side still has pending data, the data that received on these subflows will not be passed to the msk, as they are DEAD and subflow_data_ready() will not be called in tcp_data_ready(). Therefore, these data can't be acked, and they will be retransmitted again and again, until timeout. Fix this by setting ssk->sk_socket and ssk->sk_wq to 'NULL', instead of orphaning the subflows in __mptcp_close(), as Paolo suggested. Fixes: e16163b6e2b7 ("mptcp: refactor shutdown and close") Reviewed-by: Biao Jiang <[email protected]> Reviewed-by: Mengen Sun <[email protected]> Signed-off-by: Menglong Dong <[email protected]> Reviewed-by: Paolo Abeni <[email protected]> Signed-off-by: Matthieu Baerts <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c')
0 files changed, 0 insertions, 0 deletions