From nobody Sun May 24 21:37:40 2026 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DA257370AC3 for ; Thu, 21 May 2026 06:12:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779343943; cv=none; b=aiOFucyhD7FNhkANOcLEZuI5ajKNb0lvbRWePyvnWQUZoxhwxBiqb1Akr9gIun6GNnY+gjcIT3ToplRV6BrZ80+vZA8qZMqpI0U3vYon9JjnNgXicsSbkJ4ZhtGsQupVqecWnM4/KpJb/vPkPeYWZtBpSdWB0jrJCSOvIhmWIZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779343943; c=relaxed/simple; bh=k+fh7HBozKaLy+IwtXw65yFUdB1JormeXVzChOQGoWE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=M7VIZWq6VQAI+OHqlQ8L2/ATAjqCSZXoBCEq0/oan7i05TIk3mcLPkRBjaxL5t9XcUL3/UZKenpb+bi9xP9UTq74EFzshoRoFIS1lkpHO2AIFFdDNrojpwHwmzfX7mqD05Kd/b0iGksnYpMnb1Z0/ooTViDndonnvn+DtuXKvCc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=dYirTL3s; arc=none smtp.client-ip=170.10.133.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="dYirTL3s" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1779343940; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=YYlzrjgrXqgXprjxQSH48QuvqMlaIMvGEKvu1s8m/Iw=; b=dYirTL3szSS07SfbxRTzExwLDNkxLdBM24KT5U/lnr/jVnXswnufO8tCoS3F9Dl/0BlbnF +XwBzOHq2lJtWcCUMGvoNuxsFPU1EwrLqayM6SX8CAOHtNOB4G7BAHa7TZQ9VuY9NHve1w Ccgcs++cdFxw+KPhe8DaOUHc1uJg9iU= Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-298-yPR-C3jzOVGi9TGQdH4ryg-1; Thu, 21 May 2026 02:12:16 -0400 X-MC-Unique: yPR-C3jzOVGi9TGQdH4ryg-1 X-Mimecast-MFC-AGG-ID: yPR-C3jzOVGi9TGQdH4ryg_1779343935 Received: from mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 9AE21195609D; Thu, 21 May 2026 06:12:14 +0000 (UTC) Received: from fedora.redhat.com (unknown [10.44.48.82]) by mx-prod-int-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id ECD2130001A2; Thu, 21 May 2026 06:12:10 +0000 (UTC) From: Jose Ignacio Tornos Martinez To: bhelgaas@google.com, alex@shazbot.org Cc: nbd@nbd.name, lorenzo@kernel.org, shayne.chen@mediatek.com, sean.wang@mediatek.com, linux-pci@vger.kernel.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Jose Ignacio Tornos Martinez Subject: [PATCH v3] PCI: Disable broken FLR on MediaTek MT7925 Date: Thu, 21 May 2026 08:12:05 +0200 Message-ID: <20260521061205.12727-1-jtornosm@redhat.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.4.1 on 10.30.177.4 Content-Type: text/plain; charset="utf-8" The MediaTek MT7925 WiFi device (14c3:7925) advertises FLR capability but the implementation is broken - reset always fails, leaving the device in an undefined state. 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 and the device remains in an undefined state, preventing reuse. Disable FLR for this device so the PCI core falls back to working reset methods (PM reset or bus reset). This follows the existing pattern used for the MediaTek MT7922 WiFi (14c3:0616), which is the predecessor device and already uses this quirk. Signed-off-by: Jose Ignacio Tornos Martinez --- v3: Resend with MediaTek wireless maintainers CC'd v2: https://lore.kernel.org/all/20260508145153.717641-1-jtornosm@redhat.com/ drivers/pci/quirks.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 000000000000..111111111111 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -5607,6 +5607,7 @@ * Intel 82579LM Gigabit Ethernet Controller 0x1502 * Intel 82579V Gigabit Ethernet Controller 0x1503 * Mediatek MT7922 802.11ax PCI Express Wireless Network Adapter + * Mediatek MT7925 802.11be PCI Express Wireless Network Adapter */ static void quirk_no_flr(struct pci_dev *dev) { @@ -5617,6 +5618,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x7901, qu= irk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_MEDIATEK, 0x0616, quirk_no_flr); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_MEDIATEK, 0x7925, quirk_no_flr); /* FLR may cause the SolidRun SNET DPU (rev 0x1) to hang */ static void quirk_no_flr_snet(struct pci_dev *dev) -- 2.53.0