]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
bus: mhi: host: pci_generic: Reset QDU100 while the MHI driver is removed
authorVivek Pernamitta <quic_vpernami@quicinc.com>
Fri, 12 Sep 2025 12:48:08 +0000 (18:18 +0530)
committerManivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Fri, 19 Sep 2025 05:53:08 +0000 (11:23 +0530)
commit12543f4405887da9f3e401e708ca0ff796a7b866
treecdd5b93be38ca957bc13ed8c3a155e77fa1a7d79
parentfd6e0509d0e86059f9a1c25b0b91ef5d0021701f
bus: mhi: host: pci_generic: Reset QDU100 while the MHI driver is removed

So, When the MHI driver is removed from the host side, it is essential to
ensure a clean and stable recovery of the device. This commit introduces
the following steps to achieve that:

1. Disable SR-IOV for any SR-IOV-enabled devices on the Physical Function.
2. Perform a SOC_RESET on the PF to fully reset the device.

Disabling SR-IOV ensures all Virtual Functions (VFs) are properly shutdown,
preventing issues during the reset process. The SOC_RESET guarantees that
the PF is restored to a known good state.

If soc_reset is not performed device at driver remove, device will be
stuck in mission mode state and subsequent driver insert/power_up will not
proceed further.

Signed-off-by: Vivek Pernamitta <quic_vpernami@quicinc.com>
[mani: reworded subject]
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Link: https://patch.msgid.link/20250912-uevent_vdev_next-20250911-v4-4-fa2f6ccd301b@quicinc.com
drivers/bus/mhi/host/pci_generic.c