From: Bjorn Helgaas <helgaas@kernel.org>
To: divakar <divakar.chitturi@hpe.com>
Cc: linux-pci@vger.kernel.org
Subject: Re: pci_enable_device error
Date: Wed, 24 Aug 2016 11:50:32 -0500 [thread overview]
Message-ID: <20160824165031.GB23914@localhost> (raw)
In-Reply-To: <2771432.urgYcWSoQk@div_linux>
On Tue, Aug 23, 2016 at 04:24:37PM -0700, divakar wrote:
> Hi
>
> I am trying to enable the pci device in the driver by calling the
> function, pci_enable_device and i get the below error.
>
> fpga_pci_uio_driver 0000:4e:00.0: can't enable device: BAR 0 [mem
> 0x00000000-0x000fffff 64bit pref] not claimed
> fpga_pci_uio_driver 0000:4e:00.0: Failed to enable fpga_pci_uio device
> rc=-22
> fpga_pci_uio_driver: probe of 0000:4e:00.0 failed with error -22
>
> I am guessing its coming from pci_enable_resource function in
> pci_setup.c. ( trying to setup debug env to trace exact location)
> if (!r->parent) {
> dev_err(&dev->dev, "can't enable device: BAR %d
> %pR not claimed\n",
> i, r);
> return -EINVAL;
> }
>
> I am not sure why this condition is false. I am running kernel 3.19 and
> this is a pcie endpoint device sitting on one of the port of the pcie
> switch. Below is the dmesg output for the pcie switch port.
>
> [ 13.586987] pci 0000:4b:04.0: PCI bridge to [bus 4e]
> [ 13.591069] pci 0000:4b:04.0: bridge window [mem 0xc7c00000-0xc7ffffff
> 64bit pref]
>
> lspci output for my device
> lspci -v -s 4e:00.0
> 4e:00.0 Non-VGA unclassified device: Company Device 0180
> (rev 01)
> Flags: fast devsel
> Memory at <unassigned> (64-bit, prefetchable) [size=1M]
> Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
> Capabilities: [78] Power Management version 3
> Capabilities: [80] Express Endpoint, MSI 00
> Capabilities: [100] Multi-Function Virtual Channel <?>
>
> The other device on different port of the switch work fine. That device
> driver also calls pci_enable_device(dev).
>
> I found a thread http://www.spinics.net/lists/linux-pci/msg49725.html
> discussing something similar. Should i apply any patch to solve it? or
> am i missing something?
There's no address space assigned for BAR 0 of the 4e:00.0 device, so
we can't enable it. A full dmesg log will show whether this is
because we ran out of address space or some other cause.
Bjorn
prev parent reply other threads:[~2016-08-24 16:50 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-23 23:24 pci_enable_device error divakar
2016-08-24 16:50 ` Bjorn Helgaas [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160824165031.GB23914@localhost \
--to=helgaas@kernel.org \
--cc=divakar.chitturi@hpe.com \
--cc=linux-pci@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).