linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [Bug 18412] Intel DP43BF requires "pci=assign-busses" to discover some devices
       [not found] ` <20120907214005.5077211FC43@bugzilla.kernel.org>
@ 2012-09-07 21:52   ` Bjorn Helgaas
  2012-09-07 22:15     ` Yinghai Lu
  0 siblings, 1 reply; 4+ messages in thread
From: Bjorn Helgaas @ 2012-09-07 21:52 UTC (permalink / raw)
  To: bugzilla-daemon; +Cc: linux-pci

On Fri, Sep 7, 2012 at 2:40 PM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=18412

> --- Comment #4 from VL <vl.homutov@gmail.com>  2012-09-07 21:40:04 ---
> The bug is still there with behaviour exactly as specified by reporter.
>
> Tested with linux-3.4.9 (gentoo), DP43BF motherboard and Intel PRO/1000 NICs.
> With pci=assign-busses lspci shows devices properly, without it nothing
> is in the list.

Anybody who wants to help with bugs like this, feel free :)  There are
a number of open regressions and bugs in the PCI subsystem of
https://bugzilla.kernel.org/

I spend a lot of time looking at these bugs, and that reduces the time
I have to review and apply patches.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bug 18412] Intel DP43BF requires "pci=assign-busses" to discover some devices
  2012-09-07 21:52   ` [Bug 18412] Intel DP43BF requires "pci=assign-busses" to discover some devices Bjorn Helgaas
@ 2012-09-07 22:15     ` Yinghai Lu
  2012-09-07 22:35       ` Yinghai Lu
  0 siblings, 1 reply; 4+ messages in thread
From: Yinghai Lu @ 2012-09-07 22:15 UTC (permalink / raw)
  To: Bjorn Helgaas, vl.homutov; +Cc: bugzilla-daemon, linux-pci

On Fri, Sep 7, 2012 at 2:52 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> On Fri, Sep 7, 2012 at 2:40 PM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
>> https://bugzilla.kernel.org/show_bug.cgi?id=18412
>
>> --- Comment #4 from VL <vl.homutov@gmail.com>  2012-09-07 21:40:04 ---
>> The bug is still there with behaviour exactly as specified by reporter.
>>
>> Tested with linux-3.4.9 (gentoo), DP43BF motherboard and Intel PRO/1000 NICs.
>> With pci=assign-busses lspci shows devices properly, without it nothing
>> is in the list.

VL,

I rebased for-pci-busn-alloc branch to current pci-next

please check if could fix the problem.

git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
for-pci-busn-alloc

http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=shortlog;h=refs/heads/for-pci-busn-alloc

Thanks

Yinghai

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Bug 18412] Intel DP43BF requires "pci=assign-busses" to discover some devices
  2012-09-07 22:15     ` Yinghai Lu
@ 2012-09-07 22:35       ` Yinghai Lu
  0 siblings, 0 replies; 4+ messages in thread
From: Yinghai Lu @ 2012-09-07 22:35 UTC (permalink / raw)
  To: Bjorn Helgaas, vl.homutov; +Cc: bugzilla-daemon, linux-pci

[-- Attachment #1: Type: text/plain, Size: 996 bytes --]

On Fri, Sep 7, 2012 at 3:15 PM, Yinghai Lu <yinghai@kernel.org> wrote:
> On Fri, Sep 7, 2012 at 2:52 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:
>> On Fri, Sep 7, 2012 at 2:40 PM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
>>> https://bugzilla.kernel.org/show_bug.cgi?id=18412
>>
>>> --- Comment #4 from VL <vl.homutov@gmail.com>  2012-09-07 21:40:04 ---
>>> The bug is still there with behaviour exactly as specified by reporter.
>>>
>>> Tested with linux-3.4.9 (gentoo), DP43BF motherboard and Intel PRO/1000 NICs.
>>> With pci=assign-busses lspci shows devices properly, without it nothing
>>> is in the list.
>
> VL,
>
> I rebased for-pci-busn-alloc branch to current pci-next
>
> please check if could fix the problem.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/yinghai/linux-yinghai.git
> for-pci-busn-alloc
>
> http://git.kernel.org/?p=linux/kernel/git/yinghai/linux-yinghai.git;a=shortlog;h=refs/heads/for-pci-busn-alloc
>

also you could try attached patch

Thanks

Yinghai

[-- Attachment #2: pci_bridge_more_bus_check.patch --]
[-- Type: application/octet-stream, Size: 544 bytes --]

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 3cdba8b..0fc2703 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -729,7 +729,8 @@ int __devinit pci_scan_bridge(struct pci_bus *bus, struct pci_dev *dev, int max,
 
 	/* Check if setup is sensible at all */
 	if (!pass &&
-	    (primary != bus->number || secondary <= bus->number)) {
+	    (primary != bus->number || secondary <= bus->number ||
+	     secondary > subordinate )) {
 		dev_dbg(&dev->dev, "bus configuration invalid, reconfiguring\n");
 		broken = 1;
 	}

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [Bug 18412] Intel DP43BF requires "pci=assign-busses" to discover some devices
       [not found] ` <20120909082717.63E5011FBF5@bugzilla.kernel.org>
@ 2012-09-10 23:43   ` Bjorn Helgaas
  0 siblings, 0 replies; 4+ messages in thread
From: Bjorn Helgaas @ 2012-09-10 23:43 UTC (permalink / raw)
  To: linux-pci, Yinghai Lu; +Cc: vl.homutov

On Sun, Sep 9, 2012 at 2:27 AM,  <bugzilla-daemon@bugzilla.kernel.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=18412
>
> --- Comment #14 from VL <vl.homutov@gmail.com>  2012-09-09 08:27:17 ---
>> Given the [bus 20-08] range, I suspect that the patch in comment #9 may fix it,
>> and that's something we could apply.  Can you try just that patch on top of a
>> 3.5 or 3.6-rc4 kernel?
>
> yes, this patch fixes the problem.

Yinghai, you put the following (whitespace damaged) patch in the
bugzilla, and VL says it fixes his sytem.  He has a P2P bridge with
secondary > subordinate:

    pci 0000:00:1e.0: PCI bridge to [bus 20-08] (subtractive decode)

The current kernel doesn't probe behind this bridge, so it doesn't
find a couple devices.  With the patch below, we reassign the
secondary bus number from 20 to 08, so we do find those devices.

I'm slightly concerned that if we apply a patch like this, it removes
one way a BIOS could hide devices from the OS.  But maybe we don't
need to worry about that.  We have to configure hot-added P2P bridges
from scratch, so maybe we should be aggressive about fixing bridges
like this, too.

Are you comfortable enough with this patch to post it with a Signed-off-by?

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index 3cdba8b..a8f1bf6 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -729,7 +729,8 @@ int __devinit pci_scan_bridge(struct pci_bus *bus,
struct pci_dev *dev, int max,

 	/* Check if setup is sensible at all */
 	if (!pass &&
-	    (primary != bus->number || secondary <= bus->number)) {
+	    (primary != bus->number || secondary <= bus->number ||
+	     secondary > subordinate)) {
 		dev_dbg(&dev->dev, "bus configuration invalid, reconfiguring\n");
 		broken = 1;
 	}

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-09-10 23:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-18412-41252@https.bugzilla.kernel.org/>
     [not found] ` <20120907214005.5077211FC43@bugzilla.kernel.org>
2012-09-07 21:52   ` [Bug 18412] Intel DP43BF requires "pci=assign-busses" to discover some devices Bjorn Helgaas
2012-09-07 22:15     ` Yinghai Lu
2012-09-07 22:35       ` Yinghai Lu
     [not found] ` <20120909082717.63E5011FBF5@bugzilla.kernel.org>
2012-09-10 23:43   ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).