Re: [PATCH] PCI: tegra: Fix host initialization during resume

From: Jon Hunter
Date: Mon May 17 2021 - 13:42:02 EST



On 17/05/2021 17:47, Bjorn Helgaas wrote:
> On Mon, May 17, 2021 at 05:18:36PM +0100, Lorenzo Pieralisi wrote:
>> On Mon, May 17, 2021 at 03:11:00PM +0100, Jon Hunter wrote:
>>> Hi Lorenzo, Bjorn,
>>>
>>> On 06/05/2021 09:49, Jon Hunter wrote:
>>>>
>>>> On 04/05/2021 18:21, Vidya Sagar wrote:
>>>>> Commit 275e88b06a27 ("PCI: tegra: Fix host link initialization") broke
>>>>> host initialization during resume as it misses out calling the API
>>>>> dw_pcie_setup_rc() which is required for host and MSI initialization.
>>>>>
>>>>> Fixes: 275e88b06a27 ("PCI: tegra: Fix host link initialization")
>>>>> Signed-off-by: Vidya Sagar <vidyas@xxxxxxxxxx>
>>>>> ---
>>>>> drivers/pci/controller/dwc/pcie-tegra194.c | 2 ++
>>>>> 1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/drivers/pci/controller/dwc/pcie-tegra194.c b/drivers/pci/controller/dwc/pcie-tegra194.c
>>>>> index 6fa216e52d14..4c3c0738f2e6 100644
>>>>> --- a/drivers/pci/controller/dwc/pcie-tegra194.c
>>>>> +++ b/drivers/pci/controller/dwc/pcie-tegra194.c
>>>>> @@ -2214,6 +2214,8 @@ static int tegra_pcie_dw_resume_noirq(struct device *dev)
>>>>> goto fail_host_init;
>>>>> }
>>>>>
>>>>> + dw_pcie_setup_rc(&pcie->pci.pp);
>>>>> +
>>>>> ret = tegra_pcie_dw_start_link(&pcie->pci);
>>>>> if (ret < 0)
>>>>> goto fail_host_init;
>>>>
>>>> Thanks for fixing!
>>>>
>>>> Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx>
>>>>
>>>> We should also mark this for stable so that this gets back-ported.
>>>
>>> Can we queue this as a fix for v5.13 and tag for stable?
>>
>> We usually send fixes for -rc* when the patches they are fixing
>> were merged in the current cycle (ie merged for v5.13).
>
> Looks like this has been broken since v5.11-rc1 (December 27, 2020),
> when 275e88b06a27 was merged. Probably would be worth an occasional
> boot test to make sure things stay working.


Yes exactly it has been broken for a while and unfortunately went unnoticed.

We do boot test -next, mainline and the various stable branches on our
Tegra boards daily. The boot test did not catch this, but there is a
error generated when resuming from suspend and I am working to ensure we
catch such errors when resuming from suspend.

Cheers
Jon

--
nvpublic