)]}'
{
  "commit": "b97ea289cf6aff8d4cbcefe2b707bb9b00a73c73",
  "tree": "efa328fedf08e394912322783660d27c33257610",
  "parents": [
    "c90570d9511d42421c85709b46bffd366185d835"
  ],
  "author": {
    "name": "Yijing Wang",
    "email": "wangyijing@huawei.com",
    "time": "Mon Mar 16 11:18:56 2015 +0800"
  },
  "committer": {
    "name": "Bjorn Helgaas",
    "email": "bhelgaas@google.com",
    "time": "Thu Mar 19 10:17:13 2015 -0500"
  },
  "message": "PCI: Assign resources before drivers claim devices (pci_scan_root_bus())\n\nPreviously, pci_scan_root_bus() created a root PCI bus, enumerated the\ndevices on it, and called pci_bus_add_devices(), which made the devices\navailable for drivers to claim them.\n\nMost callers assigned resources to devices after pci_scan_root_bus()\nreturns, which may be after drivers have claimed the devices.  This is\nincorrect; the PCI core should not change device resources while a driver\nis managing the device.\n\nRemove pci_bus_add_devices() from pci_scan_root_bus() and do it after any\nresource assignment in the callers.\n\nNote that ARM\u0027s pci_common_init_dev() already called pci_bus_add_devices()\nafter pci_scan_root_bus(), so we only need to remove the first call:\n\n  pci_common_init_dev\n    pcibios_init_hw\n      pci_scan_root_bus\n        pci_bus_add_devices        # first call\n    pci_bus_assign_resources\n    pci_bus_add_devices            # second call\n\n[bhelgaas: changelog, drop \"root_bus\" var in alpha common_init_pci(),\nreturn failure earlier in mn10300, add \"return\" in x86 pcibios_scan_root(),\nreturn early if xtensa platform_pcibios_fixup() fails]\nSigned-off-by: Yijing Wang \u003cwangyijing@huawei.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nCC: Richard Henderson \u003crth@twiddle.net\u003e\nCC: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCC: Matt Turner \u003cmattst88@gmail.com\u003e\nCC: David Howells \u003cdhowells@redhat.com\u003e\nCC: Tony Luck \u003ctony.luck@intel.com\u003e\nCC: Michal Simek \u003cmonstr@monstr.eu\u003e\nCC: Ralf Baechle \u003cralf@linux-mips.org\u003e\nCC: Koichi Yasutake \u003cyasutake.koichi@jp.panasonic.com\u003e\nCC: Sebastian Ott \u003csebott@linux.vnet.ibm.com\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Chris Metcalf \u003ccmetcalf@ezchip.com\u003e\nCC: Chris Zankel \u003cchris@zankel.net\u003e\nCC: Max Filippov \u003cjcmvbkbc@gmail.com\u003e\nCC: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "98a1525fa164df0178fd4cb5fc0267129b2844e3",
      "old_mode": 33188,
      "old_path": "arch/alpha/kernel/pci.c",
      "new_id": "82f738e5d54cb85f5b77c21304fd590d1e5bbbc5",
      "new_mode": 33188,
      "new_path": "arch/alpha/kernel/pci.c"
    },
    {
      "type": "modify",
      "old_id": "b073f4d771a53c843709395e69228cca30edac01",
      "old_mode": 33188,
      "old_path": "arch/frv/mb93090-mb00/pci-vdk.c",
      "new_id": "f211839e2cae18f4d71999ec41ad8ed2a8ff1bca",
      "new_mode": 33188,
      "new_path": "arch/frv/mb93090-mb00/pci-vdk.c"
    },
    {
      "type": "modify",
      "old_id": "0b5ce82d203dd5a908d01609b6f7377d2053161d",
      "old_mode": 33188,
      "old_path": "arch/ia64/sn/kernel/io_init.c",
      "new_id": "1be65eb074ece698501600ee62fa8887b4f5c9a3",
      "new_mode": 33188,
      "new_path": "arch/ia64/sn/kernel/io_init.c"
    },
    {
      "type": "modify",
      "old_id": "48528fb81effa07ef5c992c08efba2cad6a75ff0",
      "old_mode": 33188,
      "old_path": "arch/microblaze/pci/pci-common.c",
      "new_id": "ae838ed5fcf2535ca5c047a2837adadc434735cd",
      "new_mode": 33188,
      "new_path": "arch/microblaze/pci/pci-common.c"
    },
    {
      "type": "modify",
      "old_id": "1bf60b12737746d19cfec9c8b0512e6c419a2a5c",
      "old_mode": 33188,
      "old_path": "arch/mips/pci/pci.c",
      "new_id": "9eb54b557c9f9219752e2d066791f150b7b0ee72",
      "new_mode": 33188,
      "new_path": "arch/mips/pci/pci.c"
    },
    {
      "type": "modify",
      "old_id": "613ca1e55b4b7d972843484e8fd9b0fda469b487",
      "old_mode": 33188,
      "old_path": "arch/mn10300/unit-asb2305/pci.c",
      "new_id": "3dfe2d31c67b20971701cac89565af0531dec878",
      "new_mode": 33188,
      "new_path": "arch/mn10300/unit-asb2305/pci.c"
    },
    {
      "type": "modify",
      "old_id": "753a5673195112051667031bfee73921e149eef1",
      "old_mode": 33188,
      "old_path": "arch/s390/pci/pci.c",
      "new_id": "a2a7391c0b9a0a33312a1374841fcf49da5c7dd9",
      "new_mode": 33188,
      "new_path": "arch/s390/pci/pci.c"
    },
    {
      "type": "modify",
      "old_id": "1bc09ee7948f00a678d9564331dcdd2ae9cb7c78",
      "old_mode": 33188,
      "old_path": "arch/sh/drivers/pci/pci.c",
      "new_id": "efc10519916ab684a14bbc5ec8237618d50133e9",
      "new_mode": 33188,
      "new_path": "arch/sh/drivers/pci/pci.c"
    },
    {
      "type": "modify",
      "old_id": "899b7203a4e4a27545b1dc6a41728015dab33e5a",
      "old_mode": 33188,
      "old_path": "arch/sparc/kernel/leon_pci.c",
      "new_id": "297107679fdfc397268498907e76cb3edb65a265",
      "new_mode": 33188,
      "new_path": "arch/sparc/kernel/leon_pci.c"
    },
    {
      "type": "modify",
      "old_id": "325df47f114db5c76333b01c2e5c9705662d4c19",
      "old_mode": 33188,
      "old_path": "arch/tile/kernel/pci.c",
      "new_id": "9475a74cd53ac9ed1711dc92339fc47d2d06796b",
      "new_mode": 33188,
      "new_path": "arch/tile/kernel/pci.c"
    },
    {
      "type": "modify",
      "old_id": "2c95f37ebbed5bf9188e2305a765ee3ed26037a0",
      "old_mode": 33188,
      "old_path": "arch/tile/kernel/pci_gx.c",
      "new_id": "b1df847d0686706e455580293fe692255745282b",
      "new_mode": 33188,
      "new_path": "arch/tile/kernel/pci_gx.c"
    },
    {
      "type": "modify",
      "old_id": "3d2612b68694efd294ca214d478c7777030f4b03",
      "old_mode": 33188,
      "old_path": "arch/x86/pci/common.c",
      "new_id": "95a0ba70376b9062fdf1ceaa800a61338191d8ef",
      "new_mode": 33188,
      "new_path": "arch/x86/pci/common.c"
    },
    {
      "type": "modify",
      "old_id": "5b3403388d7f0b0465d3f1d00bdd2abb36c9410d",
      "old_mode": 33188,
      "old_path": "arch/xtensa/kernel/pci.c",
      "new_id": "b848cc3dc913d8de7dc5181fc140a9f83215e6cf",
      "new_mode": 33188,
      "new_path": "arch/xtensa/kernel/pci.c"
    },
    {
      "type": "modify",
      "old_id": "1ec694a52379ea4c753cc1b397c931bc940bb1cc",
      "old_mode": 33188,
      "old_path": "drivers/pci/host/pci-versatile.c",
      "new_id": "e3a2450db2b8fae24bcaf5adbe7fefd3dae06e6f",
      "new_mode": 33188,
      "new_path": "drivers/pci/host/pci-versatile.c"
    },
    {
      "type": "modify",
      "old_id": "88604f29d1405da65efbda65ff77bb45b864c4df",
      "old_mode": 33188,
      "old_path": "drivers/pci/probe.c",
      "new_id": "8ef0375ea31448e172b215c22c0c74b62f611b39",
      "new_mode": 33188,
      "new_path": "drivers/pci/probe.c"
    }
  ]
}
