diff --git a/net/pkt/pkt_sendmsg.c b/net/pkt/pkt_sendmsg.c index 1ff6f0eef24..12fb1a2414c 100644 --- a/net/pkt/pkt_sendmsg.c +++ b/net/pkt/pkt_sendmsg.c @@ -106,13 +106,14 @@ static uint16_t psock_send_eventhandler(FAR struct net_driver_s *dev, /* Copy the packet data into the device packet buffer and send it */ int ret = devif_send(dev, pstate->snd_buffer, - pstate->snd_buflen, 0); + pstate->snd_buflen, -NET_LL_HDRLEN(dev)); if (ret <= 0) { pstate->snd_sent = ret; goto end_wait; } + dev->d_len = dev->d_sndlen -= NET_LL_HDRLEN(dev); pstate->snd_sent = pstate->snd_buflen; /* Make sure no ARP request overwrites this ARP request. This