From: Lukas Wunner <lukas@wunner.de>
To: "Perlow, Jason" <jperlow@gmail.com>
Cc: Bjorn Helgaas <helgaas@kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
regressions@lists.linux.dev, Aditya Garg <aditya.garg@linux.dev>,
Alex Deucher <alexdeucher@gmail.com>
Subject: Re: [REGRESSION] PCI/AER: MacBookPro16,1 powers off ~20 s after boot
Date: Tue, 6 Oct 2026 04:56:50 +0200 [thread overview]
Message-ID: <asRjch1fMBslk07D@wunner.de> (raw)
In-Reply-To: <CABZrw2F=pOOq7+puKohtYMihYqWCevCFc7rkAOETW4T5Nf4n8Q@mail.gmail.com>
On Mon, Oct 05, 2026 at 08:17:12PM -0400, Perlow, Jason wrote:
> > > My guess, and it is
> > > only a guess: treating a possible Advisory Non-Fatal Error as
> > > non-Advisory and recovering through the uncorrectable path resets or
> > > disturbs a T2 function, and the T2 then powers the machine down.
Advisory Non-Fatal Errors aren't handled through the Uncorrectable
Error code path. The kernel just reports and clears the errors.
And if the device has a driver and that driver implements the
->cor_error_detected callback() in struct pci_error_handlers,
that callback is invoked. (Currently only the CXL driver
implements the callback.)
> masked only on 04:00.2 (Apple T2 Secure Enclave, 106b:1802):
> stays up (120 s)
[...]
> So here the trigger is unmasking Advisory Non-Fatal Errors on that
> one function.
That's quite unexpected. Maybe there's a bug in the PCIe IP which
Apple used for the T2 Secure Enclave device (which I believe is a
fully-fledged arm64 CPU with a PCIe port in Endpoint mode).
Another explanation might be that there's a watchdog on the T2 device
which monitors its Config Space and triggers a poweroff whenever
some suspicious register mutation is detected. I'm just guessing
here because this is really weird.
macOS likely never unmasks the bit and so they never saw this during
validation testing. Is the T2 device visible on Windows? If it is,
it seems Windows doesn't support and unmask Advisory Non-Fatal Errors
either.
> Would you accept a quirk that keeps the bit masked on Apple
> 106b:1802?
[...]
> I am happy to write and test that, or any other patch you
> would like tried on this machine, and I can send lspci -vvv and the
> journals.
A quirk does sound like the only possible solution. However I'd
really like to see lspci and dmesg output with the bit unmasked
shortly before poweroff to get a full understanding.
Thanks!
Lukas
next prev parent reply other threads:[~2026-10-06 3:02 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-05 17:53 Perlow, Jason
2026-10-05 18:37 ` Perlow, Jason
2026-10-05 23:19 ` Bjorn Helgaas
2026-10-06 0:17 ` Perlow, Jason
2026-10-06 2:56 ` Lukas Wunner [this message]
2026-10-06 8:31 ` Aditya Garg
2026-10-06 9:44 ` Lukas Wunner
2026-10-06 15:00 ` Perlow, Jason
2026-10-07 5:42 ` Aditya Garg
2026-10-06 16:37 ` Alex Deucher
2026-10-06 18:45 ` Aditya Garg
2026-10-06 21:19 ` Lukas Wunner
2026-10-07 10:29 ` Thorsten Leemhuis
2026-10-07 10:39 ` Aditya Garg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=asRjch1fMBslk07D@wunner.de \
--to=lukas@wunner.de \
--cc=aditya.garg@linux.dev \
--cc=alexdeucher@gmail.com \
--cc=bhelgaas@google.com \
--cc=helgaas@kernel.org \
--cc=jperlow@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=regressions@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®