)]}'
{
  "log": [
    {
      "commit": "d89987193631bf23d1735c55d13a06d4b8d0e9bd",
      "tree": "97305df555bbfe4fddcae33f85925bec3705ad0f",
      "parents": [
        "6a958d5b28e4a180458e0d319d2e4bb5c4b7da3e"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Sat Mar 07 19:35:47 2009 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:42:35 2009 -0400"
      },
      "message": "PCIe: portdrv: call pci_disable_device during remove\n\nThe PCIe port driver calls pci_enable_device() during probe but\nnever calls pci_disable_device() during remove.\n\nCc: stable@kernel.org\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "6a958d5b28e4a180458e0d319d2e4bb5c4b7da3e",
      "tree": "adcd44e29bc2efd893c757b49eb1958be81bf543",
      "parents": [
        "7726c3308a92b4a4c3bd059059498fca0e6f8e48"
      ],
      "author": {
        "name": "Prakash Punnoor",
        "email": "prakash@punnoor.de",
        "time": "Fri Mar 06 10:10:35 2009 +0100"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:42:29 2009 -0400"
      },
      "message": "pci: Fix typo in message while disabling HT MSI mapping\n\n\"Enabling\" should read \"Disabling\"\n\nSigned-off-by: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "7726c3308a92b4a4c3bd059059498fca0e6f8e48",
      "tree": "38616e1b5ec9eb52af5d869352ad1e03b8cfc806",
      "parents": [
        "3f3b902ed8147c42a4a9764014c758e6b3f42f51"
      ],
      "author": {
        "name": "Prakash Punnoor",
        "email": "prakash@punnoor.de",
        "time": "Fri Mar 06 00:45:12 2009 +0100"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:41:57 2009 -0400"
      },
      "message": "pci: don\u0027t disable too many HT MSI mapping\n\nPrakash\u0027s system needs MSI disabled on some bridges, but not all.\nThis seems to be the minimal fix for 2.6.29, but should be replaced\nduring 2.6.30.\n\nSigned-off-by: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "3f3b902ed8147c42a4a9764014c758e6b3f42f51",
      "tree": "15adec632617b9e8844a2a73a087ca6ecf33b1a7",
      "parents": [
        "cb4cb4ac7338c28b047760be187355ed9c783e72"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Fri Mar 06 14:39:14 2009 +1100"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:10:02 2009 -0400"
      },
      "message": "powerpc/pseries: The RPA PCI hotplug driver depends on EEH\n\nThe RPA PCI hotplug driver calls EEH routines, so should depend on\nEEH. Also PPC_PSERIES implies PPC64, so remove that.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "cb4cb4ac7338c28b047760be187355ed9c783e72",
      "tree": "f6cacbf06c400498c05bb4072f61e045aac0204e",
      "parents": [
        "649426efcfbc67a8b033497151816cbac9fd0cfa"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Thu Mar 05 19:28:40 2009 -0700"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:09:51 2009 -0400"
      },
      "message": "PCIe: AER: during disable, check subordinate before walking\n\nCommit 47a8b0cc (Enable PCIe AER only after checking firmware\nsupport) wants to walk the PCI bus in the remove path to disable\nAER, and calls pci_walk_bus for downstream bridges.\n\nUnfortunately, in the remove path, we remove devices and bridges\nin a depth-first manner, starting with the furthest downstream\nbridge and working our way backwards.\n\nThe furthest downstream bridges will not have a dev-\u003esubordinate,\nand we hit a NULL deref in pci_walk_bus.\n\nCheck for dev-\u003esubordinate first before attempting to walk the\nPCI hierarchy below us.\n\nAcked-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "649426efcfbc67a8b033497151816cbac9fd0cfa",
      "tree": "ee73b86fa404171dbddba24751944c1557d1b280",
      "parents": [
        "16b71fdf97599f1b1b7f38418ee9922d9f117396"
      ],
      "author": {
        "name": "Alexander Duyck",
        "email": "alexander.h.duyck@intel.com",
        "time": "Thu Mar 05 13:57:28 2009 -0500"
      },
      "committer": {
        "name": "Matthew Wilcox",
        "email": "willy@linux.intel.com",
        "time": "Thu Mar 12 15:09:41 2009 -0400"
      },
      "message": "PCI: Add PCI quirk to disable L0s ASPM state for 82575 and 82598\n\nThis patch is intended to disable L0s ASPM link state for 82598 (ixgbe)\nparts due to the fact that it is possible to corrupt TX data when coming\nback out of L0s on some systems.  The workaround had been added for 82575\n(igb) previously, but did not use the ASPM api.  This quirk uses the ASPM\napi to prevent the ASPM subsystem from re-enabling the L0s state.\n\nInstead of adding the fix in igb to the ixgbe driver as well it was\ndecided to move it into a pci quirk.  It is necessary to move the fix out\nof the driver and into a pci quirk in order to prevent the issue from\noccuring prior to driver load to handle the possibility of the device being\npassed to a VM via direct assignment.\n\nSigned-off-by: Alexander Duyck \u003calexander.h.duyck@intel.com\u003e\nSigned-off-by: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nCC: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\n"
    },
    {
      "commit": "4bdc1b96504f5f562b129afd48ca03d79aeb1fd9",
      "tree": "85a16c0e7488d9d3a94bc1574b732ceb0cdb92d7",
      "parents": [
        "64e71303e44f3697e4568147caa966de74bdb4fb",
        "bbe194433baeadc953f49e3795b41ffffc5486dd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:43:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 26 14:43:42 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: AMD 813x B2 devices do not need boot interrupt quirk\n  PCI: Enable PCIe AER only after checking firmware support\n  PCI: pciehp: Handle interrupts that happen during initialization.\n  PCI: don\u0027t enable too many HT MSI mappings\n  PCI: add some sysfs ABI docs\n  PCI quirk: enable MSI on 8132\n"
    },
    {
      "commit": "bbe194433baeadc953f49e3795b41ffffc5486dd",
      "tree": "848d2146360de966b99bcd405fd62a1e2f4c06d3",
      "parents": [
        "1f9f13c8d59c1d8da1a602b71d1ab96d1d37d69e"
      ],
      "author": {
        "name": "Stefan Assmann",
        "email": "sassmann@novell.com",
        "time": "Thu Feb 26 10:46:48 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Thu Feb 26 14:08:09 2009 -0800"
      },
      "message": "PCI: AMD 813x B2 devices do not need boot interrupt quirk\n\nTurns out that the new AMD 813x devices do not need the\nquirk_disable_amd_813x_boot_interrupt quirk to be run on them.  If it\nis, no interrupts are seen on the PCI-X adapter.\n\nFrom: Stefan Assmann \u003csassmann@novell.com\u003e\nReported-by: Jamie Wellnitz \u003cJamie.Wellnitz@emulex.com\u003e\nTested-by: Jamie Wellnitz \u003cJamie.Wellnitz@emulex.com\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "60042600c57be5737cd9d6869e7144f7fe786274",
      "tree": "8b789dd736a98e3671be6e7c405c4800625fb30d",
      "parents": [
        "6aa03ab06978e97b3e0720f83280d7841051916b",
        "084eb960e81505680a9963665722d1bfd94af6a7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 25 09:31:21 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/iommu-2.6\n\n* git://git.infradead.org/iommu-2.6:\n  intel-iommu: fix endless \"Unknown DMAR structure type\" loop\n  VT-d: handle Invalidation Queue Error to avoid system hang\n  intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n"
    },
    {
      "commit": "1f9f13c8d59c1d8da1a602b71d1ab96d1d37d69e",
      "tree": "ae964f6880e62dd7b233d88933b086b843ff0bdd",
      "parents": [
        "dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Fri Feb 20 16:04:59 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:47:46 2009 -0800"
      },
      "message": "PCI: Enable PCIe AER only after checking firmware support\n\nThe PCIe port driver currently sets the PCIe AER error reporting bits for\nany root or switch port without first checking to see if firmware will grant\ncontrol. This patch moves setting these bits to the AER service driver\naer_enable_port routine.  The bits are then set for the root port and any\ndownstream switch ports after the check for firmware support (aer_osc_setup)\nis made. The patch also unsets the bits in a similar fashion when the AER\nservice driver is unloaded.\n\nReviewed-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "dbc7e1e567ef8cfc4b792ef6acb51d4ceb15746a",
      "tree": "d1035d012fbd9857888f463e6f418714420e72dd",
      "parents": [
        "1dec6b054dd1fc780e18b815068bf5677409eb2d"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Jan 28 19:31:18 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:36:56 2009 -0800"
      },
      "message": "PCI: pciehp: Handle interrupts that happen during initialization.\n\nMove the enabling of interrupts after all of the data structures\nare setup so that we can safely run the interrupt handler as\nsoon as it is registered.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nTested-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "1dec6b054dd1fc780e18b815068bf5677409eb2d",
      "tree": "ce73d3c8fb909c1ccc4bf3a9c75df2fc883b93e1",
      "parents": [
        "d22157b3d7a24d953ef5cce4515436be65b2e121"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Mon Feb 23 11:51:59 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@hobbes.lan",
        "time": "Tue Feb 24 09:34:31 2009 -0800"
      },
      "message": "PCI: don\u0027t enable too many HT MSI mappings\n\nPrakash reported that his c51-mcp51 ondie sound card doesn\u0027t work with\nMSI.  But if he hacks out the HT-MSI quirk, MSI works fine.\n\nSo this patch reworks the nv_msi_ht_cap_quirk().  It will now only\nenable ht_msi on own its root device, avoiding enabling it on devices\nfollowing that root dev.\n\nReported-by: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nTested-by: Prakash Punnoor \u003cprakash@punnoor.de\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@hobbes.lan\u003e\n"
    },
    {
      "commit": "e0ae4f5503235ba4449ffb5bcb4189edcef4d584",
      "tree": "d63c7ac47bc8ebcba4ddff97b37267f5fd7068ba",
      "parents": [
        "a08f6e04d74478d91f34a0484e69e89870adb33d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Tue Feb 17 20:40:09 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 18 10:59:46 2009 -0800"
      },
      "message": "PCI quirk: enable MSI on 8132\n\nDavid reported that LSI SAS doesn\u0027t work with MSI.  It turns out that\nhis BIOS doesn\u0027t enable it, but the HT MSI 8132 does support HT MSI.\nAdd quirk to enable it\n\nCc: stable@kernel.org\nReported-by: David Lang \u003cdavid@lang.hm\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8ce9a75a307e142a8871c649627555e0e4a1eefb",
      "tree": "ba4ef31238311bd1089507b7a27c6802488fc9db",
      "parents": [
        "b30b77493039b7b95b4d569a66af425b02651edd",
        "9af88143b277f52fc6ce0d69137f435c73c39c1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:26:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:26:35 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  iommu: fix Intel IOMMU write-buffer flushing\n  futex: fix reference leak\n\nTrivial conflicts fixed manually in drivers/pci/intel-iommu.c\n"
    },
    {
      "commit": "c951aa62d59210636cc63a569bcf3331be7f5b15",
      "tree": "151cde34d789db9fd8cf224603edff635997561a",
      "parents": [
        "23beafbe3abd3f622931e83ef4e6b17642cf408e",
        "a08f6e04d74478d91f34a0484e69e89870adb33d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:23:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:23:35 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: Documentation: fix minor PCIe HOWTO thinko\n  PCI: fix missing kernel-doc and typos\n  PCI: fix struct pci_platform_pm_ops kernel-doc\n  PCI: fix rom.c kernel-doc warning\n  PCI/MSI: fix msi_mask() shift fix\n"
    },
    {
      "commit": "ca77fde8e62cecb2c0769052228d15b901367af8",
      "tree": "fc237837eebc41da62ac67458e19e400ac4006b5",
      "parents": [
        "1a88b5364b535edaa321d70a566e358390ff0872"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Feb 13 23:18:03 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:02:57 2009 -0800"
      },
      "message": "Fix Intel IOMMU write-buffer flushing\n\nThis is the cause of the DMA faults and disk corruption that people have\nbeen seeing. Some chipsets neglect to report the RWBF \"capability\" --\nthe flag which says that we need to flush the chipset write-buffer when\nchanging the DMA page tables, to ensure that the change is visible to\nthe IOMMU.\n\nOverride that bit on the affected chipsets, and everything is happy\nagain.\n\nThanks to Chris and Bhavesh and others for helping to debug.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nTested-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nReviewed-by: Bhavesh Davda \u003cbhavesh@vmware.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9af88143b277f52fc6ce0d69137f435c73c39c1a",
      "tree": "c382fdc5c8a1aa2860c03e52ea9341bb30207a18",
      "parents": [
        "2fff78c784ed97a8e5aa225ef5228f0a6d862d82"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Fri Feb 13 23:18:03 2009 +0000"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Feb 14 22:47:09 2009 +0100"
      },
      "message": "iommu: fix Intel IOMMU write-buffer flushing\n\nThis is the cause of the DMA faults and disk corruption that people have\nbeen seeing. Some chipsets neglect to report the RWBF \"capability\" --\nthe flag which says that we need to flush the chipset write-buffer when\nchanging the DMA page tables, to ensure that the change is visible to\nthe IOMMU.\n\nOverride that bit on the affected chipsets, and everything is happy\nagain.\n\nThanks to Chris and Bhavesh and others for helping to debug.\n\nShould resolve:\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d479996\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d12578\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nTested-and-acked-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nReviewed-by: Bhavesh Davda \u003cbhavesh@vmware.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "084eb960e81505680a9963665722d1bfd94af6a7",
      "tree": "cfb6ed5b4449b4ae22b941529ece53ce0c705217",
      "parents": [
        "704126ad81b8cb7d3d70adb9ecb143f4d3fb38af"
      ],
      "author": {
        "name": "Tony Battersby",
        "email": "tonyb@cybernetics.com",
        "time": "Wed Feb 11 13:24:19 2009 -0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Sat Feb 14 08:33:34 2009 +0000"
      },
      "message": "intel-iommu: fix endless \"Unknown DMAR structure type\" loop\n\nI have a SuperMicro C2SBX motherboard with BIOS revision 1.0b.  With vt-d\nenabled in the BIOS, Linux gets into an endless loop printing\n\"DMAR:Unknown DMAR structure type\" when booting.  Here is the DMAR ACPI\ntable:\n\nDMAR @ 0x7fe86dec\n  0000: 44 4d 41 52 98 00 00 00 01 6f 49 6e 74 65 6c 20  DMAR.....oIntel\n  0010: 4f 45 4d 44 4d 41 52 20 00 00 04 06 4c 4f 48 52  OEMDMAR ....LOHR\n  0020: 01 00 00 00 23 00 00 00 00 00 00 00 00 00 00 00  ....#...........\n  0030: 01 00 58 00 00 00 00 00 00 a0 e8 7f 00 00 00 00  ..X.............\n  0040: ff ff ef 7f 00 00 00 00 01 08 00 00 00 00 1d 00  ................\n  0050: 01 08 00 00 00 00 1d 01 01 08 00 00 00 00 1d 02  ................\n  0060: 01 08 00 00 00 00 1d 07 01 08 00 00 00 00 1a 00  ................\n  0070: 01 08 00 00 00 00 1a 01 01 08 00 00 00 00 1a 02  ................\n  0080: 01 08 00 00 00 00 1a 07 01 08 00 00 00 00 1a 07  ................\n  0090: c0 00 68 00 04 10 66 60                          ..h...f`\n\nHere are the messages printed by the kernel:\n\nDMAR:Host address width 36\nDMAR:RMRR base: 0x000000007fe8a000 end: 0x000000007fefffff\nDMAR:Unknown DMAR structure type\nDMAR:Unknown DMAR structure type\nDMAR:Unknown DMAR structure type\n...\n\nAlthough I not very familiar with ACPI, to me it looks like struct\nacpi_dmar_header::length \u003d\u003d 0x0058 is incorrect, causing\nparse_dmar_table() to look at an invalid offset on the next loop.  This\noffset happens to have struct acpi_dmar_header::length \u003d\u003d 0x0000, which\nprevents the loop from ever terminating.  This patch checks for this\ncondition and bails out instead of looping forever.\n\nSigned-off-by: Tony Battersby \u003ctonyb@cybernetics.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "f5ddcac435b6c6133a9c137c345abef53b93cf55",
      "tree": "c7bd3ec51c1830b245486502fcea3cfe0cd3847a",
      "parents": [
        "b33bfdef24565fe54da91adf3cd4eea13488d7fc"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 09 17:03:20 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 13 12:03:08 2009 -0800"
      },
      "message": "PCI: fix missing kernel-doc and typos\n\nFix pci kernel-doc parameter missing notation, correct\nfunction name, and fix typo:\n\nWarning(linux-2.6.28-git10//drivers/pci/pci.c:1511): No description found for parameter \u0027exclusive\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b33bfdef24565fe54da91adf3cd4eea13488d7fc",
      "tree": "39e8ecff39aae8a2d2995c04f94bcc30c969fa7c",
      "parents": [
        "4cc59c721cba27a4644e29103afac0f91af8da3c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Jan 09 17:04:26 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 13 12:02:47 2009 -0800"
      },
      "message": "PCI: fix struct pci_platform_pm_ops kernel-doc\n\nFix struct pci_platform_pm_ops kernel-doc notation.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4cc59c721cba27a4644e29103afac0f91af8da3c",
      "tree": "90f04da884d3e14f9317a1a80711b2bc5d39a3b1",
      "parents": [
        "0b49ec37a20bc7eb7178105aadaa8d1ecba825f8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Mon Feb 09 09:31:20 2009 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 13 12:01:56 2009 -0800"
      },
      "message": "PCI: fix rom.c kernel-doc warning\n\nFix PCI kernel-doc warning:\n\nWarning(linux-2.6.29-rc4-git1/drivers/pci/rom.c:67): No description found for parameter \u0027pdev\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0b49ec37a20bc7eb7178105aadaa8d1ecba825f8",
      "tree": "4558a778c20048bd519b444a1d8381087592397f",
      "parents": [
        "37bed90094fdb1eea6e4afec6a200d4e60143e55"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "matthew@wil.cx",
        "time": "Sun Feb 08 20:27:47 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 13 11:59:03 2009 -0800"
      },
      "message": "PCI/MSI: fix msi_mask() shift fix\n\nHidetoshi Seto points out that commit\nbffac3c593eba1f9da3efd0199e49ea6558a40ce has wrong values in the array.\nRather than correct the array, we can just use a bounds check and\nperform the calculation specified in the comment.  As a bonus, this will\nnot run off the end of the array if the device specifies an illegal\nvalue in the MSI capability.\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "9ce04f9238cafcfd09a502f2bc8c13b5f44ec590",
      "tree": "f55b7c0ef48ea5b3bbd2971036ba54b666e8c4ce",
      "parents": [
        "b3f2caaaa82440af06b39c2c92e4fa8122d75465",
        "06eb23b1ba39c61ee5d5faeb42a097635693e370"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:23:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 11 08:23:22 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  ptrace, x86: fix the usage of ptrace_fork()\n  i8327: fix outb() parameter order\n  x86: fix math_emu register frame access\n  x86: math_emu info cleanup\n  x86: include correct %gs in a.out core dump\n  x86, vmi: put a missing paravirt_release_pmd in pgd_dtor\n  x86: find nr_irqs_gsi with mp_ioapic_routing\n  x86: add clflush before monitor for Intel 7400 series\n  x86: disable intel_iommu support by default\n  x86: don\u0027t apply __supported_pte_mask to non-present ptes\n  x86: fix grammar in user-visible BIOS warning\n  x86/Kconfig.cpu: make Kconfig help readable in the console\n  x86, 64-bit: print DMI info in the oops trace\n"
    },
    {
      "commit": "704126ad81b8cb7d3d70adb9ecb143f4d3fb38af",
      "tree": "e73c4d595799661757b7505cd67833addef0635e",
      "parents": [
        "43f7392ba9e2585bf34f21399b1ed78692b5d437"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sun Jan 04 16:28:52 2009 +0800"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Feb 09 11:03:17 2009 +0000"
      },
      "message": "VT-d: handle Invalidation Queue Error to avoid system hang\n\nWhen hardware detects any error with a descriptor from the invalidation\nqueue, it stops fetching new descriptors from the queue until software\nclears the Invalidation Queue Error bit in the Fault Status register.\nFollowing fix handles the IQE so the kernel won\u0027t be trapped in an\ninfinite loop.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "43f7392ba9e2585bf34f21399b1ed78692b5d437",
      "tree": "c39a18e7bd3185bdfae392b8074fff75a90f39eb",
      "parents": [
        "8e4921515c1a379539607eb443d51c30f4f7f338"
      ],
      "author": {
        "name": "Joerg Roedel",
        "email": "joerg.roedel@amd.com",
        "time": "Sat Jan 03 23:56:27 2009 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Mon Feb 09 10:00:53 2009 +0000"
      },
      "message": "intel-iommu: fix build error with INTR_REMAP\u003dy and DMAR\u003dn\n\nThis fix should be safe since iommu-\u003eagaw is only used in intel-iommu.c.\nAnd this file is only compiled with DMAR\u003dy.\n\nSigned-off-by: Joerg Roedel \u003cjoerg.roedel@amd.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "0cd5c3c80a0ebd68c08312fa7d8c13149cc61c4c",
      "tree": "4dc6093ee08e668a182b38bd13cd85436555c4b6",
      "parents": [
        "b534816b552d35bbd3c60702139ed5c7da2f55c2"
      ],
      "author": {
        "name": "Kyle McMartin",
        "email": "kyle@redhat.com",
        "time": "Wed Feb 04 14:29:19 2009 -0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 16:48:38 2009 +0100"
      },
      "message": "x86: disable intel_iommu support by default\n\nDue to recurring issues with DMAR support on certain platforms.\nThere\u0027s a number of filesystem corruption incidents reported:\n\n  https://bugzilla.redhat.com/show_bug.cgi?id\u003d479996\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d12578\n\nProvide a Kconfig option to change whether it is enabled by\ndefault.\n\nIf disabled, it can still be reenabled by passing intel_iommu\u003don to the\nkernel. Keep the .config option off by default.\n\nSigned-off-by: Kyle McMartin \u003ckyle@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-By: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "5294e256717923f4a3297bb8b802f5e0625763f3",
      "tree": "897947ba605ab479413f7b382f3382a2a9a50a7f",
      "parents": [
        "49c968111aee4a463d3247937b63efa63a65f378"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 02:09:07 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:22:35 2009 -0800"
      },
      "message": "PCI PM: make the PM core more careful with drivers using the new PM framework\n\nCurrently, the PM core always attempts to manage devices with drivers\nthat use the new PM framework.  In particular, it attempts to disable\nthe devices (which is unnecessary), to save their state (which may be\nundesirable if the driver has done that already) and to put them into\nlow power states (again, this may be undesirable if the driver has\nalready put the device into a low power state).  That need not be\nthe right thing to do, so make the core be more careful in this\nrespect.\n\nGenerally, there are the following categories of devices to consider:\n* bridge devices without drivers\n* non-bridge devices without drivers\n* bridge devices with drivers\n* non-bridge devices with drivers\nand each of them should be handled differently.\n\nFor bridge devices without drivers the PCI PM core will save their\nstate on suspend and restore it (early) during resume, after putting\nthem into D0 if necessary.  It will not attempt to do anything else\nto these devices.\n\nFor non-bridge devices without drivers the PCI PM core will disable\nthem and save their state on suspend.  During resume, it will put\nthem into D0, if necessary, restore their state (early) and reenable\nthem.\n\nFor bridge devices with drivers the PCI PM core will only save\ntheir state on suspend if the driver hasn\u0027t done that already.\nStill, the core will restore their state (early) during resume,\nafter putting them into D0, if necessary.\n\nFor non-bridge devices with drivers the PCI PM core will only save\ntheir state on suspend if the driver hasn\u0027t done that already.  Also,\nif the state of the device hasn\u0027t been saved by the driver, the core\nwill attempt to put the device into a low power state.  During\nresume the core will restore the state of the device (early), after\nputting it into D0, if necessary.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "49c968111aee4a463d3247937b63efa63a65f378",
      "tree": "45102dd69858263623dae0db56f67a09a7b15c5c",
      "parents": [
        "cbbc2f6b0d438f80831c20124137ea92f0e5149b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 02:02:15 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:22:28 2009 -0800"
      },
      "message": "PCI PM: Read power state from device after trying to change it on resume\n\npci_restore_standard_config() unconditionally changes current_state\nto PCI_D0 after attempting to change the device\u0027s power state, but\nit should rather read the actual current power state from the\ndevice.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "cbbc2f6b0d438f80831c20124137ea92f0e5149b",
      "tree": "d6742d56e3df1355a39df1c481430211d59f67f1",
      "parents": [
        "27be54a65c89c4b4aa9b25fc6fba31ffd01a08ca"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 02:01:15 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:21:26 2009 -0800"
      },
      "message": "PCI PM: Do not disable and enable bridges during suspend-resume\n\nIt is a mistake to disable and enable PCI bridges and PCI Express\nports during suspend-resume, at least at the time when it is\ncurrently done.  Disabling them may lead to problems with accessing\ndevices behind them and they should be automatically enabled when\ntheir standard config spaces are restored.  Fix this by not attempting\nto disable bridges during suspend and enable them during resume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "27be54a65c89c4b4aa9b25fc6fba31ffd01a08ca",
      "tree": "09f8eea5c7f32ff9c173ea2d2ae8e2b27f6e5b49",
      "parents": [
        "99dadce8756bf08f5f8baf749533d044f6b3ff25"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 02:00:11 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:21:19 2009 -0800"
      },
      "message": "PCI: PCIe portdrv: Simplify suspend and resume\n\nSimplify suspend and resume of the PCI Express port driver.  It no\nlonger needs to save and restore the standard configuration space of the\ndevice; this is now done by the PCI PM core layer.\n\nThis patch is reported to fix the regression tracked as\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12598\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Parag Warudkar \u003cparag.lkml@gmail.com\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "99dadce8756bf08f5f8baf749533d044f6b3ff25",
      "tree": "7593c043681c463382fafb22737e4f4a7f52f00b",
      "parents": [
        "144a76bc885ef4852601c66595326e59f12877f8"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 01:59:09 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:21:08 2009 -0800"
      },
      "message": "PCI PM: Fix saving of device state in pci_legacy_suspend\n\nMake pci_legacy_suspend() save the state of the device if it is\nin PCI_UNKNOWN after its suspend callback has run and warn only if\nthe power state of the device has been changed by its suspend\ncallback.\n\nAlso, use WARN_ONCE(), which is more useful, in pci_legacy_suspend(),\nso that the name of the offending function is printed.\n\nAdditionally, remove the unnecessary line of code setting\npci_dev-\u003estate_saved.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "144a76bc885ef4852601c66595326e59f12877f8",
      "tree": "87492fce6e91304467c7e2c9407b6795a80ba983",
      "parents": [
        "ddb7c9d29fac34626aef2af9f19787a888e4ca9c"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 01:57:22 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:20:39 2009 -0800"
      },
      "message": "PCI PM: Check if the state has been saved before trying to restore it\n\nCheck if the standard configuration registers of a PCI device have\nbeen saved during suspend before trying to restore them during\nresume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-By: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ddb7c9d29fac34626aef2af9f19787a888e4ca9c",
      "tree": "9f56f777604d4ccc5395f93972e7a0d0618ba249",
      "parents": [
        "97c44836cdec1ea713a15d84098a1a908157e68f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 04 01:56:14 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 17:20:09 2009 -0800"
      },
      "message": "PCI PM: Fix handling of devices without drivers\n\nSuspend to RAM is reported to break on some machines as a result of\nattempting to put one of driverless PCI devices into a low power\nstate.  Avoid that by not attepmting to power manage driverless\ndevices during suspend.\n\nFix up pci_pm_poweroff() after a previous incomplete fix for the same\nthing during hibernation.\n\nThis patch is reported to fix the regression from 2.6.28 tracked as\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12605\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "97c44836cdec1ea713a15d84098a1a908157e68f",
      "tree": "bc544c64ed8eeb3feb2f0b210ae7db04a40e1bae",
      "parents": [
        "3419c75e15f82c3ab09bd944fddbde72c9e4b3ea"
      ],
      "author": {
        "name": "Timothy S. Nelson",
        "email": "wayland@wayland.id.au",
        "time": "Fri Jan 30 06:12:47 2009 +1100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 16:58:41 2009 -0800"
      },
      "message": "PCI: return error on failure to read PCI ROMs\n\nThis patch makes the ROM reading code return an error to user space if\nthe size of the ROM read is equal to 0.\n\nThe patch also emits a warnings if the contents of the ROM are invalid,\nand documents the effects of the \"enable\" file on ROM reading.\n\nSigned-off-by: Timothy S. Nelson \u003cwayland@wayland.id.au\u003e\nAcked-by: Alex Villacis-Lasso \u003ca_villacis@palosanto.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3419c75e15f82c3ab09bd944fddbde72c9e4b3ea",
      "tree": "e47c3d61d41875a35bfa4eeb504397f965050aba",
      "parents": [
        "eda58a85ec3fc05855a26654d97a2b53f0e715b9"
      ],
      "author": {
        "name": "Alex Chiang",
        "email": "achiang@hp.com",
        "time": "Wed Jan 28 14:59:18 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Feb 04 16:58:40 2009 -0800"
      },
      "message": "PCI: properly clean up ASPM link state on device remove\n\nWe only want to disable ASPM when the last function is removed from\nthe parent\u0027s device list. We determine this by checking to see if\nthe parent\u0027s device list is completely empty.\n\nUnfortunately, we never hit that code because the parent is considered\nan upstream port, and never had an ASPM link_state associated with it.\n\nThe early check for !link_state causes us to return early, we never\ndiscover that our device list is empty, and thus we never remove the\ndownstream ports\u0027 link_state nodes.\n\nInstead of checking to see if the parent\u0027s device list is empty, we can\ncheck to see if we are the last device on the list, and if so, then we\nknow that we can clean up properly.\n\nCc: Shaohua Li \u003cshaohua.li@intel.com\u003e\nSigned-off-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "71a082efc9fdc12068a3cee6cebb1330b00ebeee",
      "tree": "b090119f313f99558269e83bdd0e6d143fa345f2",
      "parents": [
        "bf4162bcf82ebc3258d6bc0ddd6453132abde72d"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg59@srcf.ucam.org",
        "time": "Tue Jan 27 01:03:35 2009 +0000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 15:35:51 2009 -0800"
      },
      "message": "PCI hotplug: Change link order of pciehp \u0026 acpiphp\n\nSome hardware exposes PCIE slots in such a way that they can be claimed\nby either the acpiphp or pciehp driver. pciehp is the preferred driver\nif the firmware allows the OS to claim control via the _OSC method so\nshould be loaded first - if it fails to bind (either due to a missing\n_OSC method or the firmware refusing to hand off control) then we can\nfall back to acpiphp or a vendor-specific driver.\n\nThis patch simply changes the link order to ensure that pciehp will be\ninitialised before acpiphp if both are statically built into the kernel.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bf4162bcf82ebc3258d6bc0ddd6453132abde72d",
      "tree": "b426269a7f99566bb2c52384e35f593c4c6b3c02",
      "parents": [
        "bffac3c593eba1f9da3efd0199e49ea6558a40ce"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Tue Nov 25 13:51:44 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 10:53:24 2009 -0800"
      },
      "message": "PCI hotplug: fakephp: Allocate PCI resources before adding the device\n\nFor PCI devices, pci_bus_assign_resources() must be called to set up the\npci_device-\u003eresource array before pci_bus_add_devices() can be called, else\nattempts to load drivers results in BAR collision errors where there are none.\nThis is not done in fakephp, so devices can be \"unplugged\" but scanning the\nparent bus won\u0027t bring the devices back due to resource unallocation.  Move the\npci_bus_add_device-calling logic into pci_rescan_bus and preface it with a call\nto pci_bus_assign_resources so that we only have to (re)allocate resources once\nper bus where a new device is found.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bffac3c593eba1f9da3efd0199e49ea6558a40ce",
      "tree": "f2f91533d36172cef57cca43c8050ec265b978d8",
      "parents": [
        "476e7faefc43f106a90b5c96166c59b75de19d30"
      ],
      "author": {
        "name": "Matthew Wilcox",
        "email": "willy@wil.cx",
        "time": "Wed Jan 21 19:19:19 2009 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 09:53:25 2009 -0800"
      },
      "message": "PCI MSI: Fix undefined shift by 32\n\nAdd an msi_mask() function which returns the correct bitmask for the\nnumber of MSI interrupts you have.  This fixes an undefined bug in\nmsi_capability_init().\n\nSigned-off-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "476e7faefc43f106a90b5c96166c59b75de19d30",
      "tree": "8226bd551e58c4a4b1f4b23118d6cbbb18b4ea59",
      "parents": [
        "48f67f54a53bb68619a63c3f38cf7f502ed74b1d"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 22 23:39:57 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 09:47:10 2009 -0800"
      },
      "message": "PCI PM: Do not wait for buses in B2 or B3 during resume\n\npci_restore_standard_config() adds extra delay for PCI buses in\nlow power states (B2 or B3), but this is only correct for buses in\nB2, because the buses in B3 are reset when they are put back into\nB0.  Thus we should wait for such buses to settle after the reset,\nbut it\u0027s not a good idea to wait that long (1.1 s) with interrupts\noff.\n\nOn the other hand, we have never waited for buses in B2 and B3\nduring resume and it seems reasonable to go back to this well\ntested behaviour.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "48f67f54a53bb68619a63c3f38cf7f502ed74b1d",
      "tree": "4a35f4b6319322104999b91a1b1b965ba2e94102",
      "parents": [
        "545ffd58adc86b8d33449dab44fe81b503a6f81b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 22 23:38:31 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 09:47:02 2009 -0800"
      },
      "message": "PCI PM: Power up devices before restoring their state\n\nDevices that have MSI-X enabled before suspend to RAM or hibernation\nand that are in a low power state during resume will not be handled\ncorrectly by pci_restore_standard_config().  Namely, it first calls\npci_restore_state() which calls pci_restore_msi_state(), which in turn\nexecutes __pci_restore_msix_state() that accesses the device\u0027s memory\nspace to restore the contents of the MSI-X table.  However, if the\ndevice is in a low power state at this point, it\u0027s memory space is\nnot accessible.\n\nThe easiest way to fix this potential problem is to make\npci_restore_standard_config() call pci_restore_state() after\nit has put the device into the full power state, D0.  Fortunately,\nall of this is done with interrupts off, so the change of ordering\nshould not cause any trouble.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "545ffd58adc86b8d33449dab44fe81b503a6f81b",
      "tree": "a5fc5a72325e27ddb341e49f5f0d00b20d05c0c5",
      "parents": [
        "57064d213d2e44654d4f13c66df135b5e7389a26"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 22 23:36:56 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 09:46:27 2009 -0800"
      },
      "message": "PCI PM: Fix hibernation breakage on EeePC 701\n\nHibernation breaks on EeePC 701 as a result of attempting to put one\nof its (driverless) devices into a low power state.  Avoid that by\nnot attepmting to power manage driverless devices during hibernation.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-and-tested-by: Alan Jenkins \u003calan-jenkins@tuffmail.co.uk\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "418e4da33f45fd7bdcce48778b149b780ff730bc",
      "tree": "fca80fd94c2ec3ce7c7384daa07c9783ed33d96a",
      "parents": [
        "5ee810072175042775e39bdd3eaaa68884c27805"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Jan 26 21:43:08 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Jan 27 09:45:46 2009 -0800"
      },
      "message": "PCI PM: Fix suspend error paths and testing facility breakage\n\nIf one of device drivers refuses to suspend by returning error code\nfrom its -\u003esuspend() callback, the devices that have already been\nsuspended are resumed by executing their drivers\u0027 -\u003eresume()\ncallbacks.  Some of these callbacks expect the device\u0027s\nconfiguration space to be restored if the device has been put into\nD3 before they are called.  Unfortunately, this mechanism has been\nbroken by recent changes moving the restoration of config spaces\nof some devices (most importantly, USB controllers and HDA Intel)\ninto the resume callbacks executed with interrupts off.  Obviously,\nthese callbacks are not invoked in the suspend error path and, as a\nresult, the system cannot be successfully brought back into the\nworking state in case of a suspend error.  The same thing happens\nin the hibernation error path right before putting the system into\nS4.\n\nSimilarly, the suspend testing facility associated with the\n/sys/power/pm_test file is broken, because it uses the very same\nmechanism that is used in the suspend and hibernation error paths.\n\nFix the breakage by making the PCI core restore the configuration\nspaces of PCI devices that haven\u0027t been restored already before\npci_pm_resume() is called for those devices by the PM core.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4a4565921aa9255be01921ff8ae339fa7b0a5468",
      "tree": "61fc69b6e2a82947550d6c441b62986c816ad911",
      "parents": [
        "7954d5cf39ee1ce9bb0a4b19fcf1924885a9cad1",
        "c2fdd36b550659f5ac2240d1f5a83ffa1a092289"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:13:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 26 10:13:36 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI hotplug: fix lock imbalance in pciehp\n  PCI PM: Restore standard config registers of all devices early\n  PCI/MSI: bugfix/utilize for msi_capability_init()\n"
    },
    {
      "commit": "c2fdd36b550659f5ac2240d1f5a83ffa1a092289",
      "tree": "670558bb598d185fb1805f09bf5d39da13b03d91",
      "parents": [
        "aa8c6c93747f7b55fa11e1624fec8ca33763a805"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Sat Jan 17 16:23:55 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Jan 19 10:55:54 2009 -0800"
      },
      "message": "PCI hotplug: fix lock imbalance in pciehp\n\nset_lock_status omits mutex_unlock in fail path. Add the omitted\nunlock.\n\nAs a result a lockup caused by this can be triggered from userspace\nby writing 1 to /sys/bus/pci/slots/.../lock often enough.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "aa8c6c93747f7b55fa11e1624fec8ca33763a805",
      "tree": "e40bf643ec9916dd2738ef9aaafdfa49ad8b4781",
      "parents": [
        "0db29af1e767464d71b89410d61a1e5b668d0370"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Jan 16 21:54:43 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 16 12:57:58 2009 -0800"
      },
      "message": "PCI PM: Restore standard config registers of all devices early\n\nThere is a problem in our handling of suspend-resume of PCI devices that\nmany of them have their standard config registers restored with\ninterrupts enabled and they are put into the full power state with\ninterrupts enabled as well.  This may lead to the following scenario:\n  * an interrupt vector is shared between two or more devices\n  * one device is resumed earlier and generates an interrupt\n  * the interrupt handler of another device tries to handle it and\n    attempts to access the device the config space of which hasn\u0027t been\n    restored yet and/or which still is in a low power state\n  * the system crashes as a result\n\nTo prevent this from happening we should restore the standard\nconfiguration registers of all devices with interrupts disabled and we\nshould put them into the D0 power state right after that.\nUnfortunately, this cannot be done using the existing\npci_set_power_state(), because it can sleep.  Also, to do it we have to\nmake sure that the config spaces of all devices were actually saved\nduring suspend.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0db29af1e767464d71b89410d61a1e5b668d0370",
      "tree": "493d48656dd10cdd5e7e31f7a70de525e6bbdad2",
      "parents": [
        "b762666cc7c9f83ac5759127c29dfad438c09e48"
      ],
      "author": {
        "name": "Hidetoshi Seto",
        "email": "seto.hidetoshi@jp.fujitsu.com",
        "time": "Wed Dec 24 17:27:04 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Jan 16 12:35:25 2009 -0800"
      },
      "message": "PCI/MSI: bugfix/utilize for msi_capability_init()\n\nThis patch fix a following bug and does a cleanup.\n\nbug:\n\tcommit 5993760f7fc75b77e4701f1e56dc84c0d6cf18d5\n\thad a wrong change (since is_64 is boolean[0|1]):\n\n-               pci_write_config_dword(dev,\n-                       msi_mask_bits_reg(pos, is_64bit_address(control)),\n-                       maskbits);\n+               pci_write_config_dword(dev, entry-\u003emsi_attrib.is_64, maskbits);\n\nutilize:\n\tUnify separated if (entry-\u003emsi_attrib.maskbit) statements.\n\nSigned-off-by: Hidetoshi Seto \u003cseto.hidetoshi@jp.fujitsu.com\u003e\nAcked-by: \"Jike Song\" \u003calbcamus@gmail.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d45e0855488032ea62ec5638fb1dcd47367f8ddb",
      "tree": "801341825d4f3ec51746715e3e29b36e7337caff",
      "parents": [
        "88d998c264722cd6e8fafa42aee191f7d9194960"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Jan 15 15:12:27 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 16 15:20:00 2009 -0500"
      },
      "message": "ACPI PCI hotplug: harden against panic regression\n\nACPI hotplug panic with current git head\nhttp://lkml.org/lkml/2009/1/10/136\n\nRather than reverting the entire commit that causes the crash:\ne8c331e963c58b83db24b7d0e39e8c07f687dbc6\n\"PCI hotplug: introduce functions for ACPI slot detection\"\n\nsimply harden against it while the changes to\nthe hotplug code on this particularl machine are understood.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "50246dd41ccbcb47beb06d6c1d9355f6b7137a11",
      "tree": "d6febca069bd5734adb2383bbfe87192fad4ef7c",
      "parents": [
        "7cb36b6ccdca03bd87e8faca7fd920643dd1aec7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 16 08:14:51 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 16 08:14:51 2009 -0800"
      },
      "message": "Revert \"PCI PM: Register power state of devices during initialization\"\n\nThis reverts commit 98e6e286d7b01deb7453b717aa38ebb69d6cefc0, as Yinghai\nLu reports that it breaks kexec with at least the e1000 and e1000e\ndrivers.  The reason is that the shutdown sequence puts the hardware\ninto D3 sleep, and the commit causes us to claim that it then is in D0\n(running) state just because we don\u0027t understand the PM capabilities.\n\nWhich then later makes \"pci_set_power_state()\" not do anything, and the\ndevice never wakes up properly and just returns 0xff to everything.\n\nReported-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: From: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nCc: Jesse Barnes \u003cjesse.barnes@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4ea37c26a691ad0b7e86aa5884aab27830e95c9",
      "tree": "4a3bd25e61cd3782f535ad2140a01bf3835dca4f",
      "parents": [
        "d5460c9974a321a194aded4a8c4daaac68ea8171"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:28 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 26\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "288e4877f94a3b144aadc206e7796921d02432c1",
      "tree": "468a77a0c6e22a3d1076d2d98c4dde5c3f8a3ebc",
      "parents": [
        "37a76bd4f1b716949fc38a6842e89f0ccb8384d0"
      ],
      "author": {
        "name": "Dirk Hohndel",
        "email": "hohndel@linux.intel.com",
        "time": "Sun Jan 11 15:33:51 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 13 08:03:46 2009 -0800"
      },
      "message": "Prevent oops at boot with VT-d\n\nWith some broken BIOSs when VT-d is enabled, the data structures are\nfilled incorrectly. This can cause a NULL pointer dereference in very\nearly boot.\n\nSigned-off-by: Dirk Hohndel \u003chohndel@linux.intel.com\u003e\nAcked-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e9b1c184cadbece3694603de5f880b6e35bd7a7",
      "tree": "8ae2ab8a4eaab4d46b4460284fd5ee475ce9a42d",
      "parents": [
        "0176260fc30842e358cf34afa7dcd9413db44822",
        "36c401a44abcc389a00f9cd14892c9cf9bf0780d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:12:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:12:18 2009 -0800"
      },
      "message": "Merge branch \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027cpus4096-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  [IA64] fix typo in cpumask_of_pcibus()\n  x86: fix x86_32 builds for summit and es7000 arch\u0027s\n  cpumask: use work_on_cpu in acpi-cpufreq.c for read_measured_perf_ctrs\n  cpumask: use work_on_cpu in acpi-cpufreq.c for drv_read and drv_write\n  cpumask: use cpumask_var_t in acpi-cpufreq.c\n  cpumask: use work_on_cpu in acpi/cstate.c\n  cpumask: convert struct cpufreq_policy to cpumask_var_t\n  cpumask: replace CPUMASK_ALLOC etc with cpumask_var_t\n  x86: cleanup remaining cpumask_t ops in smpboot code\n  cpumask: update pci_bus_show_cpuaffinity to use new cpumask API\n  cpumask: update local_cpus_show to use new cpumask API\n  ia64: cpumask fix for is_affinity_mask_valid()\n"
    },
    {
      "commit": "b2576e1d4408e134e2188c967b1f28af39cd79d4",
      "tree": "004f3c82faab760f304ce031d6d2f572e7746a50",
      "parents": [
        "3cc8a5f4ba91f67bbdb81a43a99281a26aab8d77",
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Jan 09 03:39:43 2009 -0500"
      },
      "message": "Merge branch \u0027linus\u0027 into release\n"
    },
    {
      "commit": "f6dc1e5e3d4b523e1616b43beddb04e4fb1d376a",
      "tree": "9c6c27a06b7984e1c315d9d0ffa881f5b5f59701",
      "parents": [
        "d67e37d7933ba3b28a63ff38c957e433aaca5dc4"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:12:22 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:19:43 2009 -0800"
      },
      "message": "PCI PM: Put PM callbacks in the order of execution\n\nPut PM callbacks in drivers/pci/pci-driver.c in the order in which\nthey are executed which makes it much easier to follow the code.\n\nNo functional changes should result from this.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d67e37d7933ba3b28a63ff38c957e433aaca5dc4",
      "tree": "5cb865b181891308695be0074f057756bd7172c9",
      "parents": [
        "98e6e286d7b01deb7453b717aa38ebb69d6cefc0"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:11:28 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:19:39 2009 -0800"
      },
      "message": "PCI PM: Run default PM callbacks for all devices using new framework\n\nIt should be quite clear that it generally makes sense to execute\nthe default PM callbacks (ie. the callbacks used for handling\nsuspend, hibernation and resume of PCI devices without drivers) for\nall devices.  Of course, the drivers that provide legacy PCI PM\nsupport (ie. the -\u003esuspend, -\u003esuspend_late, -\u003eresume_early\nor -\u003eresume hooks in the pci_driver structure), carry out these\noperations too, so we can\u0027t do it for devices with such drivers.\nStill, we can make the default PM callbacks run for devices with\ndrivers using the new framework (ie. implement the pm object), since\nthere are no such drivers at the moment.\n\nThis also simplifies the code and makes it smaller.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "98e6e286d7b01deb7453b717aa38ebb69d6cefc0",
      "tree": "3dbaf0cdc71a779f6f1d3bed8f9fd17eeabb97cd",
      "parents": [
        "ad8cfa1defee14a5181d9b63e666318c51cfaeed"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:10:35 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:18:04 2009 -0800"
      },
      "message": "PCI PM: Register power state of devices during initialization\n\nUse the observation that the power state of a PCI device can be\nloaded into its pci_dev structure as soon as pci_pm_init() is run for\nit and make that happen.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ad8cfa1defee14a5181d9b63e666318c51cfaeed",
      "tree": "645872bccea82e08d34df6d986a3b34eaf62e5b6",
      "parents": [
        "bb8089454391ac5577215aec1f1991adcd4b4cbf"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:09:37 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:17:23 2009 -0800"
      },
      "message": "PCI PM: Call pci_fixup_device from legacy routines\n\nThe size of drivers/pci/pci-driver.c can be reduced quite a bit\nif pci_fixup_device() is called from the legacy PM callbacks, so make\nit happen.\n\nNo functional changes should result from this.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bb8089454391ac5577215aec1f1991adcd4b4cbf",
      "tree": "e777dbd27b03ef9188da10218ffae5a565525f37",
      "parents": [
        "734104292ff77dc71fe626b4ebd91b314547ca1b"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 14:15:17 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:16:53 2009 -0800"
      },
      "message": "PCI PM: Rearrange code in pci-driver.c\n\nRename two functions and rearrange code in drivers/pci/pci-driver.c\nso that it\u0027s easier to follow.  In particular, separate invocations\nof the legacy callbacks from the rest of the new callbacks\u0027 code.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "734104292ff77dc71fe626b4ebd91b314547ca1b",
      "tree": "8e859beaa5065db26c7dc0d5e7a6a108c6f21163",
      "parents": [
        "07e836e8d1f3688311d97fe1bf46980b0f9ae9c1"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:07:15 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:16:05 2009 -0800"
      },
      "message": "PCI PM: Avoid touching devices behind bridges in unknown state\n\nIt generally is better to avoid accessing devices behind bridges that\nmay not be in the D0 power state, because in that case the bridges\u0027\nsecondary buses may not be accessible.  For this reason, during the\nearly phase of resume (ie. with interrupts disabled), before\nrestoring the standard config registers of a device, check the power\nstate of the bridge the device is behind and postpone the restoration\nof the device\u0027s config space, as well as any other operations that\nwould involve accessing the device, if that state is not D0.\n\nIn such cases the restoration of the device\u0027s config space will be\nretried during the \"normal\" phase of resume (ie. with interrupts\nenabled), so that the bridge can be put into D0 before that happens.\n\nAlso, save standard configuration registers of PCI devices during the\n\"normal\" phase of suspend (ie. with interrupts enabled), so that the\nbridges the devices are behind can be put into low power states (we\ndon\u0027t put bridges into low power states at the moment, but we may\nwant to do it in the future and it seems reasonable to design for\nthat).\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "07e836e8d1f3688311d97fe1bf46980b0f9ae9c1",
      "tree": "24dade02ec3e91868ab9e88d8b255f7725eab0b8",
      "parents": [
        "571ff7584bb9e05fca0eb79752ae55a46faf3a98"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:06:10 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:15:31 2009 -0800"
      },
      "message": "PCI PM: Move pci_has_legacy_pm_support\n\nMove pci_has_legacy_pm_support() closer to the functions that\ncall it.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "571ff7584bb9e05fca0eb79752ae55a46faf3a98",
      "tree": "a9439b1749154f2a7d4ed18c28a4d221235f2f3b",
      "parents": [
        "fa58d305d9925b01830e535896a7227a868a9e15"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:05:05 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:15:18 2009 -0800"
      },
      "message": "PCI PM: Power-manage devices without drivers during suspend-resume\n\nPCI devices without drivers can be put into low power states during\nsuspend with the help of pci_prepare_to_sleep() and prevented from\ngenerating wake-up events during resume with the help of\npci_enable_wake().  However, it\u0027s better not to put bridges into\nlow power states during suspend, because that might result in entire\nbus segments being powered off.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fa58d305d9925b01830e535896a7227a868a9e15",
      "tree": "6b0509663958c9fc6c3b201e6a3b061af784ffa9",
      "parents": [
        "c9b9972b3c88272be02d971346285d1c67fbb95f"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:03:42 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:14:40 2009 -0800"
      },
      "message": "PCI PM: Add suspend counterpart of pci_reenable_device\n\nPCI devices without drivers are not disabled during suspend and\nhibernation, but they are enabled during resume, with the help of\npci_reenable_device(), so there is an unbalanced execution of\npcibios_enable_device() in the resume code path.\n\nTo correct this introduce function pci_disable_enabled_device()\nthat will disable the argument device, if it is enabled when the\nfunction is being run, without updating the device\u0027s pci_dev\nstructure and use it in the suspend code path to balance the\npci_reenable_device() executed during resume.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c9b9972b3c88272be02d971346285d1c67fbb95f",
      "tree": "9e7e942bb3f36de15a4c953d03d87c0a01e185c7",
      "parents": [
        "987a4c783a8bbf3baf554e6b8ff588b26e06e020"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Jan 07 13:02:36 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:14:07 2009 -0800"
      },
      "message": "PCI PM: Fix poweroff and restore callbacks\n\npci_fixup_device() is called too early in pci_pm_poweroff() and too\nlate in pci_pm_restore().  Moreover, pci_pm_restore_noirq() calls\npci_fixup_device() twice and in a wrong way.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "987a4c783a8bbf3baf554e6b8ff588b26e06e020",
      "tree": "68cae4e999c8f318bf3f95ff703d36699b2061ab",
      "parents": [
        "d9347371c538544a7309d5b6475ec011d98d40e6"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Mon Jan 05 16:21:04 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:28 2009 -0800"
      },
      "message": "PCI: Use msleep instead of cpu_relax during ASPM link retraining\n\nThe cpu_relax() function can be a noop on certain architectures like\nIA-64 when CPU threads are disabled, so use msleep instead during link\nretraining busy/wait loop.\n\nIntroduce define LINK_RETRAIN_TIMEOUT instead of hard-coding timeout in\npcie_aspm_configure_common_clock.\n\nUse time_after() to avoid jiffy wraparound when checking for expired\ntimeout.\n\nAfter timeout expires, recheck link status register link training bit\ninstead of checking for expired timeout to avoid possible false\npositive.\n\nNote that Matthew Wilcox came up with the first rough version of this\npatch.\n\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "d9347371c538544a7309d5b6475ec011d98d40e6",
      "tree": "1f695041c299e14685a7066de42b4cb269b4aa7f",
      "parents": [
        "fa6c993736cb8cc18af86b8d17b608efa7882ab5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 01 19:53:32 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:27 2009 -0800"
      },
      "message": "PCI: PCIe portdrv: Add kerneldoc comments to remining core funtions\n\nAdd kerneldoc comments to the reamining functions in\ndrivers/pci/pcie/portdrv_core.c .\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fa6c993736cb8cc18af86b8d17b608efa7882ab5",
      "tree": "7ec2c443fab2049ca49f5bf6060eec2ca5985d07",
      "parents": [
        "e7ae88486670f3904f187d0fff9dcf469bcdd8ba"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 01 19:52:12 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:27 2009 -0800"
      },
      "message": "PCI: PCIe portdrv: Rearrange code so that related things are together\n\nRearrange code in drivers/pci/pcie/portdrv_bus.c and\ndrivers/pci/pcie/portdrv_core.c so that related functions and data\nstructures are closer together.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e7ae88486670f3904f187d0fff9dcf469bcdd8ba",
      "tree": "c2a1ff5cb3a8b24778789720f9a64f59e679dfd0",
      "parents": [
        "facf6d1627a33badbbc154524c4a2c73c51bdc99"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 01 19:51:15 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:26 2009 -0800"
      },
      "message": "PCI: PCIe portdrv: Fix suspend and resume of PCI Express port services\n\nThere is a problem with the suspend and resume of PCI Express port\nservice devices that the -\u003esuspend() and -\u003eresume() routines of each\nservice device are called twice in each suspend-resume cycle, which\nis obviously wrong.\n\nThe scenario is that first, the PCI Express port driver calls\nsuspend and resume routines of each port service driver from its\npcie_portdrv_suspend() and pcie_portdrv_resume() callbacks,\nrespectively (which is correct), and second, the pcie_port_bus_type\ndriver calls them from its -\u003esuspend() and -\u003eresume() callbacks\n(which is not correct, because it doesn\u0027t happen at the right time).\n\nThe solution is to remove the -\u003esuspend() and -\u003eresume() callbacks\nfrom pcie_port_bus_type and the associated functions.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "facf6d1627a33badbbc154524c4a2c73c51bdc99",
      "tree": "ca82decb3de7da887ee01748d9835a020c1d99cf",
      "parents": [
        "16cf0ebc35dd63f72628ba1246132a6fd17bced2"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Jan 01 19:48:55 2009 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:25 2009 -0800"
      },
      "message": "PCI: PCIe portdrv: Add kerneldoc comments to some core functions\n\nAdd kerneldoc comments to some functions in\ndrivers/pci/pcie/portdrv_core.c, since the code in there is not\neasy to follow without any additional description.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6a479079c07211bf348ac8a79754f26bea258f26",
      "tree": "1587c0ed9446c7d0d6ab8a38d1524132e2faae35",
      "parents": [
        "b8d9cb2a2226118fd71f657c80b06b670a653022"
      ],
      "author": {
        "name": "Ben Hutchings",
        "email": "bhutchings@solarflare.com",
        "time": "Tue Dec 23 03:08:29 2008 +0000"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:23 2009 -0800"
      },
      "message": "PCI: Add pci_clear_master() as opposite of pci_set_master()\n\nDuring an online device reset it may be useful to disable bus-mastering.\npci_disable_device() does that, and far more besides, so is not suitable\nfor an online reset.\n\nAdd pci_clear_master() which does just this.\n\nSigned-off-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b8d9cb2a2226118fd71f657c80b06b670a653022",
      "tree": "1f5d4874dfe51ce70203ae8415fa2c2413298e4a",
      "parents": [
        "322162a71bd9fc4edb1b11236e7bc8aa27ccac22"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Sun Dec 21 16:39:37 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:22 2009 -0800"
      },
      "message": "PCI hotplug: remove redundant test in cpq hotplug\n\nfunc is checked not to be NULL a few lines before.\n\nA simplified version of the semantic patch that makes this change is as\nfollows: (http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@r exists@\nlocal idexpression x;\nexpression E;\nposition p1,p2;\n@@\n\nif (x@p1 \u003d\u003d NULL || ...) { ... when forall\n   return ...; }\n... when !\u003d \\(x\u003dE\\|x--\\|x++\\|--x\\|++x\\|x-\u003dE\\|x+\u003dE\\|x|\u003dE\\|x\u0026\u003dE\\|\u0026x\\)\n(\nx@p2 \u003d\u003d NULL\n|\nx@p2 !\u003d NULL\n)\n\n// another path to the test that is not through p1?\n@s exists@\nlocal idexpression r.x;\nposition r.p1,r.p2;\n@@\n\n... when !\u003d x@p1\n(\nx@p2 \u003d\u003d NULL\n|\nx@p2 !\u003d NULL\n)\n\n@fix depends on !s@\nposition r.p1,r.p2;\nexpression x,E;\nstatement S1,S2;\n@@\n\n(\n- if ((x@p2 !\u003d NULL) || ...)\n  S1\n|\n- if ((x@p2 \u003d\u003d NULL) \u0026\u0026 ...) S1\n|\n- BUG_ON(x@p2 \u003d\u003d NULL);\n)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "322162a71bd9fc4edb1b11236e7bc8aa27ccac22",
      "tree": "f5a5ea837934c8af3285157ee53f0d1d6e05cfcf",
      "parents": [
        "67f6533802fd2cc6f5b3c6355ef72bcf636d7fda"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Dec 19 15:19:02 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:22 2009 -0800"
      },
      "message": "PCI: pciehp: cleanup register and field definitions\n\nClean up register definitions related to PCI Express Hot plug.\n\n  - Add register definitions into include/linux/pci_regs.h, and use\n    them instead of pciehp\u0027s locally definied register definitions.\n  - Remove pciehp\u0027s locally defined register definitions\n  - Remove unused register definitions in pciehp.\n  - Some minor cleanups.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "67f6533802fd2cc6f5b3c6355ef72bcf636d7fda",
      "tree": "9fac68e4e3b4f291e92f4f26c4912a94b7a4f358",
      "parents": [
        "46bbdfa44cfc0d352148a0dc33ba9f6db02ccdf0"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Fri Dec 19 15:18:10 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:21 2009 -0800"
      },
      "message": "PCI: pciehp: ignore undefined bit in link status register\n\nBit 10 in Link Status register used to be defined as Training Error in\nthe PCI Express 1.0a specification. But it was removed by Training Error\nECN and is no longer defined. So pciehp must ignore the value read from\nit.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "46bbdfa44cfc0d352148a0dc33ba9f6db02ccdf0",
      "tree": "b5b7d00f66ea4b5865b64d97592f126fb9f12f22",
      "parents": [
        "2b8c2efe44ed897fc958131d70addc89876d806b"
      ],
      "author": {
        "name": "Shaohua Li",
        "email": "shaohua.li@intel.com",
        "time": "Fri Dec 19 09:27:42 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:20 2009 -0800"
      },
      "message": "PCI: keep ASPM link state consistent throughout PCIe hierarchy\n\nIn a PCIe hierarchy with a switch present, if the link state of an\nendpoint device is changed, we must check the whole hierarchy from the\nendpoint device to root port, and for each link in the hierarchy, the new\nlink state should be configured. Previously, the implementation checked\nthe state but forgot to configure the links between root port to switch.\nFixes Novell bz #448987.\n\nSigned-off-by: Shaohua Li \u003cshaohua.li@intel.com\u003e\nTested-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a19f5df7d9696b9e53ba7c865816597057d5f76e",
      "tree": "344ead23faba0fa94c3c1711b70ac61325393a66",
      "parents": [
        "db5679437a2b938c9127480a3923633721583a4f"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 18 16:34:19 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:19 2009 -0800"
      },
      "message": "PCI: use dev_printk for PCI bus resource mssages\n\nSince pci_bus has a struct device, use dev_printk directly instead\nof faking it by hand.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "db5679437a2b938c9127480a3923633721583a4f",
      "tree": "b2625345baa35490104b81fc1c7bd8ef6bb74100",
      "parents": [
        "287d19ce2e67c15e79a187b3bdcbbea1a0a51a7d"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 18 09:17:16 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:18 2009 -0800"
      },
      "message": "PCI: add interface to set visible size of VPD\n\nThe VPD on all devices may not be 32K. Unfortunately, there is no\ngeneric way to find the size, so this adds a simple API hook\nto reset it.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "287d19ce2e67c15e79a187b3bdcbbea1a0a51a7d",
      "tree": "128d9c67557a4fe5e5e910b8ca2d50aedee31b7c",
      "parents": [
        "1120f8b8169fb2cb51219d326892d963e762edb6"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 18 09:17:16 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:17 2009 -0800"
      },
      "message": "PCI: revise VPD access interface\n\nChange PCI VPD API which was only used by sysfs to something usable\nin drivers.\n   * move iteration over multiple words to the low level\n   * use conventional types for arguments\n   * add exportable wrapper\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1120f8b8169fb2cb51219d326892d963e762edb6",
      "tree": "8ee86fe0b3dffa0ebff4406f1470092c4df84f25",
      "parents": [
        "904d6a303361a85bfa4c8181ef62a24edb8da0a8"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Thu Dec 18 09:17:16 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:16 2009 -0800"
      },
      "message": "PCI: handle long delays in VPD access\n\nAccessing the VPD area can take a long time.  The existing\nVPD access code fails consistently on my hardware. There are comments\nin the SysKonnect vendor driver that it can take up to 13ms per word.\n\nChange the access routines to:\n  * use a mutex rather than spinning with IRQ\u0027s disabled and lock held\n  * have a much longer timeout\n  * call cond_resched while spinning\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "68feac87de15edfc2c700d2d81b814288c93d003",
      "tree": "97ee9f0dc3ee3728aca7d5a252eda6a1cb633430",
      "parents": [
        "e8c331e963c58b83db24b7d0e39e8c07f687dbc6"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Dec 16 21:36:55 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:12 2009 -0800"
      },
      "message": "PCI: add pci_common_swizzle() for INTx swizzling\n\nThis patch adds pci_common_swizzle(), which swizzles INTx values all the\nway up to a root bridge.\n\nThis common implementation can replace several architecture-specific\nones.  This should someday be combined with pci_get_interrupt_pin(),\nbut I left it separate for now to make reviewing easier.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e8c331e963c58b83db24b7d0e39e8c07f687dbc6",
      "tree": "da9e7df2441da952dc11bd732b0171d3170fa8bf",
      "parents": [
        "e046cbd6c05ee859244245d7beeac395cd0057b3"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Dec 17 12:09:12 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:11 2009 -0800"
      },
      "message": "PCI hotplug: introduce functions for ACPI slot detection\n\nSome ACPI related PCI hotplug code can be shared among PCI hotplug\ndrivers. This patch introduces the following functions in\ndrivers/pci/hotplug/acpi_pcihp.c to share the code, and changes\nacpiphp and pciehp to use them.\n\n- int acpi_pci_detect_ejectable(struct pci_bus *pbus)\n  This checks if the specified PCI bus has ejectable slots.\n\n- int acpi_pci_check_ejectable(struct pci_bus *pbus, acpi_handle handle)\n  This checks if the specified handle is ejectable ACPI PCI slot. The\n  \u0027pbus\u0027 parameter is needed to check if \u0027handle\u0027 is PCI related ACPI\n  object.\n\nThis patch also introduces the following inline function in\ninclude/linux/pci-acpi.h, which is useful to get ACPI handle of the\nPCI bridge from struct pci_bus of the bridge\u0027s secondary bus.\n\n- static inline acpi_handle acpi_pci_get_bridge_handle(struct pci_bus *pbus)\n  This returns ACPI handle of the PCI bridge which generates PCI bus\n  specified by \u0027pbus\u0027.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e046cbd6c05ee859244245d7beeac395cd0057b3",
      "tree": "1d1c3f434a77b522af098c54114d4fee7bd96a6e",
      "parents": [
        "c9ffa5a586a97da4d552f89b8f39eea79a63a612"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Dec 17 12:08:15 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:10 2009 -0800"
      },
      "message": "PCI: pciehp: add auto option to pciehp_detect_mode\n\nACPI based hot-pluggable PCIe slot detection logic was added to\nprevent the problem non hot-pluggable PCIe slot was detected as\nhot-pluggable. The slot detection logic can be selected through\n\u0027pciehp_detect_mode\u0027, but it would be better if it is selected\nautomatically.\n\nThis patch adds \u0027auto\u0027 option for \u0027pciehp_detect_mode\u0027. When it is\nspecified, pciehp judges which \u0027acpi\u0027 or \u0027pcie\u0027 should be used. It\nseems that the physical slot number is duplicated among some slots on\nmost of the platforms with the above-mentioned problem. So \u0027auto\u0027 mode\nuses this information to judge which \u0027acpi\u0027 or \u0027pcie\u0027 should be\nused. That is, if duplicated physical slot numbers are detected,\n\u0027acpi\u0027 mode is used. This method is not perfect, but it\u0027s realistic.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c9ffa5a586a97da4d552f89b8f39eea79a63a612",
      "tree": "47e4a6de7df1c5d41bff61f8bfc81eb464b8d2c6",
      "parents": [
        "873392ca514f87eae39f53b6944caf85b1a047cb"
      ],
      "author": {
        "name": "Kenji Kaneshige",
        "email": "kaneshige.kenji@jp.fujitsu.com",
        "time": "Wed Dec 17 12:07:38 2008 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:10 2009 -0800"
      },
      "message": "PCI: pciehp: add ACPI based slot detection\n\nThere is a problem that some non hot-pluggable PCIe slots are detected\nas hot-pluggable by pciehp on some platforms. The immediate cause of\nthis problem is that hot-plug capable bit in the Slot Capabilities\nregister is set even for non hot-pluggable slots on those platforms.\nIt seems a BIOS/hardware problem, but we need workaround about that.\n\nSome of those platforms define hot-pluggable PCIe slots on ACPI\nnamespace properly, while hot-plug capable bit in the Slot\nCapabilities register is set improperly. So using ACPI namespace\ninformation in pciehp to detect PCIe hot-pluggable slots would be a\nworkaround.\n\nThis patch adds \u0027pciehp_detect_mode\u0027 module option. When \u0027acpi\u0027 is\nspecified, pciehp uses ACPI namespace information to detect PCIe\nhot-pluggable slots.\n\nSigned-off-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "873392ca514f87eae39f53b6944caf85b1a047cb",
      "tree": "510d70a5a8efb122139f5ada4363b3f5985663a4",
      "parents": [
        "a79d682f789730dfabaebbb507c87a90c0671a62"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:54:56 2008 +1030"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:09 2009 -0800"
      },
      "message": "PCI: work_on_cpu: use in drivers/pci/pci-driver.c\n\nThis uses work_on_cpu(), rather than altering the cpumask of the\nthread which we happen to be.\n\nNote the cleanups:\n\n1) I\u0027ve removed the CONFIG_NUMA test, since dev_to_node() returns -1\n   for !CONFIG_NUMA anyway and the compiler will eliminate it.\n\n2) No need to reset mempolicy to default (a bad idea anyway) since\n   work_on_cpu is run from a workqueue.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a79d682f789730dfabaebbb507c87a90c0671a62",
      "tree": "d58b75d734e88086770ceaa726ea614507b53b59",
      "parents": [
        "f06fc0b6f8a6846e0ad48aee7b0f282b4fb5dcdc"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 27 16:28:58 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:08 2009 -0800"
      },
      "message": "PCI PM: Split PCI Express port suspend-resume\n\nSuspend-resume of PCI Express ports has recently been moved into\n_suspend_late() and _resume_early() callbacks, but some functions\nexecuted from there should not be called with interrupts disabled,\neg. pci_enable_device().  For this reason, split the suspend-resume\nof PCI Express ports into parts to be executed with interrupts\ndisabled and with interrupts enabled.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f06fc0b6f8a6846e0ad48aee7b0f282b4fb5dcdc",
      "tree": "a723b05eedd9457ad50a0fb4220c73beac11f46a",
      "parents": [
        "eb9c39d031bbcfd4005bd7e0337c3fd3909c1bf7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sat Dec 27 16:30:52 2008 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:08 2009 -0800"
      },
      "message": "PCI PM: Fix pci_update_current_state\n\nCurrently, PCI devices without the PM capability that are power\nmanageable by the platform (eg. ACPI) are not handled correctly\nby pci_set_power_state(), because their current_state field is not\nupdated to reflect the new power state of the device.  Fix this by\nmaking pci_update_current_state() accept additional argument\nrepresenting the power state of the device as set by the platform.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "eb9c39d031bbcfd4005bd7e0337c3fd3909c1bf7",
      "tree": "1549b3fb7eb08296b7f7fe72582d7067098059db",
      "parents": [
        "876e501ab25dcd683574a5d3d56d8fe450083ed6"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Dec 17 12:10:05 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:07 2009 -0800"
      },
      "message": "PCI: set device wakeup capable flag if platform support is present\n\nWhen PCI devices are initialized, we check whether they support PCI PM\ncaps and set the device can_wakeup flag if so.  However, some devices\nmay have platform provided wakeup events rather than PCI PME signals, so\nwe need to set can_wakeup in that case too.  Doing so should allow\nwakeups from many more devices, especially on cost constrained systems.\n\nReported-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nTested-by: Joseph Chan \u003cJosephChan@via.com.tw\u003e\nAcked-by: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "876e501ab25dcd683574a5d3d56d8fe450083ed6",
      "tree": "0ffefee783b1645e413a8ffa6fb0b615c41862cc",
      "parents": [
        "3fa16fdb48e0d83c2acf46e357548c89891df58b"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:42:35 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:06 2009 -0800"
      },
      "message": "PCI: factor pci_bus_add_child() from pci_bus_add_devices()\n\nThis patch splits a new function, pci_bus_add_child(), from\npci_bus_add_devices(). The new function can be used to register PCI\nbuses to the device core.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3fa16fdb48e0d83c2acf46e357548c89891df58b",
      "tree": "7a4403f0aeddc2b0399ba1f8a01e28669c95f608",
      "parents": [
        "613e7ed6f72b1a115f7ece8ce1b66cf095de1348"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:41:45 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:05 2009 -0800"
      },
      "message": "PCI: cleanup pci_bus_add_devices()\n\nCleanup pci_bus_add_devices() by negating the conditional and\ncontinuing, rather than having a single conditional take up the whole\nbody.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "613e7ed6f72b1a115f7ece8ce1b66cf095de1348",
      "tree": "2af16f01cbf78f1de6b858788091a72fa57af6c8",
      "parents": [
        "3789fa8a2e534523c896a32a9f27f78d52ad7d82"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:41:27 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:04 2009 -0800"
      },
      "message": "PCI: add a new function to map BAR offsets\n\nAdd a function to map a given resource number to a corresponding\nregister so drivers can get the offset and type of device specific BARs.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3789fa8a2e534523c896a32a9f27f78d52ad7d82",
      "tree": "1bed5285a1188bf2455554118616403a8f929637",
      "parents": [
        "0b400c7ed4d027e02f6231afa39852a2d48e6f25"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:41:07 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:03 2009 -0800"
      },
      "message": "PCI: allow pci_alloc_child_bus() to handle a NULL bridge\n\nAllow pci_alloc_child_bus() to allocate buses without bridge devices.\nSome SR-IOV devices can occupy more than one bus number, but there is no\nexplicit bridges because that have internal routing mechanism.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0b400c7ed4d027e02f6231afa39852a2d48e6f25",
      "tree": "976e87d95aefac36b14c8407ff3ba9aa34f0cd03",
      "parents": [
        "bc5f5a8277cb353161454b6704b3186ebcf3a2a3"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:40:40 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:02 2009 -0800"
      },
      "message": "PCI: export __pci_read_base()\n\nExport __pci_read_base() so it can be used by whole PCI subsystem.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bc5f5a8277cb353161454b6704b3186ebcf3a2a3",
      "tree": "1f6410cbb69eb36f793ef09072b0bac890f15de6",
      "parents": [
        "fde09c6d8f92de0c9f75698a75f0989f2234c517"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:40:00 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:01 2009 -0800"
      },
      "message": "PCI: remove unnecessary condition check in pci_restore_bars()\n\nRemove the unnecessary number of resources condition checks because\nthe pci_update_resource() will check availability of the resources.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fde09c6d8f92de0c9f75698a75f0989f2234c517",
      "tree": "7d01ac3c194e87897185a2bf015f6d3b472e7601",
      "parents": [
        "14add80b5120966fe0659d61815b9e9b4b68fdc5"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:39:32 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:01 2009 -0800"
      },
      "message": "PCI: define PCI resource names in an \u0027enum\u0027\n\nThis patch moves all definitions of the PCI resource names to an \u0027enum\u0027,\nand also replaces some hard-coded resource variables with symbol\nnames. This change eases introduction of device specific resources.\n\nReviewed-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "14add80b5120966fe0659d61815b9e9b4b68fdc5",
      "tree": "7f803ec36d14e76fb0bc672717bd0dd3dea30a08",
      "parents": [
        "6a49d8120021897e139641062236215aac5d220e"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:38:52 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:13:00 2009 -0800"
      },
      "message": "PCI: remove unnecessary arg of pci_update_resource()\n\nThis cleanup removes unnecessary argument \u0027struct resource *res\u0027 in\npci_update_resource(), so it takes same arguments as other companion\nfunctions (pci_assign_resource(), etc.).\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6a49d8120021897e139641062236215aac5d220e",
      "tree": "894221dce19f76f3232c1f7b9801d1786aabeaf9",
      "parents": [
        "999da9fd489cd9774a89122940190376e19b21ce"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Sat Nov 22 02:38:21 2008 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:59 2009 -0800"
      },
      "message": "PCI: enhance pci_ari_enabled()\n\nChange parameter of pci_ari_enabled() from \u0027pci_dev\u0027 to \u0027pci_bus\u0027.\n\nARI forwarding on the bridge mostly concerns the subordinate devices\nrather than the bridge itself. So this change will make the function\neasier to use.\n\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "999da9fd489cd9774a89122940190376e19b21ce",
      "tree": "7da2198f246df99227436455d411808686d517c2",
      "parents": [
        "92425a405ea482209b43093a5e35be7de02acf18"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Mon Dec 01 14:30:29 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:58 2009 -0800"
      },
      "message": "PCI quirks: piix3: warn softer about enabling passive release\n\nAll the other quirks are dev_info() not dev_err(), this one isn\u0027t special.\nThis makes \u0027quiet\u0027 boot in qemu really quiet.\n\nSigned-off-by: Adam Jackson \u003cajax@redhat.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Tejun Heo \u003chtejun@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "92425a405ea482209b43093a5e35be7de02acf18",
      "tree": "0cf7d494d8a743350f29a827a272287a7d99b5d1",
      "parents": [
        "1684f5ddd4c0c754f52c78eaa2c5c69ad09fb18c"
      ],
      "author": {
        "name": "Trent Piepho",
        "email": "xyzzy@speakeasy.org",
        "time": "Sun Nov 30 17:10:12 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:58 2009 -0800"
      },
      "message": "PCI: Make settable sysfs attributes more consistent\n\nPCI devices have three settable boolean attributes, enable,\nbroken_parity_status, and msi_bus.\n\nThe store functions for these would silently interpret \"0x01\" as false,\n\"1llogical\" as true, and \"true\" would be (silently!) ignored and do\nnothing.\n\nThis is inconsistent with typical sysfs handling of settable attributes,\nand just plain doesn\u0027t make much sense.\n\nSo, use strict_strtoul(), which was created for this purpose.  The store\nfunctions will treat a value of 0 as false, non-zero as true, and return\n-EINVAL for a parse failure.\n\nAdditionally, is_enabled_store() and msi_bus_store() return -EPERM if\nCAP_SYS_ADMIN is lacking, rather than silently doing nothing.  This is more\ntypical behavior for sysfs attributes that need a capability.\n\nAnd msi_bus_store() will only print the \"forced subordinate bus ...\"\nwarning if the MSI flag was actually forced to a different value.\n\nSigned-off-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1684f5ddd4c0c754f52c78eaa2c5c69ad09fb18c",
      "tree": "1085974a81fba002bcc05cdd88a11134ec13799c",
      "parents": [
        "bebd590ca27e80ffe3129ab4f0a3124f0a340f43"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Mon Dec 01 14:30:30 2008 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:57 2009 -0800"
      },
      "message": "PCI: uninline pci_ioremap_bar()\n\nIt\u0027s too large to be inlined.\n\nAcked-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bebd590ca27e80ffe3129ab4f0a3124f0a340f43",
      "tree": "6b303ff88ede1dbd4e4ce0520e0fedd350127d7e",
      "parents": [
        "f0e88af855cbc5012f2e796f42686969b82d79d4"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Dec 16 14:06:58 2008 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:56 2009 -0800"
      },
      "message": "PCI: fix incorrect error return in pci_enable_wake\n\nThis patch (as1186) fixes a minor mistake in pci_enable_wake().  When\nthe routine is asked to disable remote wakeup, it should not return an\nerror merely because the device is not allowed to do wakeups!\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "57c2cf71c12318b72ebaa5720d210476b6bac4d4",
      "tree": "ba071276800dc24d9232fd124c4678b2a86f86b5",
      "parents": [
        "12b955ff63db0b75cfc2d4939696c57b31891ec6"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Thu Dec 11 11:24:23 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:50 2009 -0800"
      },
      "message": "PCI: add pci_swizzle_interrupt_pin()\n\nThis patch adds pci_swizzle_interrupt_pin(), which implements the\nINTx swizzling algorithm specified in Table 9-1 of the \"PCI-to-PCI\nBridge Architecture Specification,\" revision 1.2.\n\nThere are many architecture-specific implementations of this\nswizzle that can be replaced by this common one.\n\nReviewed-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "878f2e50fd1cfea575cdca5bf019c2175dc64131",
      "tree": "807b5bc7312fe4f15e7317aa683dc9b1ee1db5fc",
      "parents": [
        "98d3333a13029ab07ca1d1bfb9bfa138ea76c3c0"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Dec 09 16:11:46 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:48 2009 -0800"
      },
      "message": "PCI: use config space encoding in pci_get_interrupt_pin()\n\nThis patch makes pci_get_interrupt_pin() return values encoded\nthe same way as the \"Interrupt Pin\" value in PCI config space,\ni.e., 1\u003dINTA, ..., 4\u003dINTD.\n\npirq_bios_set() is the only in-tree caller of pci_get_interrupt_pin()\nand pci_get_interrupt_pin() is not exported.\n\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: hpa@zytor.com\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "98d3333a13029ab07ca1d1bfb9bfa138ea76c3c0",
      "tree": "ee00d479e95241d5cdd147517b47755383c22845",
      "parents": [
        "23a36002742bca87510201770a7d931c4aa63e97"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Dec 09 16:11:41 2008 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Jan 07 11:12:47 2009 -0800"
      },
      "message": "PCI hotplug: cpqphp: use config space PCI interrupt pin encoding\n\nThis patch changes cpqphp to use interrupt pin values just as they\ncome from PCI config space, i.e., 1\u003dINTA, ..., 4\u003dINTD.\n\npcibios_set_irq_routing() takes pin arguments in the range 0\u003dINTA, ...,\n3\u003dINTD, so we\u0027ll adjust the pin just before calling it.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nAcked-by: Alex Chiang \u003cachiang@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    }
  ],
  "next": "0e331bf1c44401a5b6d7b778dd1f254724132dff"
}
