Deprecate gfe2_reloadable_flag_quic_suppress_write_mid_packet_processing.

PiperOrigin-RevId: 428535641
diff --git a/quic/core/quic_connection.cc b/quic/core/quic_connection.cc
index 254f33a..81fab03 100644
--- a/quic/core/quic_connection.cc
+++ b/quic/core/quic_connection.cc
@@ -3272,11 +3272,9 @@
     return false;
   }
 
-  if (GetQuicReloadableFlag(quic_suppress_write_mid_packet_processing) &&
-      version().CanSendCoalescedPackets() &&
+  if (version().CanSendCoalescedPackets() &&
       framer_.HasEncrypterOfEncryptionLevel(ENCRYPTION_INITIAL) &&
       framer_.is_processing_packet()) {
-    QUIC_RELOADABLE_FLAG_COUNT(quic_suppress_write_mid_packet_processing);
     // While we still have initial keys, suppress sending in mid of packet
     // processing.
     // TODO(fayang): always suppress sending while in the mid of packet
diff --git a/quic/core/quic_connection_test.cc b/quic/core/quic_connection_test.cc
index de59528..98978e9 100644
--- a/quic/core/quic_connection_test.cc
+++ b/quic/core/quic_connection_test.cc
@@ -15209,6 +15209,25 @@
   }
 }
 
+TEST_P(QuicConnectionTest, ReceivedChloAndAck) {
+  if (!version().HasIetfQuicFrames()) {
+    return;
+  }
+  set_perspective(Perspective::IS_SERVER);
+  QuicFrames frames;
+  QuicAckFrame ack_frame = InitAckFrame(1);
+  frames.push_back(MakeCryptoFrame());
+  frames.push_back(QuicFrame(&ack_frame));
+
+  EXPECT_CALL(visitor_, OnCryptoFrame(_))
+      .WillOnce(IgnoreResult(InvokeWithoutArgs(
+          &connection_, &TestConnection::SendCryptoStreamData)));
+  EXPECT_CALL(visitor_, BeforeConnectionCloseSent());
+  EXPECT_CALL(visitor_, OnConnectionClosed(_, _));
+  ProcessFramesPacketWithAddresses(frames, kSelfAddress, kPeerAddress,
+                                   ENCRYPTION_INITIAL);
+}
+
 // Regression test for b/201643321.
 TEST_P(QuicConnectionTest, FailedToRetransmitShlo) {
   if (!version().HasIetfQuicFrames()) {
diff --git a/quic/core/quic_flags_list.h b/quic/core/quic_flags_list.h
index 2e7b263..d955f5d 100644
--- a/quic/core/quic_flags_list.h
+++ b/quic/core/quic_flags_list.h
@@ -105,8 +105,6 @@
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_conservative_bursts, false)
 // If true, stop resetting ideal_next_packet_send_time_ in pacing sender.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_donot_reset_ideal_next_packet_send_time, false)
-// If true, suppress crypto data write in mid of packet processing.
-QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_suppress_write_mid_packet_processing, true)
 // If true, use BBRv2 as the default congestion controller. Takes precedence over --quic_default_to_bbr.
 QUIC_FLAG(FLAGS_quic_reloadable_flag_quic_default_to_bbr_v2, false)
 // If true, use max(max_bw, send_rate) as the estimated bandwidth in QUIC\'s MaxAckHeightTracker.