aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/e1000
diff options
context:
space:
mode:
authorAnatoly Burakov <anatoly.burakov@intel.com>2024-09-19 05:38:32 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2024-09-26 03:32:06 +0000
commit6f5092ed7503608984447ee973decbdef8a7715f (patch)
tree9f471f5eaad01732007f55ad8c7612f2b694488e /sys/dev/e1000
parentd89090334a32bf99dd93caf329ce55a024b815e8 (diff)
e1000: fix link power down
DPDK commit message net/e1000/base: fix link power down Current code is a result of work to reduce duplication between various device models. However, the logic that was replaced did not exactly match the new logic, and as a result the link power down was not working correctly for some NICs, and the link remained up even when the interface is down. Fix it to correctly power down the link under all circumstances that were supported by old logic. Fixes: 44dddd1 ("net/e1000/base: remove duplicated codes") Cc: stable@dpdk.org Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Obtained from: DPDK (a8218d0) (cherry picked from commit 811912c46b5886f1aa3bb7a51a6ec1270bc947a8)
Diffstat (limited to 'sys/dev/e1000')
-rw-r--r--sys/dev/e1000/e1000_base.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/e1000/e1000_base.c b/sys/dev/e1000/e1000_base.c
index ff810821d9e9..d83dc48c4d4d 100644
--- a/sys/dev/e1000/e1000_base.c
+++ b/sys/dev/e1000/e1000_base.c
@@ -137,7 +137,7 @@ void e1000_power_down_phy_copper_base(struct e1000_hw *hw)
return;
/* If the management interface is not enabled, then power down */
- if (phy->ops.check_reset_block(hw))
+ if (!(e1000_enable_mng_pass_thru(hw) || phy->ops.check_reset_block(hw)))
e1000_power_down_phy_copper(hw);
}