Sarthak-Pandey commented on code in PR #20627:
URL: https://github.com/apache/nuttx/pull/20627#discussion_r4412206621


##########
net/tcp/tcp_input.c:
##########
@@ -1649,15 +1853,34 @@ static void tcp_input(FAR struct net_driver_s *dev, 
uint8_t domain,
          * send, d_len must be set to 0.
          */
 
+#ifdef CONFIG_NET_TCPURGDATA
+        if ((flags & (TCP_NEWDATA | TCP_ACKDATA | TCP_URGDATA)) != 0)
+#else
         if ((flags & (TCP_NEWDATA | TCP_ACKDATA)) != 0)
+#endif
           {
             dev->d_sndlen = 0;
 
             /* Provide the packet to the application */
 
             result = tcp_callback(dev, conn, flags);
 
-            /* Send the response, ACKing the data or not, as appropriate */
+            /* Send the response, ACKing the data or not, as appropriate.
+             * If urgent data was received, ensure an ACK is sent even if
+             * d_len was 0.
+             */
+
+#ifdef CONFIG_NET_TCPURGDATA
+            if (urg_removed && dev->d_len == 0)

Review Comment:
   Fixed. Removed `d_urgdata` and `d_urglen` from `struct net_driver_s` in 
`netdev.h` and removed their redundant save/restore logic in 
`tcp_send_buffered.c`.
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to