Inline the if expressions for dev.set_speed() and dev.set_duplex() to improve read_status(). This ensures dev.set_speed() is called only once and allows us to remove the local variable 'duplex'. Signed-off-by: Thorsten Blum --- drivers/net/phy/ax88796b_rust.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/net/phy/ax88796b_rust.rs b/drivers/net/phy/ax88796b_rust.rs index bc73ebccc2aa..2dfd37936689 100644 --- a/drivers/net/phy/ax88796b_rust.rs +++ b/drivers/net/phy/ax88796b_rust.rs @@ -56,18 +56,17 @@ fn read_status(dev: &mut phy::Device) -> Result { // linkmode so use MII_BMCR as default values. let ret = dev.read(C22::BMCR)?; - if ret & BMCR_SPEED100 != 0 { - dev.set_speed(uapi::SPEED_100); + dev.set_speed(if ret & BMCR_SPEED100 != 0 { + uapi::SPEED_100 } else { - dev.set_speed(uapi::SPEED_10); - } + uapi::SPEED_10 + }); - let duplex = if ret & BMCR_FULLDPLX != 0 { + dev.set_duplex(if ret & BMCR_FULLDPLX != 0 { phy::DuplexMode::Full } else { phy::DuplexMode::Half - }; - dev.set_duplex(duplex); + }); dev.genphy_read_lpa()?; -- 2.51.0