From eb72ca33cf9cff7d001ca7bb7d6739492b912249 Mon Sep 17 00:00:00 2001 From: Matheus Date: Tue, 17 Feb 2026 04:21:51 -0300 Subject: [PATCH] rtl8169: set FS and LS on tx --- kernel-src/io/net/rtl8169.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel-src/io/net/rtl8169.c b/kernel-src/io/net/rtl8169.c index 0a94072a..366722bb 100644 --- a/kernel-src/io/net/rtl8169.c +++ b/kernel-src/io/net/rtl8169.c @@ -57,6 +57,8 @@ #define DESCRIPTOR_OWN (1 << 15) #define DESCRIPTOR_EOR (1 << 14) +#define DESCRIPTOR_FS (1 << 13) +#define DESCRIPTOR_LS (1 << 12) typedef struct { uint16_t length; @@ -185,7 +187,7 @@ static int rtl8169_sendpacket(netdev_t *internal, netdesc_t desc, mac_t target, descriptor->addr_low = physical_address & 0xffffffff; descriptor->addr_high = (physical_address >> 32) & 0xffffffff; descriptor->length = desc.size; - descriptor->flags |= DESCRIPTOR_OWN; + descriptor->flags = (descriptor->flags & DESCRIPTOR_EOR) | DESCRIPTOR_OWN | DESCRIPTOR_FS | DESCRIPTOR_LS;; netdev->tx_waiters[netdev->tx_last] = current_thread();