From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bin Meng Date: Wed, 25 Jan 2017 22:14:56 +0800 Subject: [U-Boot] [PATCH] pci: don't skip vendor ID 0 In-Reply-To: <1485321910-12648-1-git-send-email-gregory.fong@virgingalactic.com> References: <1485321910-12648-1-git-send-email-gregory.fong@virgingalactic.com> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Gregory, On Wed, Jan 25, 2017 at 1:25 PM, Gregory Fong wrote: > Unlike 0xffff, 0 is not an invalid vendor ID. > > Signed-off-by: Gregory Fong > --- > Based on question initially asked here: > http://lists.denx.de/pipermail/u-boot/2016-December/276172.html > > I've been looking through the book I have on PCI and through various online > resources, and haven't been able to find evidence that a vendor ID of 0 is > invalid, even if it's unusual. There are still issues in how this will be > handled in e.g. drivers/pci/pci_common.c because pci_hose_find_devices() still > assumes that a vendor and device ID of 0 mean that the last pci_device_id is > reached, but this change at least allows the device's PCI BARs to get > programmed if the vendor ID is 0. > > drivers/pci/pci.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 6b36c18..3ee7180 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -366,7 +366,7 @@ int pci_hose_scan_bus(struct pci_controller *hose, int bus) > > pci_hose_read_config_word(hose, dev, PCI_VENDOR_ID, &vendor); > > - if (vendor == 0xffff || vendor == 0x0000) > + if (vendor == 0xffff) > continue; > > if (!PCI_FUNC(dev)) Do you have such a PCI device that has the vendor ID as zero? Or have you ever seen such? If not, I would say let's leave this as it is. Regards, Bin