[PATCH] Fixes rtl8139 driver for old kernels.

Hans posted 1 patch 6 months, 2 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240511201523.47443-1-sungdgdhtryrt@gmail.com
Maintainers: Jason Wang <jasowang@redhat.com>
hw/net/rtl8139.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
[PATCH] Fixes rtl8139 driver for old kernels.
Posted by Hans 6 months, 2 weeks ago
Old linux kernel rtl8139 drivers (ex. debian 2.1) uses outb to set the rx
mode for RxConfig. Unfortunatelly qemu does not support outb for RxConfig.

Signed-off-by: Hans <sungdgdhtryrt@gmail.com>
---
 hw/net/rtl8139.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c
index 897c86ec41..e6244cfd7f 100644
--- a/hw/net/rtl8139.c
+++ b/hw/net/rtl8139.c
@@ -2738,7 +2738,10 @@ static void rtl8139_io_writeb(void *opaque, uint8_t addr, uint32_t val)
             }
 
             break;
-
+        case RxConfig:
+            DPRINTF("RxConfig write(b) val=0x%02x\n", val);
+            rtl8139_RxConfig_write(s, (rtl8139_RxConfig_read(s) & 0xFFFFFF00) | val );
+            break;
         default:
             DPRINTF("not implemented write(b) addr=0x%x val=0x%02x\n", addr,
                 val);
-- 
2.34.1