X-Git-Url: https://bbs.cooldavid.org/git/?a=blobdiff_plain;f=net%2Fdccp%2Ffeat.c;h=7303f79705d26b6b80c744a23197ca5ad962f3a2;hb=792b48780e8b6435d017cef4b5c304876a48653e;hp=67ffac9905f87d4ce1359e2b56759aa42167ec59;hpb=f90f92eed74251034f251e3cdf4fa5c4c1f09df0;p=net-next-2.6.git diff --git a/net/dccp/feat.c b/net/dccp/feat.c index 67ffac9905f..7303f79705d 100644 --- a/net/dccp/feat.c +++ b/net/dccp/feat.c @@ -51,8 +51,17 @@ static int dccp_hdlr_ccid(struct sock *sk, u64 ccid, bool rx) static int dccp_hdlr_seq_win(struct sock *sk, u64 seq_win, bool rx) { - if (!rx) - dccp_msk(sk)->dccpms_sequence_window = seq_win; + struct dccp_sock *dp = dccp_sk(sk); + + if (rx) { + dp->dccps_r_seq_win = seq_win; + /* propagate changes to update SWL/SWH */ + dccp_update_gsr(sk, dp->dccps_gsr); + } else { + dp->dccps_l_seq_win = seq_win; + /* propagate changes to update AWL */ + dccp_update_gss(sk, dp->dccps_gss); + } return 0; }