diff options
-rw-r--r-- | net/dccp/dccp.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h index 45087052d894..5fdb07229017 100644 --- a/net/dccp/dccp.h +++ b/net/dccp/dccp.h | |||
@@ -426,7 +426,8 @@ static inline void dccp_update_gsr(struct sock *sk, u64 seq) | |||
426 | { | 426 | { |
427 | struct dccp_sock *dp = dccp_sk(sk); | 427 | struct dccp_sock *dp = dccp_sk(sk); |
428 | 428 | ||
429 | dp->dccps_gsr = seq; | 429 | if (after48(seq, dp->dccps_gsr)) |
430 | dp->dccps_gsr = seq; | ||
430 | /* Sequence validity window depends on remote Sequence Window (7.5.1) */ | 431 | /* Sequence validity window depends on remote Sequence Window (7.5.1) */ |
431 | dp->dccps_swl = SUB48(ADD48(dp->dccps_gsr, 1), dp->dccps_r_seq_win / 4); | 432 | dp->dccps_swl = SUB48(ADD48(dp->dccps_gsr, 1), dp->dccps_r_seq_win / 4); |
432 | /* | 433 | /* |