}
 
        if (mpext->data_fin == 1) {
+               u64 data_fin_seq;
+
                if (data_len == 1) {
                        bool updated = mptcp_update_rcv_data_fin(msk, mpext->data_seq,
                                                                 mpext->dsn64);
                                 */
                                skb_ext_del(skb, SKB_EXT_MPTCP);
                                return MAPPING_OK;
-                       } else {
-                               if (updated)
-                                       mptcp_schedule_work((struct sock *)msk);
-
-                               return MAPPING_DATA_FIN;
                        }
-               } else {
-                       u64 data_fin_seq = mpext->data_seq + data_len - 1;
 
-                       /* If mpext->data_seq is a 32-bit value, data_fin_seq
-                        * must also be limited to 32 bits.
-                        */
-                       if (!mpext->dsn64)
-                               data_fin_seq &= GENMASK_ULL(31, 0);
+                       if (updated)
+                               mptcp_schedule_work((struct sock *)msk);
 
-                       mptcp_update_rcv_data_fin(msk, data_fin_seq, mpext->dsn64);
-                       pr_debug("DATA_FIN with mapping seq=%llu dsn64=%d",
-                                data_fin_seq, mpext->dsn64);
+                       return MAPPING_DATA_FIN;
                }
 
+               data_fin_seq = mpext->data_seq + data_len - 1;
+
+               /* If mpext->data_seq is a 32-bit value, data_fin_seq must also
+                * be limited to 32 bits.
+                */
+               if (!mpext->dsn64)
+                       data_fin_seq &= GENMASK_ULL(31, 0);
+
+               mptcp_update_rcv_data_fin(msk, data_fin_seq, mpext->dsn64);
+               pr_debug("DATA_FIN with mapping seq=%llu dsn64=%d",
+                        data_fin_seq, mpext->dsn64);
+
                /* Adjust for DATA_FIN using 1 byte of sequence space */
                data_len--;
        }