From: Bjorn Helgaas <helgaas@kernel.org>
To: manisadhasivam.linux@gmail.com
Cc: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>,
linux-pci@vger.kernel.org, linux-wireless@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v4] PCI: Disable broken FLR on MediaTek MT7925
Date: Tue, 9 Jun 2026 09:39:42 -0500 [thread overview]
Message-ID: <20260609143942.GA104064@bhelgaas> (raw)
In-Reply-To: <CAGyK6cpa89aHZELLBnc9nBwQdivir7-P9_e+CLQKzbzQzXWjsg@mail.gmail.com>
[cc list trimmed]
On Tue, Jun 09, 2026 at 06:36:38AM -0700, manisadhasivam.linux@gmail.com wrote:
> On Fri, 22 May 2026 09:06:46 +0200, Jose Ignacio Tornos Martinez
> <jtornosm@redhat.com> said:
> > The MediaTek MT7925 WiFi device advertises FLR capability, but it does
> > not work correctly. This manifests in VFIO passthrough scenarios: normal
> > VM operation works fine, including clean shutdown/reboot. However, when
> > the VM terminates uncleanly (crash, force-off), VFIO attempts to reset
> > the device before it can be assigned to another VM. Because FLR is broken,
> > the reset fails preventing reuse.
> >
> > This is similar to its predecessor MT7922 (see commit 81f64e925c29 ("PCI:
> > Avoid FLR for Mediatek MT7922 WiFi")), but with different symptoms.
> > The MT7922 issue manifests as config read failures (returning ~0) after
> > FLR. The MT7925 shows different behavior: config reads work correctly
> > after FLR, but firmware communication fails.
> >
> > First VM start with MT7925 works fine:
> > mt7925e 0000:08:00.0: ASIC revision: 79250000
> > mt7925e 0000:08:00.0: WM Firmware Version: ____000000, Build Time:
> > 20260106153120
> >
> > After force reset or VM crash, when VFIO attempts FLR to reset the device
> > for reassignment, firmware initialization fails:
> > mt7925e 0000:08:00.0: ASIC revision: 79250000
> > mt7925e 0000:08:00.0: Message 00000010 (seq 1) timeout
> > mt7925e 0000:08:00.0: Failed to get patch semaphore
> > [Repeats with increasing sequence numbers 2-10]
> > mt7925e 0000:08:00.0: hardware init failed
> >
> > The driver cannot acquire the patch semaphore needed for firmware
> > initialization, indicating that FLR does not properly reset the firmware
> > state. The device remains in this broken state until physical power cycle.
> >
> > Disable FLR for MT7925 so the PCI core falls back to Secondary Bus Reset,
> > which successfully resets the device and allows reinitialization for VFIO
> > passthrough reuse.
> >
> > Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
>
> Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Just FYI, b4 complains:
NOTE: some trailers ignored due to from/email mismatches:
! Trailer: Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Msg From: manisadhasivam.linux@gmail.com <manisadhasivam.linux@gmail.com>
I applied your R-b manually.
next prev parent reply other threads:[~2026-06-09 14:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-22 7:06 [PATCH v4] PCI: Disable broken FLR on MediaTek MT7925 Jose Ignacio Tornos Martinez
2026-06-09 13:36 ` manisadhasivam.linux
2026-06-09 14:39 ` Bjorn Helgaas [this message]
2026-06-09 14:45 ` Bjorn Helgaas
2026-06-09 15:33 ` Jose Ignacio Tornos Martinez
2026-06-09 16:44 ` Alex Williamson
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=20260609143942.GA104064@bhelgaas \
--to=helgaas@kernel.org \
--cc=jtornosm@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=manisadhasivam.linux@gmail.com \
/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