From 6a7cadde5fb54b4037f6da81dd1ae9b34ae52f3d Mon Sep 17 00:00:00 2001 From: Yuuki Takano Date: Mon, 2 Mar 2026 15:49:07 +0900 Subject: [PATCH 1/2] fix(igc): invalid condition Signed-off-by: Yuuki Takano --- awkernel_drivers/src/pcie/intel/igc.rs | 12 +++++++++--- awkernel_drivers/src/pcie/intel/igc/igc_base.rs | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/awkernel_drivers/src/pcie/intel/igc.rs b/awkernel_drivers/src/pcie/intel/igc.rs index 3322f7951..678b96acc 100644 --- a/awkernel_drivers/src/pcie/intel/igc.rs +++ b/awkernel_drivers/src/pcie/intel/igc.rs @@ -262,6 +262,7 @@ impl Igc { drop(inner); { let mut inner = self.inner.write(); + inner.hw.mac.get_link_status = true; inner.igc_intr_link()?; } inner = self.inner.read(); @@ -297,12 +298,17 @@ impl PCIeDevice for Igc { impl NetDevice for Igc { fn tick_msec(&self) -> Option { - Some(200) + Some(60000) } fn tick(&self) -> Result<(), net_device::NetDevError> { - self.intr(None) - .or(Err(net_device::NetDevError::DeviceError)) + // self.intr(None) + // .or(Err(net_device::NetDevError::DeviceError)) + + let inner = self.inner.read(); + inner.dump(); + + Ok(()) } fn add_multicast_addr(&self, addr: &[u8; 6]) -> Result<(), net_device::NetDevError> { diff --git a/awkernel_drivers/src/pcie/intel/igc/igc_base.rs b/awkernel_drivers/src/pcie/intel/igc/igc_base.rs index fe3524bd1..90cc2424c 100644 --- a/awkernel_drivers/src/pcie/intel/igc/igc_base.rs +++ b/awkernel_drivers/src/pcie/intel/igc/igc_base.rs @@ -157,7 +157,7 @@ pub(super) fn igc_power_down_phy_copper_base( hw: &mut IgcHw, ) -> Result<(), IgcDriverErr> { // If the management interface is not enabled, then power down - if ops.check_reset_block(info).is_ok() { + if ops.check_reset_block(info).is_err() { igc_power_down_phy_copper(ops, info, hw)?; } From 934e4d517ff314b2c499bd26896cba073cd04055 Mon Sep 17 00:00:00 2001 From: Yuuki Takano Date: Mon, 2 Mar 2026 15:54:56 +0900 Subject: [PATCH 2/2] fix(igc): revert unintended change Signed-off-by: Yuuki Takano --- awkernel_drivers/src/pcie/intel/igc.rs | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/awkernel_drivers/src/pcie/intel/igc.rs b/awkernel_drivers/src/pcie/intel/igc.rs index 678b96acc..3322f7951 100644 --- a/awkernel_drivers/src/pcie/intel/igc.rs +++ b/awkernel_drivers/src/pcie/intel/igc.rs @@ -262,7 +262,6 @@ impl Igc { drop(inner); { let mut inner = self.inner.write(); - inner.hw.mac.get_link_status = true; inner.igc_intr_link()?; } inner = self.inner.read(); @@ -298,17 +297,12 @@ impl PCIeDevice for Igc { impl NetDevice for Igc { fn tick_msec(&self) -> Option { - Some(60000) + Some(200) } fn tick(&self) -> Result<(), net_device::NetDevError> { - // self.intr(None) - // .or(Err(net_device::NetDevError::DeviceError)) - - let inner = self.inner.read(); - inner.dump(); - - Ok(()) + self.intr(None) + .or(Err(net_device::NetDevError::DeviceError)) } fn add_multicast_addr(&self, addr: &[u8; 6]) -> Result<(), net_device::NetDevError> {