git: 33fb0b470b36 - stable/14 - ixgbe: fix host interface timeout detection
Kevin Bowling <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.src |
|---|---|
| Message-ID | <6a767bde.3ec43.7c2e3436__49040.7849474408$1786149978$gmane$org@gitrepo.freebsd.org> |
The branch stable/14 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=33fb0b470b36e3b7aa0f2b8979f203f0bdee9d10 commit 33fb0b470b36e3b7aa0f2b8979f203f0bdee9d10 Author: Kevin Bowling <[email protected]> AuthorDate: 2026-07-28 11:21:14 +0000 Commit: Kevin Bowling <[email protected]> CommitDate: 2026-08-08 00:42:51 +0000 ixgbe: fix host interface timeout detection The host-interface polling loop was scaled from milliseconds to microseconds, but its terminal test was left using the unscaled timeout. Completion at that intermediate iteration can be reported as a timeout, while actual expiry is not recognized and can accept stale status. Test against the scaled loop bound used by the polling loop. Fixes: f46d75c90f5f ("ixgbe: improve MDIO performance by reducing semaphore/IPC delays") (cherry picked from commit db2bf4553ce32fdcae00f6e7392a6c2010247dd6) --- sys/dev/ixgbe/ixgbe_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/ixgbe/ixgbe_common.c b/sys/dev/ixgbe/ixgbe_common.c index 6495bfdecc60..439b861a17e9 100644 --- a/sys/dev/ixgbe/ixgbe_common.c +++ b/sys/dev/ixgbe/ixgbe_common.c @@ -4646,7 +4646,7 @@ s32 ixgbe_hic_unlocked(struct ixgbe_hw *hw, u32 *buffer, u32 length, return IXGBE_SUCCESS; /* Check command completion */ - if ((timeout && i == timeout) || + if ((timeout && i == timeout * 1000) || !(IXGBE_READ_REG(hw, IXGBE_HICR) & IXGBE_HICR_SV)) { ERROR_REPORT1(IXGBE_ERROR_CAUTION, "Command has failed with no status valid.\n");