From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (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 204343CF952 for ; Tue, 23 Jun 2026 08:55:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782204949; cv=none; b=nm/CqK0Vy/Vn+GnVbVVXxypELAX69bvqCZRBhIsI1uj0yl+spospH40b7S57TQTwBhyTwqjVtyLmuspkDeaft/h4kUQ1Dq3LEumCIiIEzsvzuAcybMqyfuFhW9OGh+vEBT4Upt8KSdwkJ5nftSQCFUbdDMFet5GbCqxAHeriBRk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782204949; c=relaxed/simple; bh=qaPg/+DGuSfby7tE/0iKsjpJAJXizhpCe6b2itH015A=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=CQ+hg2Lzfs/+gPgWIRkI4KryjeBB4pTCvcicS4kDR4xggn0HxhyungVnfOJW0NhaHlWNwRtgdlJV9mzGtx1WU/1OQKN+Eezpqh15X3ipSCt+LIUSbfZPU9pwRin9v7A7mopJ5kWbn6r1XT/qKSNtqbfb3Y3jVNKQwFVHu6rjovI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=n3ubBrYS; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=X63YfKoC; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="n3ubBrYS"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="X63YfKoC" Received: from pps.filterd (m0279862.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65N8UuOc3243418 for ; Tue, 23 Jun 2026 08:55:47 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= aE9n3ah0N3qa2cRR38jYXiCfe+bTuewMNN2Ot/1RK5o=; b=n3ubBrYSXQwWXHI+ gn4nI/HCD2XOGpUVDc68k8FNLl8ckvJt4bupL2cd7rzU1Tin2PLb2rPXEosaEckO 4G/0VFrJvimVOnmWviT/Szx0CzORjh7dT1ftcG4i6tl4+rD4E0DLG8m50AjpaXMg 6QDM/OK3nBsZm2jalDsrHNDWxOqGfTbz4XYMUCRZka40YX3x67AEfBkWerBY6nds ZDELP9IcbVG2cHuwC53wFSF0RIy7k/vdXmDtkPfiyvYvt1/3+BtCDW/5fTI6Zyzq I0O/djCufRrhZ/Y/3VZjYYCatRvbDj4XeueKoJgV3jc5pcigEWnudrY5+w7Rp4DM u6gOjg== Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eyppyg2pg-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 23 Jun 2026 08:55:47 +0000 (GMT) Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-37d4f1f836aso2002696a91.3 for ; Tue, 23 Jun 2026 01:55:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1782204947; x=1782809747; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=aE9n3ah0N3qa2cRR38jYXiCfe+bTuewMNN2Ot/1RK5o=; b=X63YfKoC26WX2gYZtXzeWZiB6FitbHhltxPkTc2BAFZQdPrSFbC/ByVeoX00SHfRcp w6qIy258Rs78+Z4SLmi44HFzCSE/JTK8TeC9J0pVDSU+vv3Y3zV6DZGYlTcX9kEaoSMn IHqPAh9x5xPrlgCzNqvmOMcgoyEm+gB73XpRGjooi93Gt7TZx8AghqtsLUzM0YAOBRE2 X4Itujys4lnFORwQ2hGDeUauEQ7SSAuHcH9NaqcQDKVlSqdUYlF44qQI92PzCR9v7RWC LIDmzx70BC7jOxYRLjKx42CRhZgCFy8ncB+CxA1DWtnvfjEhrXKai7qbywHLjLnBqop7 Y9aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782204947; x=1782809747; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=aE9n3ah0N3qa2cRR38jYXiCfe+bTuewMNN2Ot/1RK5o=; b=Pxm6XS6eOUT5Qe6RfcBUH5ax5CPCDiPJWB/qruuj2CULykYZPMuOeSTgBsDm5Hu8GL AbWOpZE0rpDYoatsGezRTX8zpQq5s+J20/di4SNT78qDqdGjuCz9v7tGVoPEhNpPmHGd Lx1YkJ7sYaiA+FMjowTZtMq9kb80dm5jkxyok2h4jo8O2cdpTH3ddHhl1UnHal2RiWuK WzMTWbRG21amdMZW++sDFXJHnB8ZlbPzwC1ifZSI95qY1666IZlHj8s8vBZBcgF4Nkru 97syJ80LqAwJJZu1WPpkjEhJ4lejHBEK6iMc2OtDbMOVBJlBavXL24DEKJm1Y3IeWvM6 Lz2g== X-Forwarded-Encrypted: i=1; AFNElJ+MBmXUEXDMMtbNcvSx+Dup4e8ksc5uW+2udTNxDaCePlRebAPuWPgKtGt8wJPA0q3wfKLCag6UN5HpMeM=@vger.kernel.org X-Gm-Message-State: AOJu0Yyc9opBB5fz5EteOik3dNPg3662u0bbXhHmglxbC0HWjfpmMHqq kogF+KcKP/Y8z3HBOC83M/59ThdKD35djmBQuRsVQZy0eteGdR5PAsjcgxzkJNoYIaOpelEtDQZ eYYz590UCt2iLfU+kZyaVh1ne6VcFYQUgg6kTKRWQaN9PoOXS85BdJfighdtYFd3zLtg= X-Gm-Gg: AfdE7ckd1cGTSOIiF05UuN2SAR3ZaM60QzDzPreog7fHKAGbF/dTY04Vc3YEwowOKTr CS2O6RcXMI8qEXH8E+gPLkcsFfPiJZdJEpfro1oHkn0vggtmZxVOChgy9CfnKb/GM+8pHk+mbnn uDYVzLC4YNMThY5w3Gbkqyp6lcNoN/JDbV/g2/qufwHHyNRhHRZT9rthVCIsvqkSY6oKLl/Jb3h YdB/MI12IUpq5gvvyNM8h2kQqFnntxBf5oLfg3b9zAUZNiYQgb/FYitcqyUascHoTMJsGQuiNdb f2QeEL+lXVZpErW7DkDCT/HjLrcoAP6KztQl+Vwo/j0OKbs22dHrKNy0i1d72UGcDKrb0ku9Nbp jVYJtelSrJR57E2kX0mFjPSzz2p+ldgS/xz7dbfDYEyAoIiY5Ys6EN5OFBvt/fFzpu/tadaCkkV 02ibOUrv1O X-Received: by 2002:a05:6a21:4cc1:b0:3a2:bd1d:d684 with SMTP id adf61e73a8af0-3bb3404fba2mr20581555637.33.1782204946638; Tue, 23 Jun 2026 01:55:46 -0700 (PDT) X-Received: by 2002:a05:6a21:4cc1:b0:3a2:bd1d:d684 with SMTP id adf61e73a8af0-3bb3404fba2mr20581523637.33.1782204946165; Tue, 23 Jun 2026 01:55:46 -0700 (PDT) Received: from [10.133.33.165] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84564ed3212sm10209394b3a.55.2026.06.23.01.55.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Jun 2026 01:55:45 -0700 (PDT) Message-ID: <5abb5812-cdd8-47d4-b5a0-33f7351589ea@oss.qualcomm.com> Date: Tue, 23 Jun 2026 16:55:41 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v9] PCI: Add device-specific reset for Qualcomm devices To: Jose Ignacio Tornos Martinez , mani@kernel.org Cc: alex@shazbot.org, ath11k@lists.infradead.org, ath12k@lists.infradead.org, bhelgaas@google.com, jjohnson@kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-wireless@vger.kernel.org, mhi@lists.linux.dev References: <20260618063309.9536-1-jtornosm@redhat.com> From: Baochen Qiang Content-Language: en-US In-Reply-To: <20260618063309.9536-1-jtornosm@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjIzMDA3MSBTYWx0ZWRfX7u5MBgD7IL9i zbVYG2kDXqMdqMnmNEvEhrgyTcg067FNHasGTW7lSZl7XpBMT/oBI7HvSGm2Q2Q+WYkCt+g4X4A CMiwft7IaiQwvCMbMDVy50+tFzU2Zmz3CxEc62MuGLURQd8+wxt9nbmwwprBGNAmJR2GISXjbiM hYVj61sNrzSg0ImFynNm6e8rRUi9PpBzHxcCX2Z2IvOKV7K/JKx3gmvI7lrOQhEQvvIpkow/n8h Eq2FhHK5oUwIgnk+aqbqI1kkKDkNxAtyPXY4PMQxIL4b7embuFX2hIgbQquAlj13bibpZeQAEHH kYqAGp+iSUAGFAA/4YLZuAQNzYwM8gA1TprhjCmhYidLnVTm1xEblo9QdsJ8HE3ODjscGLy9C9+ j4Wlfl+P+fKcLP9SpULW6WOOdQ+0kRzQwyZlfPtBmwaEOK4cfbhdXq1HQKG0TTTvC/Fz6nwE06s jCF07tU+kLUZZMA1SLA== X-Proofpoint-GUID: V3n7ULjw6jislPT0GwxUK0nJ5pCvfUeX X-Authority-Analysis: v=2.4 cv=dvfrzVg4 c=1 sm=1 tr=0 ts=6a3a4a13 cx=c_pps a=vVfyC5vLCtgYJKYeQD43oA==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_K5XuSEh1TEqbUxoQ0s3:22 a=_kWzU8USZtXapjXelIsA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=rl5im9kqc5Lf4LNbBjHf:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjIzMDA3MSBTYWx0ZWRfXyzRFafwNy3c/ pLWjY5uJAU0BIwydNpFV95FxckMR3DnWa8olMTKuiLEhG07Pv7SPa01hAfnwsJ6QIkKzUYDrHV/ Qoy9KCGBYm9lHJH33d9oSDIaP/fH/Uo= X-Proofpoint-ORIG-GUID: V3n7ULjw6jislPT0GwxUK0nJ5pCvfUeX X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-23_02,2026-06-22_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 phishscore=0 spamscore=0 adultscore=0 clxscore=1015 suspectscore=0 malwarescore=0 priorityscore=1501 impostorscore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606230071 On 6/18/2026 2:33 PM, Jose Ignacio Tornos Martinez wrote: > Hi Mani, > > Let me clarify the exact scenario and where the reset is necessary: > > * For the commented WiFi devices (WCN6855/WCN7850): > > Standard VFIO passthrough flow (this works fine): > 1. Unbind native driver (ath11k/ath12k/MHI) > 2. Bind vfio-pci driver > 3. Assign device to VM > 4. VM boots, loads its own driver → device works perfectly > 5. VM shuts down cleanly → device can be reassigned → works fine > > The problem occurs with unclean VM termination: > 1. VM crashes or is force-terminated > 2. VFIO tries to reset the device before reassignment > 3. Without a working PCI reset method, reset fails > 4. Device stuck in undefined state → cannot be reassigned to another VM > > Unbinding the driver again doesn't help because the device hardware > itself is in a bad state. From hypervisor: > $ lspci -vvv -s 0000:03:00.0 > 03:00.0 Network controller: Qualcomm Technologies, Inc (rev ff) (prog-if ff) > !!! Unknown header type 7f > And a full host power-cycle is necessary to recover. > what is the difference between a clean VM shutdown and an unclean termination? specifically, will pci driver's .shutdown callback be triggered during the clean VM shutdown, and not be triggered during a unclean termination? > * For the commented modem devices (SDX62/SDX65): > > Even worse because it fails during the first VM boot without proper reset > capability, standard VFIO passthrough flow: > 1. Unbind native driver (MHI) > 2. Bind vfio-pci driver > 3. Assign device to VM > 4. VM boots, loads its own driver and crashes: > [ 24.024165] mhi mhi0: Device failed to enter MHI Ready > [ 24.024168] mhi mhi0: MHI did not enter READY state > > Unbind/rebind attempts fail: > [ 352.643601] mhi mhi0: Requested to power ON > [ 352.643611] mhi mhi0: Power on setup success > [ 373.442954] mhi mhi0: Device failed to clear MHI Reset > [ 373.442970] mhi mhi0: MHI did not enter READY state > And requires a full host power cycle to recover, > even outside of VFIO scenarios. > > * MHI Host driver's remove callback may handle clean software state > teardown, but it doesn't provide a PCI reset capability that VFIO can > invoke. VFIO needs a reset method registered in the PCI reset hierarchy > (device_specific, pm, flr, bus, etc.). VFIO invokes this reset both during > initial device binding (before the VM starts) and when reassigning the > device between VMs - without a working reset method, the device cannot > reach a clean state for initialization. > > > > I hope this clarifies the scenario better. Please let me know if I can > provide more information or run any specific tests to help investigate this > further. > > Thanks > > Best regards > José Ignacio > >