[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tyndur-devel] [PATCH] e1000: PHY-Reset fixen



! e1000: Das Reset-Bit ist zwar self-clearing, PHY_RST aber nicht. Also
  fuer letzteres einfach nur warten.
---
 src/modules/cdi/e1000/device.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/src/modules/cdi/e1000/device.c b/src/modules/cdi/e1000/device.c
index b9a899d..1f067dd 100644
--- a/src/modules/cdi/e1000/device.c
+++ b/src/modules/cdi/e1000/device.c
@@ -72,9 +72,10 @@ static void reset_nic(struct e1000_device* netcard)
 
     // Reset ausfuehren
     reg_outl(netcard, REG_CTL, CTL_PHY_RESET);
-    while (reg_inl(netcard, REG_CTL) & CTL_PHY_RESET);
+    cdi_sleep_ms(10);
 
     reg_outl(netcard, REG_CTL, CTL_RESET);
+    cdi_sleep_ms(10);
     while (reg_inl(netcard, REG_CTL) & CTL_RESET);
 
     // Kontrollregister initialisieren
-- 
1.6.0.2