)]}'
{
  "log": [
    {
      "commit": "af4c5f985afd8d4cfdf402aaa03677f2cb96e37c",
      "tree": "f324170ae00f023681e55b0522095ab97b8037fa",
      "parents": [
        "57fbf52c86addd8e25d1975fac0d59d982d1f6ec"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Mon May 18 19:02:38 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Jun 11 12:04:19 2009 -0700"
      },
      "message": "PCI: eliminate redundant pci_stop_dev() call from pci_destroy_dev()\n\nWe always call pci_stop_bus_device before calling pci_destroy_dev.\n\nSince pci_stop_bus_device calls pci_stop_dev, there is no need\nfor pci_destroy_dev to repeat the call.\n\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7ae0567fd3f4f51d55c4c638ecc6836347992de2",
      "tree": "e4d95ef4ca0bdd616e4dbe51d3938ef94018d874",
      "parents": [
        "853346e4354c948b50a6fb0002f8af2cf5fbf2ae"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Thu Mar 26 16:49:52 2009 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Mar 26 15:55:18 2009 -0700"
      },
      "message": "PCI: fix kernel oops on bridge removal\n\nFix the following kernel oops problem that happens when removing PCI\nbridge with pciehp loaded. It should also occur with other hotplug\ndriver that is implemented as a bridge\u0027s driver.\n\n[  459.997257] pciehp 0000:2f:04.0:pcie24: unloading service driver pciehp\n[  459.997495] general protection fault: 0000 [#1] SMP\n[  459.997737] last sysfs file: /sys/devices/pci0000:00/0000:00:04.0/0000:2e:00.0/0000:2f:04.0/remove\n[  459.997964] CPU 4\n[  459.998129] Modules linked in: pciehp ipv6 autofs4 hidp rfcomm l2cap bluetooth sunrpc cpufreq_ondemand acpi_cpufreq dm_mirror dm_region_hash dm_log dm_multipath scsi_dh dm_mod sbs sbshc battery ac parport_pc lp parport mptspi mptscsih mptbase scsi_transport_spi e1000e sg sr_mod cdrom button serio_raw i2c_i801 i2c_core shpchp pcspkr ata_piix libata megaraid_sas sd_mod scsi_mod crc_t10dif ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode]\n[  459.998129] Pid: 56, comm: events/4 Not tainted 2.6.29-rc8-kk #1 PRIMERGY\n[  459.998129] RIP: 0010:[\u003cffffffff803bf047\u003e]  [\u003cffffffff803bf047\u003e] pci_slot_release+0x37/0x100\n[  459.998129] RSP: 0018:ffff88083b3bf9e0  EFLAGS: 00010246\n[  459.998129] RAX: ffff88083adc5158 RBX: ffff880836c1bc80 RCX: 6b6b6b6b6b6b6b6b\n[  459.998129] RDX: 0000000000000000 RSI: ffffffff803a77f0 RDI: ffff880836c1bc48\n[  459.998129] RBP: ffff88083b3bfa00 R08: 0000000000000002 R09: 0000000000000000\n[  459.998129] R10: 0000000000000000 R11: 0000000000000000 R12: ffff880836c1bc48\n[  459.998129] R13: ffff880836c1bc20 R14: ffff880836c1bc48 R15: ffff880836d1ec38\n[  459.998129] FS:  0000000000000000(0000) GS:ffff88083ccc3770(0000) knlGS:0000000000000000\n[  459.998129] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n[  459.998129] CR2: 00007f1562f1d558 CR3: 0000000838090000 CR4: 00000000000006e0\n[  459.998129] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[  459.998129] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[  459.998129] Process events/4 (pid: 56, threadinfo ffff88083b3be000, task ffff88083b3b3e40)\n[  459.998129] Stack:\n[  459.998129]  ffff880836c1bc80 ffff880836c1bc48 ffffffff80793320 ffff88083b0d0960\n[  459.998129]  ffff88083b3bfa30 ffffffff803a788a ffff880836c1bc80 ffffffff803a77f0\n[  459.998129]  ffff880836c1bc20 ffff880836d1ec38 ffff88083b3bfa50 ffffffff803a8ce7\n[  459.998129] Call Trace:\n[  459.998129]  [\u003cffffffff803a788a\u003e] kobject_release+0x9a/0x290\n[  459.998129]  [\u003cffffffff803a77f0\u003e] ? kobject_release+0x0/0x290\n[  459.998129]  [\u003cffffffff803a8ce7\u003e] kref_put+0x37/0x80\n[  459.998129]  [\u003cffffffff803a76f7\u003e] kobject_put+0x27/0x60\n[  459.998129]  [\u003cffffffff803bebcc\u003e] ? pci_destroy_slot+0x3c/0xc0\n[  459.998129]  [\u003cffffffff803bebd5\u003e] pci_destroy_slot+0x45/0xc0\n[  459.998129]  [\u003cffffffff803c797d\u003e] pci_hp_deregister+0x13d/0x210\n[  459.998129]  [\u003cffffffffa031141d\u003e] cleanup_slots+0x2d/0x80 [pciehp]\n[  459.998129]  [\u003cffffffffa0311735\u003e] pciehp_remove+0x15/0x30 [pciehp]\n[  459.998129]  [\u003cffffffff803c4c99\u003e] pcie_port_remove_service+0x69/0x90\n[  459.998129]  [\u003cffffffff80441da9\u003e] __device_release_driver+0x59/0x90\n[  459.998129]  [\u003cffffffff80441edb\u003e] device_release_driver+0x2b/0x40\n[  459.998129]  [\u003cffffffff804419d6\u003e] bus_remove_device+0xa6/0x120\n[  459.998129]  [\u003cffffffff8043e46b\u003e] device_del+0x12b/0x190\n[  459.998129]  [\u003cffffffff803c4d90\u003e] ? remove_iter+0x0/0x40\n[  459.998129]  [\u003cffffffff8043e4f6\u003e] device_unregister+0x26/0x70\n[  459.998129]  [\u003cffffffff803c4dbf\u003e] remove_iter+0x2f/0x40\n[  459.998129]  [\u003cffffffff8043ddf3\u003e] device_for_each_child+0x33/0x60\n[  459.998129]  [\u003cffffffff8033ee30\u003e] ? sysfs_schedule_callback_work+0x0/0x50\n[  459.998129]  [\u003cffffffff803c4d30\u003e] pcie_port_device_remove+0x30/0x80\n[  459.998129]  [\u003cffffffff803c55a1\u003e] pcie_portdrv_remove+0x11/0x20\n[  459.998129]  [\u003cffffffff803bfeb2\u003e] pci_device_remove+0x32/0x70\n[  459.998129]  [\u003cffffffff80441da9\u003e] __device_release_driver+0x59/0x90\n[  459.998129]  [\u003cffffffff80441edb\u003e] device_release_driver+0x2b/0x40\n[  459.998129]  [\u003cffffffff804419d6\u003e] bus_remove_device+0xa6/0x120\n[  459.998129]  [\u003cffffffff8043e46b\u003e] device_del+0x12b/0x190\n[  459.998129]  [\u003cffffffff8043e4f6\u003e] device_unregister+0x26/0x70\n[  459.998129]  [\u003cffffffff803ba969\u003e] pci_stop_dev+0x49/0x60\n[  459.998129]  [\u003cffffffff803baab0\u003e] pci_remove_bus_device+0x40/0xc0\n[  459.998129]  [\u003cffffffff803c10d9\u003e] remove_callback+0x29/0x40\n[  459.998129]  [\u003cffffffff8033ee4f\u003e] sysfs_schedule_callback_work+0x1f/0x50\n[  459.998129]  [\u003cffffffff8025769a\u003e] run_workqueue+0x15a/0x230\n[  459.998129]  [\u003cffffffff80257648\u003e] ? run_workqueue+0x108/0x230\n[  459.998129]  [\u003cffffffff8025846f\u003e] worker_thread+0x9f/0x100\n[  459.998129]  [\u003cffffffff8025bce0\u003e] ? autoremove_wake_function+0x0/0x40\n[  459.998129]  [\u003cffffffff802583d0\u003e] ? worker_thread+0x0/0x100\n[  459.998129]  [\u003cffffffff8025b89d\u003e] kthread+0x4d/0x80\n[  459.998129]  [\u003cffffffff8020d4ba\u003e] child_rip+0xa/0x20\n[  459.998129]  [\u003cffffffff8020cebc\u003e] ? restore_args+0x0/0x30\n[  459.998129]  [\u003cffffffff8025b850\u003e] ? kthread+0x0/0x80\n[  459.998129]  [\u003cffffffff8020d4b0\u003e] ? child_rip+0x0/0x20\n[  459.998129] Code: 56 49 89 fe 41 55 4c 8d 6f d8 41 54 53 74 09 f6 05 b8 05 c7 00 08 75 72 49 8b 45 00 48 8b 48 28 eb 05 66 90 48 89 f1 49 8b 45 00 \u003c48\u003e 8b 31 48 83 c0 28 0f 18 0e 48 39 c1 74 1c 8b 41 38 41 0f b6\n[  459.998129] RIP  [\u003cffffffff803bf047\u003e] pci_slot_release+0x37/0x100\n[  459.998129]  RSP \u003cffff88083b3bf9e0\u003e\n[  460.018595] ---[ end trace 5a08d2095374aedc ]---\n\nThe pci_remove_bus_device() removes all buses and devices under the\nbridge, and then removes the bridge. So the remove() callback of the\nhotplug drivers implemented as a bridge\u0027s driver is executed after the\nstruct pci_bus of the bridge\u0027s secondary bus is removed. The remove()\ncallback of those driver unregisters the slot using pci_destroy_slot(),\nand slot\u0027s release callback refers to the the struct pci_bus that was\nalready freed. This is the cause of the kernel oops.\n\nThis patch solves the problem by stopping bus drivers before removing the\nbridge and its child bus and devices.\n\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2b56313448bb8efad3af19f211d988c8352ac04d",
      "tree": "6142ea40139dc49348111b688c349e133a1fe667",
      "parents": [
        "11df1f05514beaf0269484191007dbc8d47e0e6f"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Wed Jan 28 18:27:21 2009 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Mar 19 19:29:26 2009 -0700"
      },
      "message": "PCI: check if a bus is added when removing it\n\nWhen removing a bus, \u0027is_added\u0027 should be checked to make sure the\nbus has been successfully added by pci_bus_add_child() who will sets\n\u0027is_added\u0027.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "11d587429e9cbb40ac20d7ed8126c66da0d7aba5",
      "tree": "bad00f92efe41f10d32c080fe82c950736853103",
      "parents": [
        "50cbfa511a21cac1909b6b4c955fa39d1da81457"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Sep 05 21:45:36 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:54:25 2008 -0700"
      },
      "message": "PCI: fix sparse warning in pci_remove_behind_bridge\n\nGet rid of the second definition of dev which hides the earlier one in\nthe argument list and causes a warning from sparse.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "93ff68a55aa92180a765d6c51c3303f6200167a6",
      "tree": "de921ce10f9cab4ea7a40651a99651b6f1d2b8b9",
      "parents": [
        "5993760f7fc75b77e4701f1e56dc84c0d6cf18d5"
      ],
      "author": {
        "name": "Mike Travis",
        "email": "travis@sgi.com",
        "time": "Sat Sep 06 05:46:42 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Oct 20 10:53:51 2008 -0700"
      },
      "message": "PCI: make CPU list affinity visible\n\nStephen Hemminger wrote:\n\u003e Looks like Mike created cpulistaffinty in sysfs but never completed\n\u003e the job.\n\nThis patch hooks things up correctly, taking care to remove the new file\nwhen the bus is destroyed.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Mike Travis \u003ctravis@sgi.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7d715a6c1ae5785d00fb9a876b5abdfc43abc44b",
      "tree": "58ec6d1969739a590e0c6c976bfebf04c8e9f31e",
      "parents": [
        "657472e9ccd9fccb82b775eb691c4b25b27451da"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Mon Feb 25 09:46:41 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:03 2008 -0700"
      },
      "message": "PCI: add PCI Express ASPM support\n\nPCI Express ASPM defines a protocol for PCI Express components in the D0\nstate to reduce Link power by placing their Links into a low power state\nand instructing the other end of the Link to do likewise. This\ncapability allows hardware-autonomous, dynamic Link power reduction\nbeyond what is achievable by software-only controlled power management.\nHowever, The device should be configured by software appropriately.\nEnabling ASPM will save power, but will introduce device latency.\n\nThis patch adds ASPM support in Linux. It introduces a global policy for\nASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control\nit. The interface can be used as a boot option too. Currently we have\nbelow setting:\n        -default, BIOS default setting\n        -powersave, highest power saving mode, enable all available ASPM\nstate and clock power management\n        -performance, highest performance, disable ASPM and clock power\nmanagement\nBy default, the \u0027default\u0027 policy is used currently.\n\nIn my test, power difference between powersave mode and performance mode\nis about 1.3w in a system with 3 PCIE links.\n\nNote: some devices might not work well with aspm, either because chipset\nissue or device issue. The patch provide API (pci_disable_link_state),\ndriver can disable ASPM for specific device.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5ff580c10ec06fd296bd23d4570c1a95194094a0",
      "tree": "fc00b4a107824519ae452c264674e5b8c2768d8e",
      "parents": [
        "c71c68a04ba7672b9373ef04173114c211bb9f88"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 14 14:56:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:02 2008 -0700"
      },
      "message": "PCI: remove global list of PCI devices\n\nThis patch finally removes the global list of PCI devices.  We are\nrelying entirely on the list held in the driver core now, and do not\nneed a separate \"shadow\" list as no one uses it.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8a1bc9013a03d41a0e36ee413bb6f97281b30bd1",
      "tree": "83c01850e1779e37be1d9db0f87436b09b89f3fe",
      "parents": [
        "70308923d317f2ad4973c30d90bb48ae38761317"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 14 14:56:56 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Apr 20 21:47:00 2008 -0700"
      },
      "message": "PCI: add is_added flag to struct pci_dev\n\nThis lets us check if the device is really added to the driver core or\nnot, which is what we need when walking some of the bus lists.  The flag\nis there in anticipation of getting rid of the other PCI device list,\nwhich is what we used to check in this situation.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "cc3a1378b4dd45d3e78dd4aeb10641b06a87d614",
      "tree": "4eb9dc8f7cefc44926f886c467992e769b873c69",
      "parents": [
        "ae9458d6a0956aa21cb49e1251e35a8d4dacbe6e"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Feb 02 11:32:01 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Feb 02 11:32:01 2008 -0800"
      },
      "message": "Revert \"PCI: PCIE ASPM support\"\n\nThis reverts commit 6c723d5bd89f03fc3ef627d50f89ade054d2ee3b.\n\nIt caused build errors on non-x86 platforms, config file confusion, and\neven some boot errors on some x86-64 boxes.  All around, not quite ready\nfor prime-time :(\n\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "fd7d1ced29e5beb88c9068801da7a362606d8273",
      "tree": "40bfac045b8f7e6b94da04f76ed402395edc45cf",
      "parents": [
        "05cca6e52a5a75ffd491fb50a9f636075b2d77ba"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 22 22:47:54 2007 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:31 2008 -0800"
      },
      "message": "PCI: make pci_bus a struct device\n\nThis moves the pci_bus class device to be a real struct device and at\nthe same time, place it in the device tree in the correct location.\n\nNote, the old \"bridge\" symlink is now gone, but this was a non-standard\nlink and no userspace program used it.  If you need to determine the\ndevice that the bus is on, follow the standard device symlink, or walk\nup the device tree.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6c723d5bd89f03fc3ef627d50f89ade054d2ee3b",
      "tree": "45fcf8a380b48ddf686456ff65a2234c23c05504",
      "parents": [
        "5c796ae7a7ebe56967ed9b9963d7c16d733635ff"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Thu Jan 24 10:21:57 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Feb 01 15:04:30 2008 -0800"
      },
      "message": "PCI: PCIE ASPM support\n\nPCI Express ASPM defines a protocol for PCI Express components in the D0\nstate to reduce Link power by placing their Links into a low power state\nand instructing the other end of the Link to do likewise. This\ncapability allows hardware-autonomous, dynamic Link power reduction\nbeyond what is achievable by software-only controlled power management.\nHowever, The device should be configured by software appropriately.\nEnabling ASPM will save power, but will introduce device latency.\n\nThis patch adds ASPM support in Linux. It introduces a global policy for\nASPM, a sysfs file /sys/module/pcie_aspm/parameters/policy can control\nit. The interface can be used as a boot option too. Currently we have\nbelow setting:\n        -default, BIOS default setting\n        -powersave, highest power saving mode, enable all available ASPM\nstate\nand clock power management\n        -performance, highest performance, disable ASPM and clock power\nmanagement\nBy default, the \u0027default\u0027 policy is used currently.\n\nIn my test, power difference between powersave mode and performance mode\nis about 1.3w in a system with 3 PCIE links.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "24f8aa9b464b73e0553f092b747770940ee0ea54",
      "tree": "e42b0d8d8b57c17da943a5c1cd8748dc8a04880b",
      "parents": [
        "9b1d19ee86746618a8b43d2aaef8319c01af1514"
      ],
      "author": {
        "name": "Satoru Takeuchi",
        "email": "takeuchi_satoru@jp.fujitsu.com",
        "time": "Tue Sep 12 10:16:36 2006 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 26 17:43:54 2006 -0700"
      },
      "message": "PCI: add pci_stop_bus_device\n\nThis patch adds pci_stop_bus_device() which stops a PCI device (detach\nthe driver, remove from the global list and so on) and any children.\nThis is needed for ACPI based PCI-to-PCI bridge hot-remove, and it will\nbe also needed for ACPI based PCI root bridge hot-remove.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: MUNEDA Takahiro \u003cmuneda.takahiro@jp.fujitsu.com\u003e\nSigned-off-by: Satoru Takeuchi \u003ctakeuchi_satoru@jp.fujitsu.com\u003e\nSigned-off-by: Kristen Carlson Accardi \u003ckristen.c.accardi@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "d71374dafbba7ec3f67371d3b7e9f6310a588808",
      "tree": "116dcd65fde3701d10fea954cdbd5bb063182b2c",
      "parents": [
        "733a7fe12248072e1bca729c88a26298666f1956"
      ],
      "author": {
        "name": "Zhang Yanmin",
        "email": "yanmin.zhang@intel.com",
        "time": "Fri Jun 02 12:35:43 2006 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jun 21 12:00:01 2006 -0700"
      },
      "message": "[PATCH] PCI: fix race with pci_walk_bus and pci_destroy_dev\n\npci_walk_bus has a race with pci_destroy_dev. When cb is called\nin pci_walk_bus, pci_destroy_dev might unlink the dev pointed by next.\nLater on in the next loop, pointer next becomes NULL and cause\nkernel panic.\n\nBelow patch against 2.6.17-rc4 fixes it by changing pci_bus_lock (spin_lock)\nto pci_bus_sem (rw_semaphore).\n\nSigned-off-by: Zhang Yanmin \u003cyanmin.zhang@intel.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "54c762fe62d9ff0982f38e80cbec9c59104311e9",
      "tree": "524fa5aa095973b8496537d39c70aa8c0d47b243",
      "parents": [
        "c64b5eead93f9d3a8ca0e9ca0ffba0b99dc565b9"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Dec 22 01:08:52 2005 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jan 09 12:13:20 2006 -0800"
      },
      "message": "[PATCH] PCI: drivers/pci: some cleanups\n\nThis patch contains the following cleanups:\n- hotplug/pciehp_core.c: make the needlessly global hpdriver_context\n                         static\n- #if 0 the following unused functions:\n  - pci.c: pci_bus_max_busnr()\n  - pci.c: pci_max_busnr()\n  - proc.c: pci_proc_attach_bus()\n  - remove.c: pci_remove_device_safe\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "091ca9f06382e46d77213c35a97f7d0be9e350d2",
      "tree": "a7a63e88279b03c2ba47e8c62c1a40192f3d93b7",
      "parents": [
        "6ef6f0e33c4645fc8d23201ad5a6a289b4303cbb"
      ],
      "author": {
        "name": "Rajesh Shah",
        "email": "rajesh.shah@intel.com",
        "time": "Thu Apr 28 00:25:49 2005 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 27 21:52:41 2005 -0700"
      },
      "message": "[PATCH] acpi bridge hotadd: Make the PCI remove routines safe for failed hot-plug\n\nWhen a root bridge hierarchy is hot-plugged, resource requirements for the new\ndevices may be greater than what the root bridge is decoding.  In this case,\nwe want to remove devices that did not get needed resources.  These devices\nhave been scanned into bus specific lists but not yet added to the global\ndevice list.  Make sure the pci remove functions can handle this case.\n\nSigned-off-by: Rajesh Shah \u003crajesh.shah@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
