File tree Expand file tree Collapse file tree 2 files changed +3
-11
lines changed Expand file tree Collapse file tree 2 files changed +3
-11
lines changed Original file line number Diff line number Diff line change @@ -364,8 +364,6 @@ static void mptcp_check_data_fin_ack(struct sock *sk)
364
364
365
365
/* Look for an acknowledged DATA_FIN */
366
366
if (mptcp_pending_data_fin_ack (sk )) {
367
- mptcp_stop_timer (sk );
368
-
369
367
WRITE_ONCE (msk -> snd_data_fin_enable , 0 );
370
368
371
369
switch (sk -> sk_state ) {
@@ -2299,6 +2297,7 @@ static void mptcp_worker(struct work_struct *work)
2299
2297
if (!test_and_clear_bit (MPTCP_WORK_RTX , & msk -> flags ))
2300
2298
goto unlock ;
2301
2299
2300
+ __mptcp_clean_una (sk );
2302
2301
dfrag = mptcp_rtx_head (sk );
2303
2302
if (!dfrag )
2304
2303
goto unlock ;
Original file line number Diff line number Diff line change @@ -325,20 +325,13 @@ static inline struct mptcp_data_frag *mptcp_pending_tail(const struct sock *sk)
325
325
return list_last_entry (& msk -> rtx_queue , struct mptcp_data_frag , list );
326
326
}
327
327
328
- static inline struct mptcp_data_frag * mptcp_rtx_tail (const struct sock * sk )
328
+ static inline struct mptcp_data_frag * mptcp_rtx_head (const struct sock * sk )
329
329
{
330
330
struct mptcp_sock * msk = mptcp_sk (sk );
331
331
332
- if (! before64 ( msk -> snd_nxt , READ_ONCE (msk -> snd_una ) ))
332
+ if (msk -> snd_una == READ_ONCE (msk -> snd_nxt ))
333
333
return NULL ;
334
334
335
- return list_last_entry (& msk -> rtx_queue , struct mptcp_data_frag , list );
336
- }
337
-
338
- static inline struct mptcp_data_frag * mptcp_rtx_head (const struct sock * sk )
339
- {
340
- struct mptcp_sock * msk = mptcp_sk (sk );
341
-
342
335
return list_first_entry_or_null (& msk -> rtx_queue , struct mptcp_data_frag , list );
343
336
}
344
337
You can’t perform that action at this time.
0 commit comments