lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <95a0f2a4-3ddd-4dec-a67e-27f774edb5fd@w6rz.net>
Date: Mon, 13 Oct 2025 22:26:58 -0700
From: Ron Economos <re@...z.net>
To: Krishna Chaitanya Chundru <krishna.chundru@....qualcomm.com>,
 Bjorn Helgaas <helgaas@...nel.org>, Conor Dooley <conor@...nel.org>
Cc: bhelgaas@...gle.com, mani@...nel.org, linux-pci@...r.kernel.org,
 linux-kernel@...r.kernel.org, linux-riscv <linux-riscv@...ts.infradead.org>,
 Paul Walmsley <pjw@...nel.org>, Greentime Hu <greentime.hu@...ive.com>,
 Samuel Holland <samuel.holland@...ive.com>, regressions@...ts.linux.dev
Subject: Re: SiFive FU740 PCI driver fails on 6.18-rc1

On 10/13/25 22:20, Krishna Chaitanya Chundru wrote:
>
>
> On 10/14/2025 2:58 AM, Bjorn Helgaas wrote:
>> [+cc FU740 driver folks, Conor, regressions]
>>
>> On Mon, Oct 13, 2025 at 12:14:54AM -0700, Ron Economos wrote:
>>> The SiFive FU740 PCI driver fails on the HiFive Unmatched board with 
>>> Linux
>>> 6.18-rc1. The error message is:
>>>
>>> [    3.166624] fu740-pcie e00000000.pcie: host bridge 
>>> /soc/pcie@...000000
>>> ranges:
>>> [    3.166706] fu740-pcie e00000000.pcie:       IO
>>> 0x0060080000..0x006008ffff -> 0x0060080000
>>> [    3.166767] fu740-pcie e00000000.pcie:      MEM
>>> 0x0060090000..0x007fffffff -> 0x0060090000
>>> [    3.166805] fu740-pcie e00000000.pcie:      MEM
>>> 0x2000000000..0x3fffffffff -> 0x2000000000
>>> [    3.166950] fu740-pcie e00000000.pcie: ECAM at [mem
>>> 0xdf0000000-0xdffffffff] for [bus 00-ff]
>>> [    3.579500] fu740-pcie e00000000.pcie: No iATU regions found
>>> [    3.579552] fu740-pcie e00000000.pcie: Failed to configure iATU 
>>> in ECAM
>>> mode
>>> [    3.579655] fu740-pcie e00000000.pcie: probe with driver fu740-pcie
>>> failed with error -22
>>>
>>> The normal message (on Linux 6.17.2) is:
>>>
>>> [    3.381487] fu740-pcie e00000000.pcie: host bridge 
>>> /soc/pcie@...000000
>>> ranges:
>>> [    3.381584] fu740-pcie e00000000.pcie:       IO
>>> 0x0060080000..0x006008ffff -> 0x0060080000
>>> [    3.381682] fu740-pcie e00000000.pcie:      MEM
>>> 0x0060090000..0x007fffffff -> 0x0060090000
>>> [    3.381724] fu740-pcie e00000000.pcie:      MEM
>>> 0x2000000000..0x3fffffffff -> 0x2000000000
>>> [    3.484809] fu740-pcie e00000000.pcie: iATU: unroll T, 8 ob, 8 
>>> ib, align
>>> 4K, limit 4096G
>>> [    3.683678] fu740-pcie e00000000.pcie: PCIe Gen.1 x8 link up
>>> [    3.883674] fu740-pcie e00000000.pcie: PCIe Gen.3 x8 link up
>>> [    3.987678] fu740-pcie e00000000.pcie: PCIe Gen.3 x8 link up
>>> [    3.988164] fu740-pcie e00000000.pcie: PCI host bridge to bus 
>>> 0000:00
>>>
>>> Reverting the following commits solves the issue.
>>>
>>> 0da48c5b2fa731b21bc523c82d927399a1e508b0 PCI: dwc: Support ECAM 
>>> mechanism by
>>> enabling iATU 'CFG Shift Feature'
>>>
>>> 4660e50cf81800f82eeecf743ad1e3e97ab72190 PCI: qcom: Prepare for the 
>>> DWC ECAM
>>> enablement
>>>
>>> f6fd357f7afbeb34a633e5688a23b9d7eb49d558 PCI: dwc: Prepare the 
>>> driver for
>>> enabling ECAM mechanism using iATU 'CFG Shift Feature'
>>
>> As Conor pointed out, we can't fix a code regression with a DT change.
>>
>> #regzbot introduced: f6fd357f7afb ("PCI: dwc: Prepare the driver for 
>> enabling ECAM mechanism using iATU 'CFG Shift Feature'")
> Hi Conor,
>
> Can you try with this patch and see if it is fixing the issue.
> diff --git a/drivers/pci/controller/dwc/pcie-fu740.c 
> b/drivers/pci/controller/dwc/pcie-fu740.c
> index 66367252032b..b5e0f016a580 100644
> --- a/drivers/pci/controller/dwc/pcie-fu740.c
> +++ b/drivers/pci/controller/dwc/pcie-fu740.c
> @@ -328,6 +328,8 @@ static int fu740_pcie_probe(struct platform_device 
> *pdev)
>
>         platform_set_drvdata(pdev, afp);
>
> +       pci->pp.native_ecam = true;
> +
>         return dw_pcie_host_init(&pci->pp);
>  }
>
> - Krishna Chaitanya.
>
>>
I've already tried it. It doesn't work. Same error message as before.


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ