I've created a TCP client thread. When the handshake function is executed, I can see the messages sent by the client to the server and the messages sent by the server to the client using Wireshark. However, in the final step, the TCP client doesn't return a frame. I've been monitoring the GMAC receive interrupt and found it's stuck in a loop. The MCU TCP client hasn't received the final acknowledgment frame, so it hasn't sent the final handshake acknowledgment frame. What could be the reason?