From ee58fcaa6176c26d13a5a1433e2eb85b860c3a0c Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Mon, 21 Aug 2017 19:19:07 -0600 Subject: [PATCH] Spin for reset, do not yield --- e1000d/src/device.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/e1000d/src/device.rs b/e1000d/src/device.rs index 95e6bf2990..d7be0e9630 100644 --- a/e1000d/src/device.rs +++ b/e1000d/src/device.rs @@ -281,9 +281,8 @@ impl Intel8254x { pub unsafe fn init(&mut self) { self.flag(CTRL, CTRL_RST, true); - thread::sleep(time::Duration::new(0, 1000)); while self.read(CTRL) & CTRL_RST == CTRL_RST { - thread::yield_now(); + print!(" - Waiting for reset: {:X}\n", self.read(CTRL)); } // Enable auto negotiate, link, clear reset, do not Invert Loss-Of Signal @@ -360,9 +359,8 @@ impl Intel8254x { // TIPG Packet Gap // TODO ... - print!(" - Waiting for link up\n"); while self.read(STATUS) & 2 != 2 { - thread::yield_now(); + print!(" - Waiting for link up: {:X}\n", self.read(STATUS)); } print!(" - Link is up with speed {}\n", match (self.read(STATUS) >> 6) & 0b11 { 0b00 => "10 Mb/s",