Browse Source

Merge tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci

Pull PCI fixes from Bjorn Helgaas:

 - Update pci.ids location (documentation only) (Randy Dunlap)

 - Fix a crash when BIOS didn't assign a BAR and we try to enlarge it
   (Christian König)

* tag 'pci-v4.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
  PCI: Allow release of resources that were never assigned
  PCI: Update location of pci.ids file
Linus Torvalds 7 years ago
parent
commit
329ad5e544
2 changed files with 7 additions and 1 deletions
  1. 3 1
      Documentation/PCI/pci.txt
  2. 4 0
      drivers/pci/setup-res.c

+ 3 - 1
Documentation/PCI/pci.txt

@@ -570,7 +570,9 @@ your driver if they're helpful, or just use plain hex constants.
 The device IDs are arbitrary hex numbers (vendor controlled) and normally used
 The device IDs are arbitrary hex numbers (vendor controlled) and normally used
 only in a single location, the pci_device_id table.
 only in a single location, the pci_device_id table.
 
 
-Please DO submit new vendor/device IDs to http://pciids.sourceforge.net/.
+Please DO submit new vendor/device IDs to http://pci-ids.ucw.cz/.
+There are mirrors of the pci.ids file at http://pciids.sourceforge.net/
+and https://github.com/pciutils/pciids.
 
 
 
 
 
 

+ 4 - 0
drivers/pci/setup-res.c

@@ -401,6 +401,10 @@ void pci_release_resource(struct pci_dev *dev, int resno)
 	struct resource *res = dev->resource + resno;
 	struct resource *res = dev->resource + resno;
 
 
 	pci_info(dev, "BAR %d: releasing %pR\n", resno, res);
 	pci_info(dev, "BAR %d: releasing %pR\n", resno, res);
+
+	if (!res->parent)
+		return;
+
 	release_resource(res);
 	release_resource(res);
 	res->end = resource_size(res) - 1;
 	res->end = resource_size(res) - 1;
 	res->start = 0;
 	res->start = 0;