Kernel cannot see PCI device

Bjorn Helgaas bhelgaas at google.com
Thu May 19 00:14:57 EST 2011


On Wed, May 18, 2011 at 4:02 AM, Prashant Bhole
<prashantsmailcenter at gmail.com> wrote:
> On Mon, May 2, 2011 at 10:21 AM, Prashant Bhole
> <prashantsmailcenter at gmail.com> wrote:
>>
>> Hi,
>> I have a custom made powerpc 460EX board. On that board u-boot
>> can see a PCI device but Linux kernel cannot see it. What could be the problem?
>>
>> On u-boot "pci  2" commands displays following device:
>> Scanning PCI devices on bus 2
>> BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
>> _____________________________________________________________
>> 02.00.00   0x1000     0x0072     Mass storage controller 0x00
>>
>> And when the kernel is booted, there is only one pci device (bridge):
>> #ls /sys/bus/pci/devices
>> 0000:80:00.0
>>
>
> I am still facing in this problem.
>
> a call to pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, &l) returns
> positive value in the function pci_scan_device(), which means VENDOR_ID reading
> failed. I could not find the reason. Any hints?

Hmm...  probably powerpc-related, so I added linuxppc-dev.

My guess would be that Linux didn't find the host bridge to the
hierarchy containing bus 2.  I would guess the host bridge info is
supposed to come from OF.  More information, like the complete u-boot
PCI scan and the kernel dmesg log, would be useful.  And maybe u-boot
has a way to dump the OF device tree?


More information about the Linuxppc-dev mailing list