Re:Re: [PATCH] bus: mhi: host: pci_generic: Update the default autosuspend_delay_ms as 5000ms

From: Slark Xiao

Date: Mon Oct 19 2026 - 23:31:24 EST



At 2026-10-19 15:41:27, "Loic Poulain" <loic.poulain@xxxxxxxxxxxxxxxx> wrote:
>On Mon, Oct 19, 2026 at 7:52 AM Slark Xiao <slark_xiao@xxxxxxx> wrote:
>>
>> For some MHI devices in some specific scenario, the default value
>> of autosuspend_delay_ms may not enough to handle last wake event.
>> This may lead to some unexpected problems.
>>
>> Refer to the Qualcomm's Windows settings and we checked this with
>> Quaclomm over case, Qualcomm recommend us to set this as 5000ms.
>
>Qualcomm
>
>> Qualcomm also suggests us to update this for all MHI devices.
>> Since this setting has affected some existed kernel versions, it's
>> better to be applied to stable version.
>
>This looks more like a workaround than a proper fix. It would be
>helpful to describe the underlying issue, including the timing and
>sequence of events that make this necessary. In principle, either the
>device can be suspended at that point or it cannot. Relying on a
>delayed suspend feels fragile and may end up masking the real problem.
>
Hi Loic,
Honestly, Qualcomm has been analyzing for over 2 months and still hasn't
identified the root cause.

Actually I have explained the reasons behind the events to Mani in another
thread, you can refer to https://lore.kernel.org/mhi/20260919095506.9570-1-slark_xiao@xxxxxxx/

From Qualcomm's perspective, 2 seconds is not enough for their default design.
They recommended us to update this value to 5 seconds and Mani checked this
internally as well. So we decided to update this 5 seconds setting to all MHI devices.

Thanks
>>
>> Fixes: d3800c1dce24 ("bus: mhi: pci_generic: Add support for runtime PM")
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Slark Xiao <slark_xiao@xxxxxxx>
>> ---
>> drivers/bus/mhi/host/pci_generic.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/bus/mhi/host/pci_generic.c b/drivers/bus/mhi/host/pci_generic.c
>> index 7193a384cca4..40735beb46cb 100644
>> --- a/drivers/bus/mhi/host/pci_generic.c
>> +++ b/drivers/bus/mhi/host/pci_generic.c
>> @@ -1483,7 +1483,7 @@ static int mhi_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>>
>> /* Allow runtime suspend only if both PME from D3Hot and M3 are supported */
>> if (pci_pme_capable(pdev, PCI_D3hot) && !(info->no_m3)) {
>> - pm_runtime_set_autosuspend_delay(&pdev->dev, 2000);
>> + pm_runtime_set_autosuspend_delay(&pdev->dev, 5000);
>> pm_runtime_use_autosuspend(&pdev->dev);
>> pm_runtime_mark_last_busy(&pdev->dev);
>> pm_runtime_put_noidle(&pdev->dev);
>> --
>> 2.53.0
>>