[Bug 166724] if_re(4): watchdog timeout

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 19 Jul 2026 18:51:44 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=166724

--- Comment #142 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=42f3088bd980a469dbbc3e6b568edb7ce0ab2bc3

commit 42f3088bd980a469dbbc3e6b568edb7ce0ab2bc3
Author:     Jérémie Jourdin <jeremie@jourdin.org>
AuthorDate: 2026-07-19 18:47:17 +0000
Commit:     Adrian Chadd <adrian@FreeBSD.org>
CommitDate: 2026-07-19 18:47:21 +0000

    re(4): harden re_watchdog() recovery and log controller state

    Distinguish the two failure classes from the PR in a single log line
    (ring indices, ISR/IMR, TXCFG, interrupt mode): lost interrupt vs
    genuine DMA stall.

    Bail out instead of re-initializing when the controller reads back
    all-ones (fallen off the bus; reinit cannot help).

    Re-assert the driver's existing ASPM-disabled policy before reinit,
    since firmware/power transitions re-arming L0s/L1 is a documented
    stall trigger.

    Diagnostics-only on the recovered path; no fast-path change.

    * Field diagnostics running on an RTL8168H production fleet; the log
      format distinguishes lost-doorbell / DMA-stall / dead-controller
      without a debug build.

    Reviewed by:    adrian
    Differential Revision:  https://reviews.freebsd.org/D58279
    PR: kern/166724

 sys/dev/re/if_re.c | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 58 insertions(+), 3 deletions(-)

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.