[PATCH] staging: mt7621-pci: avoid to request pci bus resources

Sergio Paracuellos sergio.paracuellos at gmail.com
Sat Nov 14 07:24:06 UTC 2020


On Sat, Nov 14, 2020 at 12:19 AM Greg KH <gregkh at linuxfoundation.org> wrote:
>
> On Fri, Nov 13, 2020 at 04:26:08PM +0100, Sergio Paracuellos wrote:
> > Hi Greg,
> >
> > On Mon, Nov 2, 2020 at 9:25 PM Sergio Paracuellos
> > <sergio.paracuellos at gmail.com> wrote:
> > >
> > > After upgrading kernel to version 5.9.x the driver was not
> > > working anymore showing the following kernel trace:
> > >
> > > ...
> > > mt7621-pci 1e140000.pcie: resource collision:
> > > [mem 0x60000000-0x6fffffff] conflicts with pcie at 1e140000 [mem 0x60000000-0x6fffffff]
> > > ------------[ cut here ]------------
> > > WARNING: CPU: 2 PID: 73 at kernel/resource.c:1400
> > > devm_request_resource+0xfc/0x10c
> > > Modules linked in:
> > > CPU: 2 PID: 73 Comm: kworker/2:1 Not tainted 5.9.2 #0
> > > Workqueue: events deferred_probe_work_func
> > > Stack : 00000000 81590000 807d0a1c 808a0000 8fd49080
> > >         807d0000 00000009 808ac820
> > >         00000001 808338d0 7fff0001 800839dc 00000049
> > >         00000001 8fe51b00 367204ab
> > >         00000000 00000000 807d0a1c 807c0000 00000001
> > >         80082358 8fe50000 00559000
> > >         00000000 8fe519f1 ffffffff 00000005 00000000
> > >         00000001 00000000 807d0000
> > >         00000009 808ac820 00000001 808338d0 00000001
> > >         803bf1b0 00000008 81390008
> > >
> > > Call Trace:
> > > [<8000d018>] show_stack+0x30/0x100
> > > [<8032e66c>] dump_stack+0xa4/0xd4
> > > [<8002db1c>] __warn+0xc0/0x134
> > > [<8002dbec>] warn_slowpath_fmt+0x5c/0xac
> > > [<80033b34>] devm_request_resource+0xfc/0x10c
> > > [<80365ff8>] devm_request_pci_bus_resources+0x58/0xdc
> > > [<8048e13c>] mt7621_pci_probe+0x8dc/0xe48
> > > [<803d2140>] platform_drv_probe+0x40/0x94
> > > [<803cfd94>] really_probe+0x108/0x4ec
> > > [<803cd958>] bus_for_each_drv+0x70/0xb0
> > > [<803d0388>] __device_attach+0xec/0x164
> > > [<803cec8c>] bus_probe_device+0xa4/0xc0
> > > [<803cf1c4>] deferred_probe_work_func+0x80/0xc4
> > > [<80048444>] process_one_work+0x260/0x510
> > > [<80048a4c>] worker_thread+0x358/0x5cc
> > > [<8004f7d0>] kthread+0x134/0x13c
> > > [<80007478>] ret_from_kernel_thread+0x14/0x1c
> > > ---[ end trace a9dd2e37537510d3 ]---
> > > mt7621-pci 1e140000.pcie: Error requesting resources
> > > mt7621-pci: probe of 1e140000.pcie failed with error -16
> > > ...
> > >
> > > With commit 669cbc708122 ("PCI: Move DT resource setup into
> > > devm_pci_alloc_host_bridge()"), the DT 'ranges' is parsed and populated
> > > into resources when the host bridge is allocated. The resources are
> > > requested as well, but that happens a 2nd time for this driver in
> > > mt7621_pcie_request_resources(). Hence we should avoid this second
> > > request.
> > >
> > > Also, the bus ranges was also populated by default, so we can remove
> > > it from mt7621_pcie_request_resources() to avoid the following trace
> > > if we don't avoid it:
> > >
> > > pci_bus 0000:00: busn_res: can not insert [bus 00-ff]
> > > under domain [bus 00-ff] (conflicts with (null) [bus 00-ff])
> > >
> > > Function 'mt7621_pcie_request_resources' has been renamed into
> > > 'mt7621_pcie_add_resources' which now is a more accurate name
> > > for this function.
> > >
> > > Cc: stable at vger.kernel.org#5.9.x-
> > > Signed-off-by: Sergio Paracuellos <sergio.paracuellos at gmail.com>
> >
> > This patch have to be added also for stable 5.9.x because driver is
> > broken in all kernel 5.9.x releases. I noticed a new stable release
> > comes three days ago (5.9.8) and this was not added. I was wondering
> > if the way I marked this patch to be included is wrong.
>
> Is this patch in Linus's tree yet?  If not, we can't add it to any
> stable tree.  That has to happen first.
>

Ahh, ok I see. No, it is not in the linux tree yet. It is still in
your staging-linus branch.
I did not know that, thanks for let me know .

> thanks,
>
> greg k-h

Best regards,
   Sergio Paracuellos


More information about the devel mailing list