Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

Pull PCI fixes from Bjorn Helgaas:
"Here are some fixes for v4.0. I apologize for how late they are. We
were hoping for some better fixes, but couldn't get them polished in
time. These fix:

- a Xen domU oops with PCI passthrough devices
- a sparc T5 boot failure
- a STM SPEAr13xx crash (use after initdata freed)
- a cpcihp hotplug driver thinko
- an AER thinko that printed stack junk

Details:

Enumeration
- Don't look for ACPI hotplug parameters if ACPI is disabled (Bjorn Helgaas)

Resource management
- Revert "sparc/PCI: Clip bridge windows to fit in upstream windows" (Bjorn Helgaas)

AER
- Avoid info leak in __print_tlp_header() (Rasmus Villemoes)

PCI device hotplug
- Add missing curly braces in cpci_configure_slot() (Dan Carpenter)

ST Microelectronics SPEAr13xx host bridge driver
- Drop __initdata from spear13xx_pcie_driver (Matwey V. Kornilov)

* tag 'pci-v4.0-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
Revert "sparc/PCI: Clip bridge windows to fit in upstream windows"
PCI: Don't look for ACPI hotplug parameters if ACPI is disabled
PCI: cpcihp: Add missing curly braces in cpci_configure_slot()
PCI/AER: Avoid info leak in __print_tlp_header()
PCI: spear: Drop __initdata from spear13xx_pcie_driver

+12 -19
+1 -4
arch/sparc/kernel/pci.c
··· 639 639 (unsigned long long)r->end, 640 640 (unsigned int)r->flags); 641 641 642 - if (pci_claim_resource(dev, i) == 0) 643 - continue; 644 - 645 - pci_claim_bridge_resource(dev, i); 642 + pci_claim_resource(dev, i); 646 643 } 647 644 } 648 645
+1 -1
drivers/pci/host/pcie-designware.c
··· 342 342 .map = dw_pcie_msi_map, 343 343 }; 344 344 345 - int __init dw_pcie_host_init(struct pcie_port *pp) 345 + int dw_pcie_host_init(struct pcie_port *pp) 346 346 { 347 347 struct device_node *np = pp->dev->of_node; 348 348 struct platform_device *pdev = to_platform_device(pp->dev);
+3 -3
drivers/pci/host/pcie-spear13xx.c
··· 269 269 .host_init = spear13xx_pcie_host_init, 270 270 }; 271 271 272 - static int __init spear13xx_add_pcie_port(struct pcie_port *pp, 272 + static int spear13xx_add_pcie_port(struct pcie_port *pp, 273 273 struct platform_device *pdev) 274 274 { 275 275 struct device *dev = &pdev->dev; ··· 299 299 return 0; 300 300 } 301 301 302 - static int __init spear13xx_pcie_probe(struct platform_device *pdev) 302 + static int spear13xx_pcie_probe(struct platform_device *pdev) 303 303 { 304 304 struct spear13xx_pcie *spear13xx_pcie; 305 305 struct pcie_port *pp; ··· 370 370 }; 371 371 MODULE_DEVICE_TABLE(of, spear13xx_pcie_of_match); 372 372 373 - static struct platform_driver spear13xx_pcie_driver __initdata = { 373 + static struct platform_driver spear13xx_pcie_driver = { 374 374 .probe = spear13xx_pcie_probe, 375 375 .driver = { 376 376 .name = "spear-pcie",
+2 -1
drivers/pci/hotplug/cpci_hotplug_pci.c
··· 286 286 } 287 287 parent = slot->dev->bus; 288 288 289 - list_for_each_entry(dev, &parent->devices, bus_list) 289 + list_for_each_entry(dev, &parent->devices, bus_list) { 290 290 if (PCI_SLOT(dev->devfn) != PCI_SLOT(slot->devfn)) 291 291 continue; 292 292 if (pci_is_bridge(dev)) 293 293 pci_hp_add_bridge(dev); 294 + } 294 295 295 296 296 297 pci_assign_unassigned_bridge_resources(parent->self);
+3
drivers/pci/pci-acpi.c
··· 248 248 acpi_handle handle, phandle; 249 249 struct pci_bus *pbus; 250 250 251 + if (acpi_pci_disabled) 252 + return -ENODEV; 253 + 251 254 handle = NULL; 252 255 for (pbus = dev->bus; pbus; pbus = pbus->parent) { 253 256 handle = acpi_pci_get_bridge_handle(pbus);
+2 -10
drivers/pci/pcie/aer/aerdrv_errprint.c
··· 132 132 static void __print_tlp_header(struct pci_dev *dev, 133 133 struct aer_header_log_regs *t) 134 134 { 135 - unsigned char *tlp = (unsigned char *)&t; 136 - 137 - dev_err(&dev->dev, " TLP Header:" 138 - " %02x%02x%02x%02x %02x%02x%02x%02x" 139 - " %02x%02x%02x%02x %02x%02x%02x%02x\n", 140 - *(tlp + 3), *(tlp + 2), *(tlp + 1), *tlp, 141 - *(tlp + 7), *(tlp + 6), *(tlp + 5), *(tlp + 4), 142 - *(tlp + 11), *(tlp + 10), *(tlp + 9), 143 - *(tlp + 8), *(tlp + 15), *(tlp + 14), 144 - *(tlp + 13), *(tlp + 12)); 135 + dev_err(&dev->dev, " TLP Header: %08x %08x %08x %08x\n", 136 + t->dw0, t->dw1, t->dw2, t->dw3); 145 137 } 146 138 147 139 static void __aer_print_error(struct pci_dev *dev,