struct sk_buff *skb;
 
        if (!skb_peek(&ssk->sk_receive_queue))
-               WRITE_ONCE(subflow->data_avail, 0);
+               WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA);
        if (subflow->data_avail)
                return true;
 
                subflow->reset_transient = 0;
                subflow->reset_reason = MPTCP_RST_EMIDDLEBOX;
                tcp_send_active_reset(ssk, GFP_ATOMIC);
-               WRITE_ONCE(subflow->data_avail, 0);
+               WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA);
                return true;
        }
 
                subflow->reset_transient = 0;
                subflow->reset_reason = MPTCP_RST_EMPTCP;
                tcp_send_active_reset(ssk, GFP_ATOMIC);
-               WRITE_ONCE(subflow->data_avail, 0);
+               WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA);
                return false;
        }
 
        if (subflow->map_valid &&
            mptcp_subflow_get_map_offset(subflow) >= subflow->map_data_len) {
                subflow->map_valid = 0;
-               WRITE_ONCE(subflow->data_avail, 0);
+               WRITE_ONCE(subflow->data_avail, MPTCP_SUBFLOW_NODATA);
 
                pr_debug("Done with mapping: seq=%u data_len=%u",
                         subflow->map_subflow_seq,