)]}'
{
  "log": [
    {
      "commit": "5c7dd710f691d1b44c39e32d2f05b4286ff51f99",
      "tree": "7c319291d09980496d2b01dcbb6d9138db9477be",
      "parents": [
        "eea036475df8995e5b87cd6b8c8e682e071159cd"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri May 18 00:39:35 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 17 16:16:16 2012 -0700"
      },
      "message": "ACPI / PCI / PM: Fix device PM regression related to D3hot/D3cold\n\nCommit 1cc0c998fdf2 (\"ACPI: Fix D3hot v D3cold confusion\") introduced a\nbug in __acpi_bus_set_power() and changed the behavior of\nacpi_pci_set_power_state() in such a way that it generally doesn\u0027t work\nas expected if PCI_D3hot is passed to it as the second argument.\n\nFirst off, if ACPI_STATE_D3 (equal to ACPI_STATE_D3_COLD) is passed to\n__acpi_bus_set_power() and the explicit_set flag is set for the D3cold\nstate, the function will try to execute AML method called \"_PS4\", which\ndoesn\u0027t exist.\n\nFix this by adding a check to ensure that the name of the AML method\nto execute for transitions to ACPI_STATE_D3_COLD is correct in\n__acpi_bus_set_power().  Also make sure that the explicit_set flag\nfor ACPI_STATE_D3_COLD will be set if _PS3 is present and modify\nacpi_power_transition() to avoid accessing power resources for\nACPI_STATE_D3_COLD, because they don\u0027t exist.\n\nSecond, if PCI_D3hot is passed to acpi_pci_set_power_state() as the\ntarget state, the function will request a transition to\nACPI_STATE_D3_HOT instead of ACPI_STATE_D3.  However,\nACPI_STATE_D3_HOT is now only marked as supported if the _PR3 AML\nmethod is defined for the given device, which is rare.  This causes\nproblems to happen on systems where devices were successfully put\ninto ACPI D3 by pci_set_power_state(PCI_D3hot) which doesn\u0027t work\nnow.  In particular, some unused graphics adapters are not turned\noff as a result.\n\nTo fix this issue restore the old behavior of\nacpi_pci_set_power_state(), which is to request a transition to\nACPI_STATE_D3 (equal to ACPI_STATE_D3_COLD) if either PCI_D3hot or\nPCI_D3cold is passed to it as the argument.\n\nThis approach is not ideal, because generally power should not\nbe removed from devices if PCI_D3hot is the target power state,\nbut since this behavior is relied on, we have no choice but to\nrestore it at the moment and spend more time on designing a\nbetter solution in the future.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d43228\nReported-by: rocko \u003crockorequin@hotmail.com\u003e\nReported-by: Cristian Rodríguez \u003ccrrodriguez@opensuse.org\u003e\nReported-and-tested-by: Peter \u003clekensteyn@gmail.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "59068e369b6a2a0a15b93624887525d9ec0f36e5",
      "tree": "7d165bb50d379e37ca7f0b3fed5da9f7719e22e4",
      "parents": [
        "377485f6244af255b04d662cf19cddbbc4ae4310",
        "1cc0c998fdf2cb665d625fb565a0d6db5c81c639"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 05 10:06:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat May 05 10:06:06 2012 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux\n\nPull an ACPI patch from Len Brown:\n \"It fixes a D3 issue new in 3.4-rc1.\"\n\nBy Lin Ming via Len Brown:\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:\n  ACPI: Fix D3hot v D3cold confusion\n"
    },
    {
      "commit": "1cc0c998fdf2cb665d625fb565a0d6db5c81c639",
      "tree": "2768315b4d2217ea16082947bf995edfc40d5faf",
      "parents": [
        "ec612fcf43e09f5e05d37baf4d3f138b3fcc2f3d"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Mon Apr 23 09:03:49 2012 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sat May 05 01:19:52 2012 -0400"
      },
      "message": "ACPI: Fix D3hot v D3cold confusion\n\nBefore this patch, ACPI_STATE_D3 incorrectly referenced D3hot\nin some places, but D3cold in other places.\n\nAfter this patch, ACPI_STATE_D3 always means ACPI_STATE_D3_COLD;\nand all references to D3hot use ACPI_STATE_D3_HOT.\n\nACPI\u0027s _PR3 method is used to enter both D3hot and D3cold states.\nWhat distinguishes D3hot from D3cold is the presence _PR3\n(Power Resources for D3hot)  If these resources are all ON,\nthen the state is D3hot.  If _PR3 is not present,\nor all _PR0 resources for the devices are OFF,\nthen the state is D3cold.\n\nThis patch applies after Linux-3.4-rc1.\nA future syntax cleanup may remove ACPI_STATE_D3\nto emphasize that it always means ACPI_STATE_D3_COLD.\n\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReviewed-by: Aaron Lu \u003caaron.lu@amd.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "f6072452c903f2e4dcbae1230f8fbcbf058bd71a",
      "tree": "7f33a247279beb624ddca9df3d10822104048e13",
      "parents": [
        "d7e69bc73c423723c30b5cd3d4b1d72c06ed22e6",
        "8e12a038f88e819c878e5697ff681cb08bcebb08"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:32:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 27 19:32:37 2012 -0700"
      },
      "message": "Merge branch \u0027for-v3.4-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull build fixes for less mainstream architectures from Paul Gortmaker:\n \"These are fixes for frv(1), blackfin(2), powerpc(1) and xtensa(4).\n\n  Fortunately the touches are nearly all specific to files just used by\n  the arch in question.  The two touches to shared/common files\n  [kernel/irq/debug.h and drivers/pci/Makefile] are trivial to assess as\n  no risk to anyone.\n\n  Half of them relate to xtensa directly.  It was only when I fixed the\n  last xtensa issue that I realized that the arch has been broken for a\n  significant time, and isn\u0027t a specific v3.4 regression.  So if you\n  wanted, we could leave xtensa lying bleeding in the street for a\n  couple more weeks and queue those for 3.5.  But given they are no risk\n  to anyone outside of xtensa, I figured to just leave them in.\n\n  If you are OK with taking the xtensa fixes, then please pull to get:\n\n   - one last implicit include uncovered by system.h that is in a file\n     specific to just one powerpc defconfig.  (I\u0027d sync\u0027d with BenH).\n\n   - fix an oversight in the PCI makefile where shared code wasn\u0027t being\n     compiled for ARCH\u003dfrv\n\n   - fix a missing include for GPIO in blackfin framebuffer.\n\n   - audit and tag endif in blackfin ezkit board file, in order to find\n     and fix the misplaced endif masking a block of code.\n\n   - fix irq/debug.h choice of temporary macro names to be more internal\n     so they don\u0027t conflict with names used by xtensa.\n\n   - fix a reference to an undeclared local var in xtensa\u0027s signal.c\n\n   - fix an implicit bug.h usage in xtensa\u0027s asm/io.h uncovered by my\n     removing bug.h from kernel.h\n\n   - fix xtensa to properly indicate it is using asm-generic/hardirq.h\n     in order to resolve the link error - undefined ack_bad_irq\n\n  The xtensa still fails final link as my latest binutils does something\n  evil when ld forward-relocates unlikely() blocks, but in theory people\n  who have older/valid toolchains could now use the thing.\"\n\n* \u0027for-v3.4-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  xtensa: fix build fail on undefined ack_bad_irq\n  blackfin: fix ifdef fustercluck in mach-bf538/boards/ezkit.c\n  blackfin: fix compile error in bfin-lq035q1-fb.c\n  pci: frv architecture needs generic setup-bus infrastructure\n  irq: hide debug macros so they don\u0027t collide with others.\n  xtensa: fix build error in xtensa/include/asm/io.h\n  xtensa: fix build failure in xtensa/kernel/signal.c\n  powerpc: fix system.h fallout in sysdev/scom.c [chroma_defconfig]\n"
    },
    {
      "commit": "cd0a2bfb77a3edeecd652081e0b1a163d3b0696b",
      "tree": "2d161b68d0a4cb536b08d4a425b58ab342f844f6",
      "parents": [
        "9f3045eca89a2e6fdd1901aafb9e28231d3f31fb"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Apr 18 17:17:19 2012 -0400"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Thu Apr 26 14:46:17 2012 -0400"
      },
      "message": "pci: frv architecture needs generic setup-bus infrastructure\n\nOtherwise we get this link failure for frv\u0027s defconfig:\n\n   LD      .tmp_vmlinux1\n drivers/built-in.o: In function `pci_assign_resource\u0027:\n (.text+0xbf0c): undefined reference to `pci_cardbus_resource_alignment\u0027\n drivers/built-in.o: In function `pci_setup\u0027:\n pci.c:(.init.text+0x174): undefined reference to `pci_realloc_get_opt\u0027\n pci.c:(.init.text+0x1a0): undefined reference to `pci_realloc_get_opt\u0027\n make[1]: *** [.tmp_vmlinux1] Error 1\n\nCc: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "a6cb9ee7cabe68002c3f2ab07224ea27d2617cf1",
      "tree": "fb3fc13b4b58e010b1b08c1ae89df810382063dc",
      "parents": [
        "5191d566c023079fa283adc48b71854e9d74ffd5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Mon Apr 16 23:07:50 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 16 18:33:35 2012 -0700"
      },
      "message": "PCI: Retry BARs restoration for Type 0 headers only\n\nSome shortcomings introduced into pci_restore_state() by commit\n26f41062f28d (\"PCI: check for pci bar restore completion and retry\")\nhave been fixed by recent commit ebfc5b802fa76 (\"PCI: Fix regression in\npci_restore_state(), v3\"), but that commit treats all PCI devices as\nthose with Type 0 configuration headers.\n\nThat is not entirely correct, because Type 1 and Type 2 headers have\ndifferent layouts.  In particular, the area occupied by BARs in Type 0\nconfig headers contains the secondary status register in Type 1 ones and\nit doesn\u0027t make sense to retry the restoration of that register even if\nthe value read back from it after a write is not the same as the written\none (it very well may be different).\n\nFor this reason, make pci_restore_state() only retry the restoration\nof BARs for Type 0 config headers.  This effectively makes it behave\nas before commit 26f41062f28d for all header types except for Type 0.\n\nTested-by: Mikko Vinni \u003cmmvinni@yahoo.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ebfc5b802fa76baeb4371311ff9fc27a2258d90d",
      "tree": "03da364fee4f182d3e0e2f98e8e20519c0b040b7",
      "parents": [
        "6c23b8e9330c77557fa9658db751029675dd195a"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Sun Apr 15 21:40:40 2012 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 15 13:06:29 2012 -0700"
      },
      "message": "PCI: Fix regression in pci_restore_state(), v3\n\nCommit 26f41062f28d (\"PCI: check for pci bar restore completion and\nretry\") attempted to address problems with PCI BAR restoration on\nsystems where FLR had not been completed before pci_restore_state() was\ncalled, but it did that in an utterly wrong way.\n\nFirst off, instead of retrying the writes for the BAR registers only, it\ndid that for all of the PCI config space of the device, including the\nstatus register (whose value after the write quite obviously need not be\nthe same as the written one).  Second, it added arbitrary delay to\npci_restore_state() even for systems where the PCI config space\nrestoration was successful at first attempt.  Finally, the mdelay(10) it\nadded to every iteration of the writing loop was way too much of a delay\nfor any reasonable device.\n\nAll of this actually caused resume failures for some devices on Mikko\u0027s\nsystem.\n\nTo fix the regression, make pci_restore_state() only retry the writes\nfor BAR registers and only wait if the first read from the register\ndoesn\u0027t return the written value.  Additionaly, make it wait for 1 ms,\ninstead of 10 ms, after every failing attempt to write into config\nspace.\n\nReported-by: Mikko Vinni \u003cmmvinni@yahoo.com\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9479f0f8018a0317b0b5e0c2b338bec6e26fdf2d",
      "tree": "7eab154e6eef458f0612b3f80604be73812e0737",
      "parents": [
        "1ddca05743525689421383d2dda1ec34df26157e",
        "f09d8432e39797abf39531f41ac8a46a3fbf442a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 17:54:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 06 17:54:53 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-rc1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull xen fixes from Konrad Rzeszutek Wilk:\n \"Two fixes for regressions:\n   * one is a workaround that will be removed in v3.5 with proper fix in\n     the tip/x86 tree,\n   * the other is to fix drivers to load on PV (a previous patch made\n     them only load in PVonHVM mode).\n\n  The rest are just minor fixes in the various drivers and some cleanup\n  in the core code.\"\n\n* tag \u0027stable/for-linus-3.4-rc1-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success\n  xen/pciback: fix XEN_PCI_OP_enable_msix result\n  xen/smp: Remove unnecessary call to smp_processor_id()\n  xen/x86: Workaround \u0027x86/ioapic: Add register level checks to detect bogus io-apic entries\u0027\n  xen: only check xen_platform_pci_unplug if hvm\n"
    },
    {
      "commit": "f09d8432e39797abf39531f41ac8a46a3fbf442a",
      "tree": "ea8db5e01aaea997ccec66ebdfa84a273952fb96",
      "parents": [
        "0ee46eca0476faf0e93c1387b1597b861b79711f"
      ],
      "author": {
        "name": "Jan Beulich",
        "email": "JBeulich@suse.com",
        "time": "Mon Apr 02 15:22:39 2012 +0100"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Apr 06 12:16:02 2012 -0400"
      },
      "message": "xen/pcifront: avoid pci_frontend_enable_msix() falsely returning success\n\nThe original XenoLinux code has always had things this way, and for\ncompatibility reasons (in particular with a subsequent pciback\nadjustment) upstream Linux should behave the same way (allowing for two\ndistinct error indications to be returned by the backend).\n\nSigned-off-by: Jan Beulich \u003cjbeulich@suse.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "c9651e70ad0aa499814817cbf3cc1d0b806ed3a1",
      "tree": "6347cadf5e3d2835bf63dc52a8fdfe2daaea5161",
      "parents": [
        "cdb0f9a1ad2ee3c11e21bc99f0c2021a02844666"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 27 10:17:41 2012 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 31 12:49:56 2012 -0700"
      },
      "message": "ASPM: Fix pcie devices with non-pcie children\n\nSince 3.2.12 and 3.3, some systems are failing to boot with a BUG_ON.\nSome other systems using the pata_jmicron driver fail to boot because no\ndisks are detected.  Passing pcie_aspm\u003dforce on the kernel command line\nworks around it.\n\nThe cause: commit 4949be16822e (\"PCI: ignore pre-1.1 ASPM quirking when\nASPM is disabled\") changed the behaviour of pcie_aspm_sanity_check() to\nalways return 0 if aspm is disabled, in order to avoid cases where we\nchanged ASPM state on pre-PCIe 1.1 devices.\n\nThis skipped the secondary function of pcie_aspm_sanity_check which was\nto avoid us enabling ASPM on devices that had non-PCIe children, causing\ntrouble later on.  Move the aspm_disabled check so we continue to honour\nthat scenario.\n\nAddresses https://bugzilla.kernel.org/show_bug.cgi?id\u003d42979 and\n          http://bugs.debian.org/665420\n\nReported-by: Romain Francoise \u003cromain@orebokech.com\u003e # kernel panic\nReported-by: Chris Holland \u003cbandidoirlandes@gmail.com\u003e # disk detection trouble\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@vger.kernel.org\nTested-by: Hatem Masmoudi \u003chatem.masmoudi@gmail.com\u003e # Dell Latitude E5520\nTested-by: janek \u003cjan0x6c@gmail.com\u003e # pata_jmicron with JMB362/JMB363\n[jn: with more symptoms in log message]\nSigned-off-by: Jonathan Nieder \u003cjrnieder@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a335750b9a039a9d4cd727cdccacfb90fd63c4e8",
      "tree": "8f3198984fb75fe494e771d9431f6799228623c5",
      "parents": [
        "10f3cb41d48ab30f5c754b30eea557371892b4c2",
        "d326f44e5f2204c7a24db69bfc6dd3fe5f86182b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:45:38 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 30 16:45:39 2012 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux\n\nPull ACPI \u0026 Power Management changes from Len Brown:\n - ACPI 5.0 after-ripples, ACPICA/Linux divergence cleanup\n - cpuidle evolving, more ARM use\n - thermal sub-system evolving, ditto\n - assorted other PM bits\n\nFix up conflicts in various cpuidle implementations due to ARM cpuidle\ncleanups (ARM at91 self-refresh and cpu idle code rewritten into\n\"standby\" in asm conflicting with the consolidation of cpuidle time\nkeeping), trivial SH include file context conflict and RCU tracing fixes\nin generic code.\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (77 commits)\n  ACPI throttling: fix endian bug in acpi_read_throttling_status()\n  Disable MCP limit exceeded messages from Intel IPS driver\n  ACPI video: Don\u0027t start video device until its associated input device has been allocated\n  ACPI video: Harden video bus adding.\n  ACPI: Add support for exposing BGRT data\n  ACPI: export acpi_kobj\n  ACPI: Fix logic for removing mappings in \u0027acpi_unmap\u0027\n  CPER failed to handle generic error records with multiple sections\n  ACPI: Clean redundant codes in scan.c\n  ACPI: Fix unprotected smp_processor_id() in acpi_processor_cst_has_changed()\n  ACPI: consistently use should_use_kmap()\n  PNPACPI: Fix device ref leaking in acpi_pnp_match\n  ACPI: Fix use-after-free in acpi_map_lsapic\n  ACPI: processor_driver: add missing kfree\n  ACPI, APEI: Fix incorrect APEI register bit width check and usage\n  Update documentation for parameter *notrigger* in einj.txt\n  ACPI, APEI, EINJ, new parameter to control trigger action\n  ACPI, APEI, EINJ, limit the range of einj_param\n  ACPI, APEI, Fix ERST header length check\n  cpuidle: power_usage should be declared signed integer\n  ...\n"
    },
    {
      "commit": "b24e5098853653554baf6ec975b9e855f3d6e5c0",
      "tree": "be93ad39b826c64907bb48dceea034db5b91fc24",
      "parents": [
        "0090def6c37c8ea29508a435e581f2ef26fea10f"
      ],
      "author": {
        "name": "Lin Ming",
        "email": "ming.m.lin@intel.com",
        "time": "Tue Mar 27 15:43:25 2012 +0800"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Fri Mar 30 02:21:18 2012 -0400"
      },
      "message": "ACPI, PCI: Move acpi_dev_run_wake() to ACPI core\n\nacpi_dev_run_wake() is a generic function which can be used by\nother subsystem too. Rename it to acpi_pm_device_run_wake, to be\nconsistent with acpi_pm_device_sleep_wake.\n\nThen move it to ACPI core.\n\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Lin Ming \u003cming.m.lin@intel.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "475c77edf826333aa61625f49d6a2bec26ecb5a6",
      "tree": "8e1c6c319e347cd3c649fdb0b3ab45971c6b19e7",
      "parents": [
        "934e18b5cb4531cc6e81865bf54115cfd21d1ac6",
        "1488d5158dcd612fcdaf6b642451b026ee8bbcbb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 14:02:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 14:02:12 2012 -0700"
      },
      "message": "Merge branch \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\nPull PCI changes (including maintainer change) from Jesse Barnes:\n \"This pull has some good cleanups from Bjorn and Yinghai, as well as\n  some more code from Yinghai to better handle resource re-allocation\n  when enabled.\n\n  There\u0027s also a new initcall_debug feature from Arjan which will print\n  out quirk timing information to help identify slow quirks for fixing\n  or refinement (Yinghai sent in a few patches to do just that once the\n  new debug code landed).\n\n  Beyond that, I\u0027m handing off PCI maintainership to Bjorn Helgaas.\n  He\u0027s been a core PCI and Linux contributor for some time now, and has\n  kindly volunteered to take over.  I just don\u0027t feel I have the time\n  for PCI review and work that it deserves lately (I\u0027ve taken on some\n  other projects), and haven\u0027t been as responsive lately as I\u0027d like, so\n  I approached Bjorn asking if he\u0027d like to manage things.  He\u0027s going\n  to give it a try, and I\u0027m confident he\u0027ll do at least as well as I\n  have in keeping the tree managed, patches flowing, and keeping things\n  stable.\"\n\nFix up some fairly trivial conflicts due to other cleanups (mips device\nresource fixup cleanups clashing with list handling cleanup, ppc iseries\nremoval clashing with pci_probe_only cleanup etc)\n\n* \u0027linux-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci: (112 commits)\n  PCI: Bjorn gets PCI hotplug too\n  PCI: hand PCI maintenance over to Bjorn Helgaas\n  unicore32/PCI: move \u003casm-generic/pci-bridge.h\u003e include to asm/pci.h\n  sparc/PCI: convert devtree and arch-probed bus addresses to resource\n  powerpc/PCI: allow reallocation on PA Semi\n  powerpc/PCI: convert devtree bus addresses to resource\n  powerpc/PCI: compute I/O space bus-to-resource offset consistently\n  arm/PCI: don\u0027t export pci_flags\n  PCI: fix bridge I/O window bus-to-resource conversion\n  x86/PCI: add spinlock held check to \u0027pcibios_fwaddrmap_lookup()\u0027\n  PCI / PCIe: Introduce command line option to disable ARI\n  PCI: make acpihp use __pci_remove_bus_device instead\n  PCI: export __pci_remove_bus_device\n  PCI: Rename pci_remove_behind_bridge to pci_stop_and_remove_behind_bridge\n  PCI: Rename pci_remove_bus_device to pci_stop_and_remove_bus_device\n  PCI: print out PCI device info along with duration\n  PCI: Move \"pci reassigndev resource alignment\" out of quirks.c\n  PCI: Use class for quirk for usb host controller fixup\n  PCI: Use class for quirk for ti816x class fixup\n  PCI: Use class for quirk for intel e100 interrupt fixup\n  ...\n"
    },
    {
      "commit": "d4c6fa73fe984e504d52f3d6bba291fd76fe49f7",
      "tree": "47842ddebb2a48cc1513b36fba18835678e2b94e",
      "parents": [
        "aab008db8063364dc3c8ccf4981c21124866b395",
        "4bc25af79ec54b79266148f8c1b84bb1e7ff2621"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 19:59:19 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Mar 22 20:16:14 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull xen updates from Konrad Rzeszutek Wilk:\n \"which has three neat features:\n\n   - PV multiconsole support, so that there can be hvc1, hvc2, etc; This\n     can be used in HVM and in PV mode.\n\n   - P-state and C-state power management driver that uploads said power\n     management data to the hypervisor.  It also inhibits cpufreq\n     scaling drivers to load so that only the hypervisor can make power\n     management decisions - fixing a weird perf bug.\n\n     There is one thing in the Kconfig that you won\u0027t like: \"default y\n     if (X86_ACPI_CPUFREQ \u003d y || X86_POWERNOW_K8 \u003d y)\" (note, that it\n     all depends on CONFIG_XEN which depends on CONFIG_PARAVIRT which by\n     default is off).  I\u0027ve a fix to convert that boolean expression\n     into \"default m\" which I am going to post after the cpufreq git\n     pull - as the two patches to make this work depend on a fix in Dave\n     Jones\u0027s tree.\n\n   - Function Level Reset (FLR) support in the Xen PCI backend.\n\n  Fixes:\n\n   - Kconfig dependencies for Xen PV keyboard and video\n   - Compile warnings and constify fixes\n   - Change over to use percpu_xxx instead of this_cpu_xxx\"\n\nFix up trivial conflicts in drivers/tty/hvc/hvc_xen.c due to changes to\na removed commit.\n\n* tag \u0027stable/for-linus-3.4-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xen kconfig: relax INPUT_XEN_KBDDEV_FRONTEND deps\n  xen/acpi-processor: C and P-state driver that uploads said data to hypervisor.\n  xen: constify all instances of \"struct attribute_group\"\n  xen/xenbus: ignore console/0\n  hvc_xen: introduce HVC_XEN_FRONTEND\n  hvc_xen: implement multiconsole support\n  hvc_xen: support PV on HVM consoles\n  xenbus: don\u0027t free other end details too early\n  xen/enlighten: Expose MWAIT and MWAIT_LEAF if hypervisor OKs it.\n  xen/setup/pm/acpi: Remove the call to boot_option_idle_override.\n  xenbus: address compiler warnings\n  xen: use this_cpu_xxx replace percpu_xxx funcs\n  xen/pciback: Support pci_reset_function, aka FLR or D3 support.\n  pci: Introduce __pci_reset_function_locked to be used when holding device_lock.\n  xen: Utilize the restore_msi_irqs hook.\n"
    },
    {
      "commit": "3b59bf081622b6446db77ad06c93fe23677bc533",
      "tree": "3f4bb5a27c90cc86994a1f6d3c53fbf9208003cb",
      "parents": [
        "e45836fafe157df137a837093037f741ad8f4c90",
        "bbdb32cb5b73597386913d052165423b9d736145"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 21:04:47 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next\n\nPull networking merge from David Miller:\n \"1) Move ixgbe driver over to purely page based buffering on receive.\n     From Alexander Duyck.\n\n  2) Add receive packet steering support to e1000e, from Bruce Allan.\n\n  3) Convert TCP MD5 support over to RCU, from Eric Dumazet.\n\n  4) Reduce cpu usage in handling out-of-order TCP packets on modern\n     systems, also from Eric Dumazet.\n\n  5) Support the IP{,V6}_UNICAST_IF socket options, making the wine\n     folks happy, from Erich Hoover.\n\n  6) Support VLAN trunking from guests in hyperv driver, from Haiyang\n     Zhang.\n\n  7) Support byte-queue-limtis in r8169, from Igor Maravic.\n\n  8) Outline code intended for IP_RECVTOS in IP_PKTOPTIONS existed but\n     was never properly implemented, Jiri Benc fixed that.\n\n  9) 64-bit statistics support in r8169 and 8139too, from Junchang Wang.\n\n  10) Support kernel side dump filtering by ctmark in netfilter\n      ctnetlink, from Pablo Neira Ayuso.\n\n  11) Support byte-queue-limits in gianfar driver, from Paul Gortmaker.\n\n  12) Add new peek socket options to assist with socket migration, from\n      Pavel Emelyanov.\n\n  13) Add sch_plug packet scheduler whose queue is controlled by\n      userland daemons using explicit freeze and release commands.  From\n      Shriram Rajagopalan.\n\n  14) Fix FCOE checksum offload handling on transmit, from Yi Zou.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1846 commits)\n  Fix pppol2tp getsockname()\n  Remove printk from rds_sendmsg\n  ipv6: fix incorrent ipv6 ipsec packet fragment\n  cpsw: Hook up default ndo_change_mtu.\n  net: qmi_wwan: fix build error due to cdc-wdm dependecy\n  netdev: driver: ethernet: Add TI CPSW driver\n  netdev: driver: ethernet: add cpsw address lookup engine support\n  phy: add am79c874 PHY support\n  mlx4_core: fix race on comm channel\n  bonding: send igmp report for its master\n  fs_enet: Add MPC5125 FEC support and PHY interface selection\n  net: bpf_jit: fix BPF_S_LDX_B_MSH compilation\n  net: update the usage of CHECKSUM_UNNECESSARY\n  fcoe: use CHECKSUM_UNNECESSARY instead of CHECKSUM_PARTIAL on tx\n  net: do not do gso for CHECKSUM_UNNECESSARY in netif_needs_gso\n  ixgbe: Fix issues with SR-IOV loopback when flow control is disabled\n  net/hyperv: Fix the code handling tx busy\n  ixgbe: fix namespace issues when FCoE/DCB is not enabled\n  rtlwifi: Remove unused ETH_ADDR_LEN defines\n  igbvf: Use ETH_ALEN\n  ...\n\nFix up fairly trivial conflicts in drivers/isdn/gigaset/interface.c and\ndrivers/net/usb/{Kconfig,qmi_wwan.c} as per David.\n"
    },
    {
      "commit": "4a52246302f01596f0edf7b4a3e6425e23479192",
      "tree": "f384d86722d3ccfc875e3e5e8d8726e993a922ee",
      "parents": [
        "9f9d2760da8c7f94fae119fac3e13d5a1702f8f0",
        "adc80ae60eae24a43a357bf5b30fb496f34aa605"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:16:20 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 20 11:16:20 2012 -0700"
      },
      "message": "Merge tag \u0027driver-core-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core patches for 3.4-rc1 from Greg KH:\n \"Here\u0027s the big driver core merge for 3.4-rc1.\n\n  Lots of various things here, sysfs fixes/tweaks (with the nlink\n  breakage reverted), dynamic debugging updates, w1 drivers, hyperv\n  driver updates, and a variety of other bits and pieces, full\n  information in the shortlog.\"\n\n* tag \u0027driver-core-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (78 commits)\n  Tools: hv: Support enumeration from all the pools\n  Tools: hv: Fully support the new KVP verbs in the user level daemon\n  Drivers: hv: Support the newly introduced KVP messages in the driver\n  Drivers: hv: Add new message types to enhance KVP\n  regulator: Support driver probe deferral\n  Revert \"sysfs: Kill nlink counting.\"\n  uevent: send events in correct order according to seqnum (v3)\n  driver core: minor comment formatting cleanups\n  driver core: move the deferred probe pointer into the private area\n  drivercore: Add driver probe deferral mechanism\n  DS2781 Maxim Stand-Alone Fuel Gauge battery and w1 slave drivers\n  w1_bq27000: Only one thread can access the bq27000 at a time.\n  w1_bq27000 - remove w1_bq27000_write\n  w1_bq27000: remove unnecessary NULL test.\n  sysfs: Fix memory leak in sysfs_sd_setsecdata().\n  intel_idle: Revert change of auto_demotion_disable_flags for Nehalem\n  w1: Fix w1_bq27000\n  driver-core: documentation: fix up Greg\u0027s email address\n  powernow-k6: Really enable auto-loading\n  powernow-k7: Fix CPU family number\n  ...\n"
    },
    {
      "commit": "cf48fb6a2bf2e59990e1438d0dedc706df911996",
      "tree": "ece7583684a8a3e7a97d471db9a6984ababf100b",
      "parents": [
        "63ab387ca0d1576edef35ef68e4b8ea5e0757b7a"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Fri Mar 16 17:47:59 2012 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Mar 20 10:41:27 2012 -0700"
      },
      "message": "PCI: fix bridge I/O window bus-to-resource conversion\n\nIn 5bfa14ed9f3c, I forgot to initialize res2.flags before calling\npcibios_bus_to_resource(), which depends on the resource type to locate the\ncorrect aperture.  This bug won\u0027t hurt x86, which currently never has an\noffset between bus and CPU addresses, but will affect other architectures.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4da0bd736552e6377b407b3c3d3ae518ebbdd269",
      "tree": "f0da9f843b8033565c3ca4103fccb17a60688326",
      "parents": [
        "81a430ac1b88b0702c57d2513e247317e810e04d",
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 18 23:29:41 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "263a5c8e16c34199ddf6de3f102e789ffa3ee26e",
      "tree": "4f049e339d522b2ab0ba3bed3ec217e4bbc83d35",
      "parents": [
        "54d20f006ceff1f2f1e69d0e54049b6c0765c039",
        "192cfd58774b4d17b2fe8bdc77d89c2ef4e0591d"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Mar 09 12:35:53 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Mar 09 12:35:53 2012 -0800"
      },
      "message": "Merge 3.3-rc6 into driver-core-next\n\nThis was done to resolve a conflict in the drivers/base/cpu.c file.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "4949be16822e92a18ea0cc1616319926628092ee",
      "tree": "51bc0b8620f0e5e0b788803d36d2d71aff7e4e73",
      "parents": [
        "4f262acfde22b63498b5e4f165e53d3bb4e96400"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Tue Mar 06 13:41:49 2012 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Mar 07 20:26:47 2012 -0800"
      },
      "message": "PCI: ignore pre-1.1 ASPM quirking when ASPM is disabled\n\nRight now we won\u0027t touch ASPM state if ASPM is disabled, except in the case\nwhere we find a device that appears to be too old to reliably support ASPM.\nRight now we\u0027ll clear it in that case, which is almost certainly the wrong\nthing to do. The easiest way around this is just to disable the blacklisting\nwhen ASPM is disabled.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0b471506712dd734964b3270d2aa88160712c262",
      "tree": "52f04bbb15c1ede47ced10c1f48a9ff71a0a90fb",
      "parents": [
        "e19a82c18f0e6360ee9fd431721794eb0036c0cd"
      ],
      "author": {
        "name": "Matt Carlson",
        "email": "mcarlson@broadcom.com",
        "time": "Mon Feb 27 09:44:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 04 20:54:01 2012 -0500"
      },
      "message": "tg3: Recode PCI MRRS adjustment as a PCI quirk\n\nThis patch recodes the MRRS cap for 5719 A0 devices as a PCI quirk.\n\nSigned-off-by: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6748dcc269e52925993e0d68447858b41b88b4be",
      "tree": "51f2e3f04ff1b5bb1dcd96aa82e8ba2ee33b09af",
      "parents": [
        "f6330c3178112a7b7f18e7f51f1cbb89fa1174c7"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Thu Mar 01 00:06:33 2012 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Mar 01 13:36:04 2012 -0800"
      },
      "message": "PCI / PCIe: Introduce command line option to disable ARI\n\nThere are PCIe devices on the market that report ARI support but\nthen fail to initialize correctly when ARI is actually used.  This\nleads to situations in which kernels 2.6.34 and newer fail to handle\nsystems where the previous kernels worked without any apparent\nproblems.  Unfortunately, it is currently unknown how many such\ndevices are there.\n\nFor this reason, introduce a new kernel command line option,\npci\u003dnoari, allowing users to disable PCIe ARI altogether if they\nsee problems with PCIe device initialization.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f6330c3178112a7b7f18e7f51f1cbb89fa1174c7",
      "tree": "c19c236c02d093adc9b02b537610b6fc36b9c0e7",
      "parents": [
        "6b22cf3f35fd332e4cc2c1b27056920b3643667a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 25 13:54:23 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 27 12:17:16 2012 -0800"
      },
      "message": "PCI: make acpihp use __pci_remove_bus_device instead\n\npci_stop_bus_device gets called before in the same loop.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6b22cf3f35fd332e4cc2c1b27056920b3643667a",
      "tree": "81bdab1c27126f91340fcafb4619519dda003490",
      "parents": [
        "6754b9e9c33502223db066de50dda8a876f70c2c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 25 13:54:21 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 27 12:16:55 2012 -0800"
      },
      "message": "PCI: export __pci_remove_bus_device\n\nDon\u0027t switch to pci_remove_bus_device yet, keep the __ prefix for now\n(the behavior is still the same: remove without stopping first).\n\nThis allows other out of tree users or pending patches to get notified\nfrom compiler warning.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6754b9e9c33502223db066de50dda8a876f70c2c",
      "tree": "ee7b1a9328bd01675f907c9d247ee9b2f4bad21f",
      "parents": [
        "210647af897af8ef2d00828aa2a6b1b42206aae6"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 25 13:54:22 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 27 12:14:55 2012 -0800"
      },
      "message": "PCI: Rename pci_remove_behind_bridge to pci_stop_and_remove_behind_bridge\n\nThe old pci_remove_behind_bridge actually do stop and remove.\n\nMake the name reflect that to reduce confusion.\n\nSuggested-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "210647af897af8ef2d00828aa2a6b1b42206aae6",
      "tree": "bdb048c8fc7db6fb7b84134c1a6127c52da60ed3",
      "parents": [
        "3cf8b64380af6fd515740b010606ada4637818c5"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 25 13:54:20 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Mon Feb 27 12:12:18 2012 -0800"
      },
      "message": "PCI: Rename pci_remove_bus_device to pci_stop_and_remove_bus_device\n\nThe old pci_remove_bus_device actually did stop and remove.\n\nMake the name reflect that to reduce confusion.\n\nThis patch is done by sed scripts and changes back some incorrect\n__pci_remove_bus_device changes.\n\nSuggested-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3cf8b64380af6fd515740b010606ada4637818c5",
      "tree": "9023072ad9612a2fddd0e93c0bc069d5db6713ad",
      "parents": [
        "2069ecfbe14ebd71a6f98e8a00724e9adf4fe4ee"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 15 21:40:32 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:38:55 2012 -0800"
      },
      "message": "PCI: print out PCI device info along with duration\n\nMakes it a little easier to figure out which device may have caused a\nslow quirk.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2069ecfbe14ebd71a6f98e8a00724e9adf4fe4ee",
      "tree": "5a0328d6e545a6488e85face05b0a4d78676bedf",
      "parents": [
        "8474ecd9231434d71a39cd1ba118629e1b036137"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Feb 15 21:40:31 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:37:26 2012 -0800"
      },
      "message": "PCI: Move \"pci reassigndev resource alignment\" out of quirks.c\n\nThis isn\u0027t really a quirk; calling it directly from pci_add_device makes\nmore sense.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "40c96236bdab60b5879a277270ee209b87fc846f",
      "tree": "64839f57343b3c3f3bbbb3a560d8a3eae4717348",
      "parents": [
        "4c5b28e26d3621e188288293ccfe82ea1177499f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:58 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:35:16 2012 -0800"
      },
      "message": "PCI: Use class for quirk for ti816x class fixup\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4c5b28e26d3621e188288293ccfe82ea1177499f",
      "tree": "b0cdc61430395f5a58132152b1ad00080e0c2971",
      "parents": [
        "08803efe849ebe81d1ca5bb5e443415d035087a0"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:57 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:35:15 2012 -0800"
      },
      "message": "PCI: Use class for quirk for intel e100 interrupt fixup\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "08803efe849ebe81d1ca5bb5e443415d035087a0",
      "tree": "3ab6b38e483441bb9ecf8c61b8f94de0ee04d94e",
      "parents": [
        "faa738bba5a0fcca93c5818eecbaad63ed2b6948"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:56 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:35:14 2012 -0800"
      },
      "message": "PCI: Use class for quirk for netmos class fixup\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "faa738bba5a0fcca93c5818eecbaad63ed2b6948",
      "tree": "8ae95051583f5b2078a663a70dcf162f54375ca5",
      "parents": [
        "ae9de56bdda2d27d11df8d2dcde81f429ac348ee"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:55 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:35:14 2012 -0800"
      },
      "message": "PCI: Use class for quirk for legacy ATA NO_D3\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ae9de56bdda2d27d11df8d2dcde81f429ac348ee",
      "tree": "9e8713fdbc4dc0c2b4dad4d06006b82b85432921",
      "parents": [
        "52d21b5ef4bfc676944a3f214ac05c0406e3966f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:54 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:35:13 2012 -0800"
      },
      "message": "PCI: Use class for quirk for cardbus_legacy\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "52d21b5ef4bfc676944a3f214ac05c0406e3966f",
      "tree": "8deb82b638d7aeeec8fb5b5b1b6e903c1d3a493c",
      "parents": [
        "73e3b590f38fb7c03ee370430348edf1f401204e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:53 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:34:48 2012 -0800"
      },
      "message": "PCI: Use class for quirk for host bridge mmio_always_on\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f4ca5c6a56278ca5421bc2e40422e4155b6735d8",
      "tree": "53be4f61e4da75deae8cbcd4948d6d3b47404d79",
      "parents": [
        "ecd58d667a6ac4350d2f67b9accaadf575bae4b0"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 23:46:49 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:34:40 2012 -0800"
      },
      "message": "PCI: Add class support in quirk handling\n\nRecently added support to allow quirks to report duration also make the\nboot log very crowded when initcall_debug is specified.\n\nOne thing we can to do mitigate this is to not call quirks unnecessarily\nby adding a new quirk declaration macro that takes a class argument.\n\nThe new macro takes a class value and a class shift value (since it can\nvary) so that quirks will be limited to certain device classes, greatly\nreducing the number we call on every PCI device addition.\n\n-v2: fix v1 that left over of sparated patch.\n-v3: according to Jesse, change cls to class, cls_shift, to class_shift.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ecd58d667a6ac4350d2f67b9accaadf575bae4b0",
      "tree": "5209771a0a1f61820171e444d3e4a580ecf3955f",
      "parents": [
        "b07f2ebc109b607789f648dedcff4b125f9afec6",
        "fb127cb9de791d62fb393d6e65fa9869bddd2460"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:25:33 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 14:25:33 2012 -0800"
      },
      "message": "Merge branch \u0027pci-next+probe_only+bus2res-fb127cb\u0027 of git://github.com/bjorn-helgaas/linux into linux-next\n"
    },
    {
      "commit": "b07f2ebc109b607789f648dedcff4b125f9afec6",
      "tree": "3868d50119a2ba1721914e9b53f12d996c5d45b4",
      "parents": [
        "eb572e7c76f154d75f90a783924f88afc34d5fec"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 19:23:32 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 09:38:59 2012 -0800"
      },
      "message": "PCI: add a PCI resource reallocation config option\n\nAdd a new config option, PCI_REALLOC_ENABLE_AUTO, which will\nautomatically try to re-allocate PCI resources if PCI_IOV support is\nenabled and the SR-IOV resources are unassigned.  Behavior can still be\ncontrolled using the pci\u003drealloc\u003d parameter.\n\n-v2: According to Jesse, adding one CONFIG option for distribution to\n     disable it or enable it.\n-v3: update Kconfig text (jbarnes)\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "eb572e7c76f154d75f90a783924f88afc34d5fec",
      "tree": "79e87cc204d3e04b911c25dee39c7ebe5079d276",
      "parents": [
        "b55438fdd5173a367659a7e200acea6c9f77b8cb"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 19:23:31 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 08:47:53 2012 -0800"
      },
      "message": "PCI: print out suggestion about using pci\u003drealloc\n\nlet user know they could try if pci\u003drealloc could help.\n\n-v2: update suggestion text.\n\nSuggested-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b55438fdd5173a367659a7e200acea6c9f77b8cb",
      "tree": "fbcb4ac2e03abcf6933b18fce56361adbcda84af",
      "parents": [
        "0c5be0cb0edfe3b5c4b62eac68aa2aa15ec681af"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 19:23:30 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 08:47:42 2012 -0800"
      },
      "message": "PCI: prepare pci\u003drealloc for multiple options\n\nLet the user could enable and disable with pci\u003drealloc\u003don or pci\u003drealloc\u003doff\n\nAlso\n1. move variable and functions near the place they are used.\n2. change macro to function\n3. change related functions and variable to static and _init\n4. update parameter description accordingly.\n\nThis will let us add a config option to control default behavior, and\nstill allow the user to turn off automatic reallocation if it fails on\ntheir platform until a permanent solution is found.\n\n-v2: still honor pci\u003drealloc, and treat it as pci\u003drealloc\u003don\n     also use enum instead of ...\n-v3: update kernel-paramenters.txt according to Jesse.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0c5be0cb0edfe3b5c4b62eac68aa2aa15ec681af",
      "tree": "8051eb17c0b95701186bdf53e1a263d641f8b8e7",
      "parents": [
        "823806ff6bd63f92644a5330cf0c3b68fac25ffd"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Thu Feb 23 19:23:29 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 24 08:44:38 2012 -0800"
      },
      "message": "PCI: Retry on IORESOURCE_IO type allocations\n\nWhen enabling pci reallocation for a pci bridge, we clear the small size\nin in bridge and re-assign with requested + optional size for first\nseveral tries, but Ram mention could have problem with one case:\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d15960\n\nAfter checking the booting log in\n\thttps://lkml.org/lkml/2010/4/19/44\n\t[regression, bisected] Xonar DX invalid PCI I/O range since 977d17bb174\n\nWe should not stop too early for io ports.\n\tApr 19 10:19:38 [kernel] pci 0000:04:00.0: BAR 7: can\u0027t assign io (size 0x4000)\n\tApr 19 10:19:38 [kernel] pci 0000:05:01.0: BAR 8: assigned [mem 0x80400000-0x805fffff]\n\tApr 19 10:19:38 [kernel] pci 0000:05:01.0: BAR 7: can\u0027t assign io (size 0x2000)\n\tApr 19 10:19:38 [kernel] pci 0000:05:02.0: BAR 7: can\u0027t assign io (size 0x1000)\n\tApr 19 10:19:38 [kernel] pci 0000:05:03.0: BAR 7: can\u0027t assign io (size 0x1000)\n\tApr 19 10:19:38 [kernel] pci 0000:08:00.0: BAR 7: can\u0027t assign io (size 0x1000)\n\tApr 19 10:19:38 [kernel] pci 0000:09:04.0: BAR 0: can\u0027t assign io (size 0x100)\nand clear 00:1c.0 to retry again.\n\nThis patch removes IORESOUCE_IO checking, and tries one more time.  It\ngives us a chance to get an allocation for the 00:1c.0 io port range\nbecause the range from 0x4000 to 0x8000 will be freed and we can use it.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fb127cb9de791d62fb393d6e65fa9869bddd2460",
      "tree": "5cb45ac2fd5139cfc9165fead210a3ad2bb3b2a5",
      "parents": [
        "4ba2aef3157f483fd67ac2616f14dbc32a3f751d"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:04 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:04 2012 -0700"
      },
      "message": "PCI: collapse pcibios_resource_to_bus\n\nEverybody uses the generic pcibios_resource_to_bus() supplied by the core\nnow, so remove the ARCH_HAS_GENERIC_PCI_OFFSETS used during conversion.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "36a66cd6fd0a70ac6848d740d9cf7a4360b5776a",
      "tree": "7cc903ad9f63e9bd1065b6d722fb86f4196dceea",
      "parents": [
        "5bfa14ed9f3ca21fcecbcfbf4a848c002b740c41"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:00 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:00 2012 -0700"
      },
      "message": "PCI: add generic pcibios_resource_to_bus()\n\nThis replaces the generic versions of pcibios_resource_to_bus() and\npcibios_bus_to_resource() in asm-generic/pci.h with versions that use\npci_resource_to_bus() and pci_bus_to_resource().\n\nThe replacements are equivalent except that they can apply host\nbridge window offsets when the arch has supplied them by using\npci_add_resource_offset().\n\nEach arch can convert to using pci_add_resource_offset() individually by\nremoving its device resource fixups from pcibios_fixup_bus() and supplying\nARCH_HAS_GENERIC_PCI_OFFSETS.  ARCH_HAS_GENERIC_PCI_OFFSETS can be removed\nafter all have converted.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "5bfa14ed9f3ca21fcecbcfbf4a848c002b740c41",
      "tree": "dc28c99c694007fca535b906c1044101241abb73",
      "parents": [
        "0efd5aab41e18a1175f72641696cfda154ba6c87"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:00 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:00 2012 -0700"
      },
      "message": "PCI: convert bus addresses to resource when reading BARs\n\nSome PCI host bridges translate CPU addresses to PCI bus addresses.\nPreviously, we initialized pci_dev resources with PCI bus addresses,\nthen converted them to CPU addresses later in arch-specific code\n(pcibios_fixup_resources()), which leaves a window of time where the\npci_dev resources are incorrect.\n\nThis patch adds support in the core for this address translation.\nWhen the arch creates the root bus, it can supply the host bridge\naddress translation information, and the core can use it to set the\npci_dev resources correctly from the beginning.\n\nThis gives us a way to fix the problem that quirks that run between device\ndiscovery and pcibios_fixup_resources() fail because they use pci_dev\nresources that haven\u0027t been converted.  The reference below is to one\nsuch problem that affected ARM and ia64.\n\nNote that this patch has no effect until an arch starts using\npci_add_resource_offset() with a non-zero offset: before that, all\nall host bridge windows have a zero offset and pci_bus_to_resource()\ncopies the pci_bus_region directly to the struct resource.\n\nReference: https://lkml.org/lkml/2009/10/12/405\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "0efd5aab41e18a1175f72641696cfda154ba6c87",
      "tree": "2480b5ade8937d18104c5ecc1423ca1eac1b154e",
      "parents": [
        "5a21d70dbd33d20713fb735ad9381711b0ae2c9b"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:00 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:19:00 2012 -0700"
      },
      "message": "PCI: add struct pci_host_bridge_window with CPU/bus address offset\n\nSome PCI host bridges apply an address offset, so bus addresses on PCI are\ndifferent from CPU addresses.  This patch adds a way for architectures to\ntell the PCI core about this offset.  For example:\n\n    LIST_HEAD(resources);\n    pci_add_resource_offset(\u0026resources, host-\u003eio_space, host-\u003eio_offset);\n    pci_add_resource_offset(\u0026resources, host-\u003emem_space, host-\u003emem_offset);\n    pci_scan_root_bus(parent, bus, ops, sysdata, \u0026resources);\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "5a21d70dbd33d20713fb735ad9381711b0ae2c9b",
      "tree": "f3c6c65295f1356f62389fafad777d7be047aca5",
      "parents": [
        "a5390aa6dc3646b08bed421944cef0daf78ab994"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:59 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:59 2012 -0700"
      },
      "message": "PCI: add struct pci_host_bridge and a list of all bridges found\n\nThis adds a list of all PCI host bridges we find and a way to look up\nthe host bridge from a pci_dev.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "a5390aa6dc3646b08bed421944cef0daf78ab994",
      "tree": "c7c84410c2db3ca93e912135cd3c1722d4b644ac",
      "parents": [
        "844393f4c5e309dd262b27796471c47e348b57a8"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:59 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:59 2012 -0700"
      },
      "message": "PCI: don\u0027t publish new root bus until it\u0027s fully initialized\n\nWhen pci_create_root_bus() adds the new struct pci_bus to the global\npci_root_buses list, the bus becomes visible to other parts of the\nkernel, so it should be fully initialized.\n\nThis patch delays adding the bus to the pci_root_buses list until after\nall the struct pci_bus initialization is finished.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "844393f4c5e309dd262b27796471c47e348b57a8",
      "tree": "d6504c2d39437f3c3a2d27bd313f13882e75a90e",
      "parents": [
        "b9c40b076c9d247494f91521e3beff9422cd1173"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:59 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:59 2012 -0700"
      },
      "message": "PCI: make pci_flags non-weak\n\nNo architecture defines its own pci_flags, so the core symbol does not\nneed to be weak.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "47087700ce3ccb2bf69f4dcb6ad7f59764e51308",
      "tree": "a5c59cb190882dfc72026c32308c22aaa5344d05",
      "parents": [
        "823806ff6bd63f92644a5330cf0c3b68fac25ffd"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 14:29:23 2012 -0700"
      },
      "committer": {
        "name": "Bjorn Helgaas",
        "email": "bhelgaas@google.com",
        "time": "Thu Feb 23 20:18:55 2012 -0700"
      },
      "message": "PCI: make pci_flags always available\n\nIf we move resource assignment functions into the core, we\u0027ll still\nneed a way for architectures to prevent reassignment, e.g., the\n\"pci_probe_only\" functionality, and we\u0027ll need a generic, always\navailable way the core can test for that.  The \"pci_flags\"\narrangement used by several architectures seems like a convenient\nway to do this.\n\nSigned-off-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\n"
    },
    {
      "commit": "7570a333d8b00e7fd4b05d898e353000a70210ce",
      "tree": "0454e2690a7efb093ffe7764ea9dd235e9babf9b",
      "parents": [
        "34a4876e3071ddebf3c98c99ba01c14b059a1361"
      ],
      "author": {
        "name": "MUNEDA Takahiro",
        "email": "muneda.takahiro@jp.fujitsu.com",
        "time": "Thu Feb 02 11:09:22 2012 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 12:29:35 2012 -0800"
      },
      "message": "PCI: Add pcie_hp\u003dnomsi to disable MSI/MSI-X for pciehp driver\n\nAdd a parameter to avoid using MSI/MSI-X for PCIe native hotplug; it\u0027s\nknown to be buggy on some platforms.\n\nIn my environment, while shutting down, following stack trace is shown\nsometimes.\n\n  irq 16: nobody cared (try booting with the \"irqpoll\" option)\n  Pid: 1081, comm: reboot Not tainted 3.2.0 #1\n  Call Trace:\n   \u003cIRQ\u003e  [\u003cffffffff810cec1d\u003e] __report_bad_irq+0x3d/0xe0\n   [\u003cffffffff810cee1c\u003e] note_interrupt+0x15c/0x210\n   [\u003cffffffff810cc485\u003e] handle_irq_event_percpu+0xb5/0x210\n   [\u003cffffffff810cc621\u003e] handle_irq_event+0x41/0x70\n   [\u003cffffffff810cf675\u003e] handle_fasteoi_irq+0x55/0xc0\n   [\u003cffffffff81015356\u003e] handle_irq+0x46/0xb0\n   [\u003cffffffff814fbe9d\u003e] do_IRQ+0x5d/0xe0\n   [\u003cffffffff814f146e\u003e] common_interrupt+0x6e/0x6e\n   [\u003cffffffff8106b040\u003e] ? __do_softirq+0x60/0x210\n   [\u003cffffffff8108aeb1\u003e] ? hrtimer_interrupt+0x151/0x240\n   [\u003cffffffff814fb5ec\u003e] call_softirq+0x1c/0x30\n   [\u003cffffffff810152d5\u003e] do_softirq+0x65/0xa0\n   [\u003cffffffff8106ae9d\u003e] irq_exit+0xbd/0xe0\n   [\u003cffffffff814fbf8e\u003e] smp_apic_timer_interrupt+0x6e/0x99\n   [\u003cffffffff814f9e5e\u003e] apic_timer_interrupt+0x6e/0x80\n   \u003cEOI\u003e  [\u003cffffffff814f0fb1\u003e] ? _raw_spin_unlock_irqrestore+0x11/0x20\n   [\u003cffffffff812629fc\u003e] pci_bus_write_config_word+0x6c/0x80\n   [\u003cffffffff81266fc2\u003e] pci_intx+0x52/0xa0\n   [\u003cffffffff8127de3d\u003e] pci_intx_for_msi+0x1d/0x30\n  [\u003cffffffff8127e4fb\u003e] pci_msi_shutdown+0x7b/0x110\n   [\u003cffffffff81269d34\u003e] pci_device_shutdown+0x34/0x50\n   [\u003cffffffff81326c4f\u003e] device_shutdown+0x2f/0x140\n   [\u003cffffffff8107b981\u003e] kernel_restart_prepare+0x31/0x40\n   [\u003cffffffff8107b9e6\u003e] kernel_restart+0x16/0x60\n   [\u003cffffffff8107bbfd\u003e] sys_reboot+0x1ad/0x220\n   [\u003cffffffff814f4b90\u003e] ? do_page_fault+0x1e0/0x460\n   [\u003cffffffff811942d0\u003e] ? __sync_filesystem+0x90/0x90\n   [\u003cffffffff8105c9aa\u003e] ? __cond_resched+0x2a/0x40\n   [\u003cffffffff814ef090\u003e] ? _cond_resched+0x30/0x40\n   [\u003cffffffff81169e17\u003e] ? iterate_supers+0xb7/0xd0\n   [\u003cffffffff814f9382\u003e] system_call_fastpath+0x16/0x1b\n  handlers:\n  [\u003cffffffff8138a0f0\u003e] usb_hcd_irq\n  [\u003cffffffff8138a0f0\u003e] usb_hcd_irq\n  [\u003cffffffff8138a0f0\u003e] usb_hcd_irq\n  Disabling IRQ #16\n\nAn un-wanted interrupt is generated when PCI driver switches from\nMSI/MSI-X to INTx while shutting down the device.  The interrupt does\nnot happen if MSI/MSI-X is not used on the device.\nI confirmed that this problem does not happen if pcie_hp\u003dnomsi was\nspecified and hotplug operation worked fine as usual.\n\nv2: Automatically disable MSI/MSI-X against following device:\n    PCI bridge: Integrated Device Technology, Inc. Device 807f (rev 02)\nv3: Based on the review comment, combile the if statements.\nv4: Removed module parameter.\n    Move some code to build pciehp as a module.\n    Move device specific code to driver/pci/quirks.c.\nv5: Drop a device specific code until getting a vendor statement.\n\nReviewed-by: Kenji Kaneshige \u003ckaneshige.kenji@jp.fujitsu.com\u003e\nSigned-off-by: MUNEDA Takahiro \u003cmuneda.takahiro@jp.fujitsu.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "34a4876e3071ddebf3c98c99ba01c14b059a1361",
      "tree": "e1450472300e41f407c5cfec49b157450d8d85d8",
      "parents": [
        "f796841e49fe086176e27ed0e1f3f7a1123a4a6b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 11 00:18:41 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 12:27:11 2012 -0800"
      },
      "message": "PCI: move pci_find_saved_cap out of linux/pci.h\n\nOnly one user in driver/pci/pci.c, so we don\u0027t need to put it in global\npci.h\n\nReviewed-by: Bjorn Helgaas \u003cbhelgaas@google.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f796841e49fe086176e27ed0e1f3f7a1123a4a6b",
      "tree": "60d5b1f245ba1a2ca6d81e5e73379cfb26089071",
      "parents": [
        "2dd8ba921d570fcd016f8038c63fa9668892d16b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 11 00:18:30 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 12:08:53 2012 -0800"
      },
      "message": "PCI: fix memleak for pci dev removing during hotplug\n\nunreferenced object 0xffff880276d17700 (size 64):\n  comm \"swapper/0\", pid 1, jiffies 4294897182 (age 3976.028s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 18 f9 de 76 02 88 ff ff  ...........v....\n    10 00 00 00 0e 00 00 00 0f 28 40 00 00 00 00 00  .........(@.....\n  backtrace:\n    [\u003cffffffff81c8aede\u003e] kmemleak_alloc+0x26/0x43\n    [\u003cffffffff811385f0\u003e] __kmalloc+0x121/0x183\n    [\u003cffffffff813cf821\u003e] pci_add_cap_save_buffer+0x35/0x7c\n    [\u003cffffffff813d12b7\u003e] pci_allocate_cap_save_buffers+0x1d/0x65\n    [\u003cffffffff813cdb52\u003e] pci_device_add+0x92/0xf1\n    [\u003cffffffff81c8afe6\u003e] pci_scan_single_device+0x9f/0xa1\n    [\u003cffffffff813cdbd2\u003e] pci_scan_slot.part.20+0x21/0x106\n    [\u003cffffffff813cdce2\u003e] pci_scan_slot+0x2b/0x35\n    [\u003cffffffff81c8dae4\u003e] __pci_scan_child_bus+0x51/0x107\n    [\u003cffffffff81c8d75b\u003e] pci_scan_bridge+0x376/0x6ae\n    [\u003cffffffff81c8db60\u003e] __pci_scan_child_bus+0xcd/0x107\n    [\u003cffffffff81c8dbab\u003e] pci_scan_child_bus+0x11/0x2a\n    [\u003cffffffff81cca58c\u003e] pci_acpi_scan_root+0x18b/0x21c\n    [\u003cffffffff81c916be\u003e] acpi_pci_root_add+0x1e1/0x42a\n    [\u003cffffffff81406210\u003e] acpi_device_probe+0x50/0x190\n    [\u003cffffffff814a0227\u003e] really_probe+0x99/0x126\n\nNeed to free saved_buffer for capabilities.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2dd8ba921d570fcd016f8038c63fa9668892d16b",
      "tree": "f2ff01098ed51ee0b6682f91c1b9bf628c84f848",
      "parents": [
        "9ad52e63db1bc588636bc66b9133498c46e6535c"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sun Feb 19 14:50:12 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 12:05:59 2012 -0800"
      },
      "message": "PCI: Fix device class print out\n\nFound debug print of class is shifted.\n\n| pci 0000:f8:15.2: [8086:2b56] type 0 class 0x000600\n\nCode is trying to print class with 6 digits, but use shifted class with\n4 digits valid value as variable.\n\nChange to original dev-\u003eclass directly.\n\nAlso remove not needed calculating of local variable class, because it\nwill be updated after pci_fixup_device(pci_fixup_early...)\n\nAlso unify type print out when class and header is not matched.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3796f1e2ca38deebd30aa755ea52562b6926c73e",
      "tree": "8343152f81995af76c68cd253e75886f2724cae9",
      "parents": [
        "1184893439b1a7532b579a85a354db12bbf1b277"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Feb 10 15:33:48 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 12:00:04 2012 -0800"
      },
      "message": "PCI: Skip cardbus assigned resource reset during pci bus rescan\n\nOtherwise when rescan is used for cardbus, assigned resources will get\ncleared.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nTested-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1184893439b1a7532b579a85a354db12bbf1b277",
      "tree": "cfba5be149def3389707a0773909d44c50b58f30",
      "parents": [
        "dcef0d06b34a80071da4496556e85f9bf3b3c0bf"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Feb 10 15:33:47 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 11:59:56 2012 -0800"
      },
      "message": "PCI: Fix \"cardbus bridge resources as optional\" size handling\n\nWe should not set the requested size to -2; that will confuse the\nresource list sorting with align when SIZEALIGN is used.\n\nChange to STARTALIGN and pass align from start;  we are safe to do that\njust as we do that regular pci bridge.  In the long run, we should just\ntreat cardbus like a regular pci bridge.\n\nAlso fix the case when realloc_head is not passed: we should keep the\nrequested size.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nTested-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nAcked-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "dcef0d06b34a80071da4496556e85f9bf3b3c0bf",
      "tree": "0801a6c7dbbcc2ac3ba05b59e506ebf6cc5d3df7",
      "parents": [
        "5b415f1e79e0c09366f26e3eabe751642059285a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Feb 10 15:33:46 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Feb 23 11:59:45 2012 -0800"
      },
      "message": "PCI: Disable cardbus bridge MEM1 prefetchable bit\n\nSome BIOSes enable prefetch on both MEM0 and MEM1.  But the cardbus code\nassumes MEM1 is non-pref...\n\nDiscussion could be found at:\n\thttps://lkml.org/lkml/2012/1/12/1\n\thttps://bugzilla.kernel.org/show_bug.cgi?id\u003d41622#c23\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nTested-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7bcd5b4671c3aa9185a7e6f76ee12e392070ddea",
      "tree": "db80f1cc57cdec18e46bf8e37691b02f9a2ce35e",
      "parents": [
        "58e44bafbb601b5abc250cdbb032b1f4022ef30a",
        "3682a3946d2b0bad621db871e3bead83e523a238"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\nOne regression fix for SR-IOV on PPC and a couple of misc fixes from\nYinghai.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:\n  PCI: Fix pci cardbus removal\n  PCI: set pci sriov page size before reading SRIOV BAR\n  PCI: workaround hard-wired bus number V2\n"
    },
    {
      "commit": "5b415f1e79e0c09366f26e3eabe751642059285a",
      "tree": "a21fc072c7383531e41ecda6be72080c785ee81f",
      "parents": [
        "09cedbef4428580a09b342a7a92a262cfb5cbf25"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Feb 07 00:50:35 2012 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 17 09:22:04 2012 -0800"
      },
      "message": "PCI / PM: Disable wakeup during shutdown for devices not enabled to wake up\n\nIf a PCI device is enabled to generate wakeup signals (PME) when put\ninto a low-power state by runtime PM, it will be still enabled to\ngenerate those signals after the system shutdown, unless its driver\u0027s\n.shutdown() callback takes care of the wakeup signals generation\nsetting.  Moreover, there are devices that are not enabled to wake\nup the system and that are configured by runtime PM to generate\nwakeup signals so that (runtime) remote wakeup works with them.\nThose devices should be reconfigured during system shutdown so that\nthey don\u0027t generate wakeup signals, but at least some drivers don\u0027t\ndo that.  However, that very well may be done by the PCI core so\nthat drivers don\u0027t have to worry about it.  For this reason, modify\npci_device_shutdown() to disable the generation of wakeup events for\ndevices not supposed to wake up the system.\n\nReferences: https://bugzilla.kernel.org/show_bug.cgi?id\u003d37952\nReported-and-tested-by: Kamil Iskra \u003ckamil.54002@iskra.name\u003e\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "09cedbef4428580a09b342a7a92a262cfb5cbf25",
      "tree": "5ad0b8879ae0a3ef1cff5e5e82da4932ef1216e7",
      "parents": [
        "ad71c96213a68dfe6d761e3ff7ac7ac267fd612a"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 04 22:55:01 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 17 09:22:03 2012 -0800"
      },
      "message": "PCI: Fix /sys warning when sriov enabled and card is hot removed\n\nsysfs is a bit stricter now and emits warnings in more cases.\n\nFor SRIOV hotplug, we are calling pci_stop_dev() for each VF first\n(after we update pci_stop_bus_devices) which remove each VF subdir.  So\ndouble check the VF dir in /sys before trying to remove the physfn link.\n\nSigned-of-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ad71c96213a68dfe6d761e3ff7ac7ac267fd612a",
      "tree": "e1586751c7249035c128de60a5721aafa997e2d5",
      "parents": [
        "f67fd55fa96f7d7295b43ffbc4a97d8f55e473aa"
      ],
      "author": {
        "name": "Matthew Garrett",
        "email": "mjg@redhat.com",
        "time": "Fri Feb 03 10:18:13 2012 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 17 09:22:03 2012 -0800"
      },
      "message": "PCI: pcie: Add support for setting default ASPM policy\n\nDistributions may wish to provide different defaults for PCIE ASPM\ndepending on their target audience. Provide a configuration option for\nchoosing the default policy.\n\nSigned-off-by: Matthew Garrett \u003cmjg@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "694ce18ec3485f5b0a4f3820073f5e2b0b4e0870",
      "tree": "e979926df34b41e17024107ee4731739608d8b51",
      "parents": [
        "13d261932bbfff7f45f288c5c8cce43177cccd3b",
        "a43a5ccdfa5bd5b2f00aa9b2321df268c2e5d6e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:11 2012 -0800"
      },
      "message": "Merge tag \u0027stable/for-linus-fixes-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nTwo fixes for VCPU offlining; One to fix the string format exposed\nby the xen-pci[front|back] to conform to the one used in majority of\nPCI drivers; Two fixes to make the code more resilient to invalid\nconfigurations.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n\n* tag \u0027stable/for-linus-fixes-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xenbus_dev: add missing error check to watch handling\n  xen/pci[front|back]: Use %d instead of %1x for displaying PCI devfn.\n  xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback\n  xen/smp: Fix CPU online/offline bug triggering a BUG: scheduling while atomic.\n  xen/bootup: During bootup suppress XENBUS: Unable to read cpu state\n"
    },
    {
      "commit": "f67fd55fa96f7d7295b43ffbc4a97d8f55e473aa",
      "tree": "93f18189c8b1d944e2433d9bfb70a1f67b4148a5",
      "parents": [
        "3209874a1da2c51c7325e601d9634189ee178ad6"
      ],
      "author": {
        "name": "Thomas Jarosch",
        "email": "thomas.jarosch@intra2net.com",
        "time": "Wed Dec 07 22:08:11 2011 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:26 2012 -0800"
      },
      "message": "PCI: Add quirk for still enabled interrupts on Intel Sandy Bridge GPUs\n\nSome BIOS implementations leave the Intel GPU interrupts enabled,\neven though no one is handling them (f.e. i915 driver is never loaded).\nAdditionally the interrupt destination is not set up properly\nand the interrupt ends up -somewhere-.\n\nThese spurious interrupts are \"sticky\" and the kernel disables\nthe (shared) interrupt line after 100.000+ generated interrupts.\n\nFix it by disabling the still enabled interrupts.\nThis resolves crashes often seen on monitor unplug.\n\nTested on the following boards:\n- Intel DH61CR: Affected\n- Intel DH67BL: Affected\n- Intel S1200KP server board: Affected\n- Asus P8H61-M LE: Affected, but system does not crash.\n  Probably the IRQ ends up somewhere unnoticed.\n\nAccording to reports on the net, the Intel DH61WW board is also affected.\n\nMany thanks to Jesse Barnes from Intel for helping\nwith the register configuration and to Intel in general\nfor providing public hardware documentation.\n\nSigned-off-by: Thomas Jarosch \u003cthomas.jarosch@intra2net.com\u003e\nTested-by: Charlie Suffin \u003ccharlie.suffin@stratus.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3209874a1da2c51c7325e601d9634189ee178ad6",
      "tree": "a666c6502ac49e43f253b2d611465afa0e9336c1",
      "parents": [
        "309c665110ee6a8d9a28f802c41eaab50ceebbf7"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@infradead.org",
        "time": "Mon Jan 30 20:52:07 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:04 2012 -0800"
      },
      "message": "PCI: Annotate PCI quirks in initcall_debug style\n\nWhile diagnosing some boot time issues on a platform, all that I\ncould see in the bootgraph/dmesg was that the system was spending\na lot of time in applying one or more PCI quirks... which\nwas virtually undebuggable.\n\nThis patch adds printk\u0027s in \"initcall_debug\" style to the dmesg,\nwhich are added when the user asks for the initcall_debug\n(the nr one tool to use when debugging boot hangs or boot time issues)\nkernel command line option.\n\nv2: add #includes so quirks can build on non-x86\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "309c665110ee6a8d9a28f802c41eaab50ceebbf7",
      "tree": "e0b3fa4dd0c6e0535314118597151e01c2479568",
      "parents": [
        "26f41062f28de65e11d3cf353e52d0be73442be1"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Mon Jan 30 23:00:10 2012 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:03 2012 -0800"
      },
      "message": "PCI hotplug: cpcihp: fix debug module parameter to be bool\n\nFix debug variable from module parameter to be really bool to\nfix \u0027warning: return from incompatible pointer type\u0027.\n\nAcked-by: Scott Murray \u003cscott@spiteful.org\u003e\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "26f41062f28de65e11d3cf353e52d0be73442be1",
      "tree": "55ff1002ff04ad6eb8efd8e60f8b60419bc16c64",
      "parents": [
        "2debd9289997fc5d1c0043b41201a8b40d5e11d0"
      ],
      "author": {
        "name": "Kay, Allen M",
        "email": "allen.m.kay@intel.com",
        "time": "Thu Jan 26 10:25:53 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:02 2012 -0800"
      },
      "message": "PCI: check for pci bar restore completion and retry\n\nOn some OEM systems, pci_restore_state() is called while FLR has not yet\ncompleted.  As a result, PCI BAR register restore is not successful.  This fix\nreads back the restored value and compares it with saved value and re-tries 10\ntimes before giving up.\n\nSigned-off-by: Jean Guyader \u003cjean.guyader@eu.citrix.com\u003e\nSigned-off-by: Eric Chanudet \u003ceric.chanudet@citrix.com\u003e\nSigned-off-by: Allen Kay \u003callen.m.kay@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2debd9289997fc5d1c0043b41201a8b40d5e11d0",
      "tree": "a05fc1c9a3af920eb3f5844bcca0bfa878396d62",
      "parents": [
        "7f822999e12a144e68c915194267108f8051cf9b"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:15 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:02 2012 -0800"
      },
      "message": "PCI: pciehp: Disable/enable link during slot power off/on\n\nOn a system with a repeater on the system board to support gen2 hotplug,\nwe found that when an ExpressModule is removed from some slots,\n/var/log/messages will be full of \"card present/not present\" warnings.\n\nIt turns out the root complex is continually trying to train the link to\nthe repeater because the repeater has not been reset.\n\nThis patch will disable the link at removal time to allow the repeater\nto be reset properly.  This also prevents a potential AER message at\nremoval time.\n\nAlso, when testing hotplug on a system under development, we found if we\nboot the system without an EM installed, and later hot-add an EM, it\ndoes not work with Linux, but another OS is ok.  The root cause is that\nBIOS left link disabled when slot was empty at boot time, and other OS\nis modifying the link disable bit in link ctrl during power on/off.\n\nSo we should do the same thing to disable/enable link during power off/on.\n\n-v2: check link DLLA bit instead of 100ms waiting.\n     Separate link disable/enable functions to another patch.\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "7f822999e12a144e68c915194267108f8051cf9b",
      "tree": "8836b3dcde3fa8c8847a045e638089c97542fd0e",
      "parents": [
        "bffe4f72fcdd92bfb24909d586d1636e5cec500d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:14 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:01 2012 -0800"
      },
      "message": "PCI: pciehp: Add Disable/enable link functions\n\nWill use it during power off/on of slots\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bffe4f72fcdd92bfb24909d586d1636e5cec500d",
      "tree": "838c8a55fcafd065a01c2b054119f483e25c6e78",
      "parents": [
        "4e2ce405b24eef9f4cc947bf5f430ca27b474f1f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:13 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:01 2012 -0800"
      },
      "message": "PCI: pciehp: Add pcie_wait_link_not_active()\n\nWill use it for link disable status checking.\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "4e2ce405b24eef9f4cc947bf5f430ca27b474f1f",
      "tree": "94f98ed4f240c44209efe9d2321da27a15feb7bd",
      "parents": [
        "2f5d8e4ff947ad6673397083b48719cd6c59cd61"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:12 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:00 2012 -0800"
      },
      "message": "PCI: pciehp: make check_link_active more helpful\n\nA few changes:\n  - remove the \u0027inline\u0027 and let the complier decide\n  - return a bool to indicate whether the link was active\n  - add a debug message to indicate link state when it beocmes active\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2f5d8e4ff947ad6673397083b48719cd6c59cd61",
      "tree": "46e1c6901937b7f983b511d6e14498000e2989bb",
      "parents": [
        "efdc87dab1cdf25ba631181ac0ead3fb2023dd10"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:11 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:45:00 2012 -0800"
      },
      "message": "PCI: pciehp: replace unconditional sleep with config space access check\n\nDuring reviewing\n|\tPCI: pciehp: wait 1000 ms before Link Training check\nLinus said:\n\u003e...\n\u003e That\u0027s a *long* time, and it\u0027s irritating to the user. It makes the\n\u003e user think \"the machine is slow\".\n\u003e...\n\u003e And quite frankly, an unconditional one-second delay here seems bad.\n\u003eTwo seconds was unacceptable, one second is just bad.\n\nTry to access the pci conf of a pci device that is supposed to show up\nin 1s.  If we can read back a valid vendor/device id, we can return\nearly.\n\nRelated discussion could be found:\n\thttps://lkml.org/lkml/2011/12/6/339\n\n-v2: seperate code to pci_bus_read_dev_vendor_id() from pci_scan_device()\n    and reuse it from pciehp code. Suggested by Matthew Wilcox.\n-v3: According to Kenj, don\u0027t use array in stack, and don\u0027t wait too long\n    for crs, also return fail status if not found.\n    Also separate pci_bus_dev_read_vendor_id() change to another patch.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "efdc87dab1cdf25ba631181ac0ead3fb2023dd10",
      "tree": "f55b7d0b2e9bbfd9dd280c85166aef423bf68d75",
      "parents": [
        "ac205b7bb72fa4227d2e79979bbe2b4687cdf44d"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:10 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:59 2012 -0800"
      },
      "message": "PCI: Separate pci_bus_read_dev_vendor_id from pci_scan_device\n\nWe can reuse it for pciehp probing.\n\n-v2: according to Kenji, fix crs timeout checking, and export the function\n     for later use when pciehp is compiled as a module.\n\nSuggested-by: Matthew Wilcox \u003cmatthew@wil.cx\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ac205b7bb72fa4227d2e79979bbe2b4687cdf44d",
      "tree": "8237ee0dd7ee2096e8d96a2b48d03b9559932d8f",
      "parents": [
        "67cc7e26a5c46508ee00b9fe169aad833b798025"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Fri Jan 27 10:55:09 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:59 2012 -0800"
      },
      "message": "PCI: make sriov work with hotplug remove\n\nWhen hot removing a pci express module that has a pcie switch and supports\nSRIOV, we got:\n\n[ 5918.610127] pciehp 0000:80:02.2:pcie04: pcie_isr: intr_loc 1\n[ 5918.615779] pciehp 0000:80:02.2:pcie04: Attention button interrupt received\n[ 5918.622730] pciehp 0000:80:02.2:pcie04: Button pressed on Slot(3)\n[ 5918.629002] pciehp 0000:80:02.2:pcie04: pciehp_get_power_status: SLOTCTRL a8 value read 1f9\n[ 5918.637416] pciehp 0000:80:02.2:pcie04: PCI slot #3 - powering off due to button press.\n[ 5918.647125] pciehp 0000:80:02.2:pcie04: pcie_isr: intr_loc 10\n[ 5918.653039] pciehp 0000:80:02.2:pcie04: pciehp_green_led_blink: SLOTCTRL a8 write cmd 200\n[ 5918.661229] pciehp 0000:80:02.2:pcie04: pciehp_set_attention_status: SLOTCTRL a8 write cmd c0\n[ 5924.667627] pciehp 0000:80:02.2:pcie04: Disabling domain:bus:device\u003d0000:b0:00\n[ 5924.674909] pciehp 0000:80:02.2:pcie04: pciehp_get_power_status: SLOTCTRL a8 value read 2f9\n[ 5924.683262] pciehp 0000:80:02.2:pcie04: pciehp_unconfigure_device: domain:bus:dev \u003d 0000:b0:00\n[ 5924.693976] libfcoe_device_notification: NETDEV_UNREGISTER eth6\n[ 5924.764979] libfcoe_device_notification: NETDEV_UNREGISTER eth14\n[ 5924.873539] libfcoe_device_notification: NETDEV_UNREGISTER eth15\n[ 5924.995209] libfcoe_device_notification: NETDEV_UNREGISTER eth16\n[ 5926.114407] sxge 0000:b2:00.0: PCI INT A disabled\n[ 5926.119342] BUG: unable to handle kernel NULL pointer dereference at (null)\n[ 5926.127189] IP: [\u003cffffffff81353a3b\u003e] pci_stop_bus_device+0x33/0x83\n[ 5926.133377] PGD 0\n[ 5926.135402] Oops: 0000 [#1] SMP\n[ 5926.138659] CPU 2\n[ 5926.140499] Modules linked in:\n...\n[ 5926.143754]\n[ 5926.275823] Call Trace:\n[ 5926.278267]  [\u003cffffffff81353a38\u003e] pci_stop_bus_device+0x30/0x83\n[ 5926.284180]  [\u003cffffffff81353af4\u003e] pci_remove_bus_device+0x1a/0xba\n[ 5926.290264]  [\u003cffffffff81366311\u003e] pciehp_unconfigure_device+0x110/0x17b\n[ 5926.296866]  [\u003cffffffff81365dd9\u003e] ? pciehp_disable_slot+0x188/0x188\n[ 5926.303123]  [\u003cffffffff81365d6f\u003e] pciehp_disable_slot+0x11e/0x188\n[ 5926.309206]  [\u003cffffffff81365e68\u003e] pciehp_power_thread+0x8f/0xe0\n...\n\n +-[0000:80]-+-00.0-[81-8f]--\n |           +-01.0-[90-9f]--\n |           +-02.0-[a0-af]--\n |           +-02.2-[b0-bf]----00.0-[b1-b3]--+-02.0-[b2]--+-00.0 Device\n |           |                               |            +-00.1 Device\n |           |                               |            +-00.2 Device\n |           |                               |            \\-00.3 Device\n |           |                               \\-03.0-[b3]--+-00.0 Device\n |           |                                            +-00.1 Device\n |           |                                            +-00.2 Device\n |           |                                            \\-00.3 Device\n\nroot complex: 80:02.2\npci express modules: have pcie switch and are listed as b0:00.0, b1:02.0 and b1:03.0.\nend devices  are b2:00.0 and b3.00.0.\nVFs are: b2:00.1,... b2:00.3, and b3:00.1,...,b3:00.3\n\nRoot cause: when doing pci_stop_bus_device() with phys fn, it will stop\nvirt fn and remove the fn, so\n\tlist_for_each_safe(l, n, \u0026bus-\u003edevices)\nwill have problem to refer freed n that is pointed to vf entry.\n\nSolution is just replacing list_for_each_safe() with\nlist_for_each_prev_safe().  This will make sure we can get valid n pointer\nto PF instead of the freed VF pointer (because newly added devices are\ninserted to the bus-\u003edevices list tail).\n\nDuring reviewing the patch, Bjorn said:\n|   The PCI hot-remove path calls pci_stop_bus_devices() via\n|   pci_remove_bus_device().\n|\n|   pci_stop_bus_devices() traverses the bus-\u003edevices list (point A below),\n|   stopping each device in turn, which calls the driver remove() method.  When\n|   the device is an SR-IOV PF, the driver calls pci_disable_sriov(), which\n|   also uses pci_remove_bus_device() to remove the VF devices from the\n|   bus-\u003edevices list (point B).\n|\n|       pci_remove_bus_device\n|         pci_stop_bus_device\n|           pci_stop_bus_devices(subordinate)\n|             list_for_each(bus-\u003edevices)             \u003c-- A\n|               pci_stop_bus_device(PF)\n|                 ...\n|                   driver-\u003eremove\n|                     pci_disable_sriov\n|                       ...\n|                         pci_remove_bus_device(VF)\n|                             \u003cremove from bus_list\u003e  \u003c-- B\n|\n|   At B, we\u0027re changing the same list we\u0027re iterating through at A, so when\n|   the driver remove() method returns, the pci_stop_bus_devices() iterator has\n|   a pointer to a list entry that has already been freed.\n\nDiscussion thread can be found : https://lkml.org/lkml/2011/10/15/141\n\t\t\t\t https://lkml.org/lkml/2012/1/23/360\n\n-v5: According to Linus to make remove more robust, Change to\n     list_for_each_prev_safe instead. That is more reasonable, because\n     those devices are added to tail of the list before.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "67cc7e26a5c46508ee00b9fe169aad833b798025",
      "tree": "bb684ce9e451597efe4fa6a19df0c64fb57a8d6a",
      "parents": [
        "b592443d9045f0880eb4d8cc9125075744db4b9e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:32 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:58 2012 -0800"
      },
      "message": "PCI: remove add_to_failed_list()\n\nOnly one user; just use add_to_list instead.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b592443d9045f0880eb4d8cc9125075744db4b9e",
      "tree": "e8f6d1d49f67f3558ae18b9bde41328a6856569c",
      "parents": [
        "bffc56d41102705d809f88c29918a9c33d2900f7"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:31 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:58 2012 -0800"
      },
      "message": "PCI: add debug print out for add_size\n\nFor use in debugging resource reallocation.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bffc56d41102705d809f88c29918a9c33d2900f7",
      "tree": "61889ca64ef9166ef17ea8555dc0c53c50149b16",
      "parents": [
        "b9b0bba96cf5acbf025f7829fbf6c09e74323b41"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:30 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:57 2012 -0800"
      },
      "message": "PCI: make free_list() into a function\n\nAfter merging struct pci_dev_resource_x and pci_dev_resource,\nWe can use a function instead of macro now.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "b9b0bba96cf5acbf025f7829fbf6c09e74323b41",
      "tree": "64dcc384b6aa90458608cda94bedf67e7486dad8",
      "parents": [
        "764242a0aec69e10b8dc0f4f0303a6800b09cf45"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:29 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:57 2012 -0800"
      },
      "message": "PCI: Rename dev_res_x to add_res or fail_res\n\nLinus says don\u0027t use dev_res_x because it doesn\u0027t communicate anything\nabout usage.  Rename them to add_res or fail_res etc according to\ncontext.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "764242a0aec69e10b8dc0f4f0303a6800b09cf45",
      "tree": "c61109a8d13c8b212be05c069d3339fdc73cfa14",
      "parents": [
        "bdc4abecaeff30b3cc230b418a925999dda594c2"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:28 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:56 2012 -0800"
      },
      "message": "PCI: Merge pci_dev_resource_x and pci_dev_resource\n\npci_dev_resource_x is a superset of pci_dev_resource and they\u0027re just\ntemp structs used during resource reallocation.\n\npci_dev_resource usage is quite limted.\n\nSo just use pci_dev_resource_x, and rename it as new pci_dev_resource.\n\n-v2: According to Linus, Separate free_list change to another patch\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "bdc4abecaeff30b3cc230b418a925999dda594c2",
      "tree": "560705372265c02af5c8e9738a0a2bcaae32bb02",
      "parents": [
        "2934a0de095f277a7bbc15a72ecf61af31a45163"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:27 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:55 2012 -0800"
      },
      "message": "PCI: Replace resource_list with generic list\n\nSo we can use helper functions for generic list.  This makes the\nresource re-allocation code much more readable.\n\n-v2: Use list_add_tail instead of adding list_insert_before, Pointed out\n     by Linus.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2934a0de095f277a7bbc15a72ecf61af31a45163",
      "tree": "26fcc207a7bfa419f5a2ecfdf6bcd63e7e09cdcd",
      "parents": [
        "78c3b329b9dd7097781cb900146e503e499cccfe"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:26 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:55 2012 -0800"
      },
      "message": "PCI: Move struct resource_list to setup-bus.c\n\nNo user outside of setup-bus.c now.  Later patches will convert\nresource_list to a regular list.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "78c3b329b9dd7097781cb900146e503e499cccfe",
      "tree": "0e7648baae8ac6f17b34108f5793aa1e3d4f23f8",
      "parents": [
        "19aa7ee432cec00b647443719eb5c055b69a5e8e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:25 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:54 2012 -0800"
      },
      "message": "PCI: Move pdev_sort_resources() to setup-bus.c\n\nThis allows us to move the definition of struct resource_list to\nsetup_bus.c and later convert resource_list to a regular list.\n\nSuggested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "19aa7ee432cec00b647443719eb5c055b69a5e8e",
      "tree": "7d0175d80dba6171786886ddf388cb97e3d11dad",
      "parents": [
        "9b03088f955552299f50a1f660372698b07ab339"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:24 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:54 2012 -0800"
      },
      "message": "PCI: make re-allocation try harder by reassigning ranges higher in the heirarchy\n\nOn a system with devices that support SRIOV connected to a pcie switch\nto pcie root port:\n\n +-[0000:80]-+-00.0-[81-8f]--\n |           +-01.0-[90-9f]--\n |           +-02.0-[a0-af]----00.0-[a1-a3]--+-02.0-[a2]--+-00.0 Oracle Corporation Device 207a\n |           |                               \\-03.0-[a3]--+-00.0 Oracle Corporation Device 207a\n |           +-02.2-[b0-bf]----00.0-[b1-b3]--+-02.0-[b2]--+-00.0 Oracle Corporation Device 207a\n |           |                               \\-03.0-[b3]--+-00.0 Oracle Corporation Device 207a\n\nWhen the BIOS does not assign resources for SRIOV BARs, kernel pci\nreallocation only goes up one bridge and then gives up, failing to to\nget resources for all sSRIOV BARs, even though the range is large enough\nin the peer root bus.\n\nSpecifically, only the bridge at the a1:02.0 level has its resources\ncleared and reallocated.  The kernel does not go up to clear the bridge\nat the 80:02.0 level.\n\nTo make it go to upper levels, during retry, we need to treat \"good to have\"\nresources as \"must have\".\n\nOnly on the last try will we treat good to have resources as optional.\nAt that time, parent bridge resources will already have been released so\nwe\u0027ll have a chance to get everything assigned with must_have plus\ngood_to_have for all child devices.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "9b03088f955552299f50a1f660372698b07ab339",
      "tree": "4cc4a7d8059186eca4b20a9733f3c0954ff09d96",
      "parents": [
        "2f320521a0d2d11fb857be09d05e2fbbf3ef8c13"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:23 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:53 2012 -0800"
      },
      "message": "PCI: Make pci_rescan_bus handle add_list\n\nThis allows us to allocate resources to hotplug bridges during\nremove/rescan.\n\nWe need to move the function to setup-bus.c so it can use\n__pci_bus_size_bridges and __pci_bus_assign_resources directly to take\nthe add_list resource tracking list.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2f320521a0d2d11fb857be09d05e2fbbf3ef8c13",
      "tree": "9b8d91f3d64f383405511c33fd4d9c5d4aaa20c2",
      "parents": [
        "8424d7592eab8245b51051ee458e598213bca3b2"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:22 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:53 2012 -0800"
      },
      "message": "PCI: Make rescan bus increase bridge resource size if needed\n\nCurrent rescan will not touch bridge MMIO and IO.\n\nTry to reuse pci_assign_unassigned_bridge_resources(bridge) to update bridge\nresources, if child devices need more resources.\n\nOnly do that for bridges whose children are all removed already; i.e. don\u0027t\nrelease resources that could already be in use by drivers on child devices.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8424d7592eab8245b51051ee458e598213bca3b2",
      "tree": "7c1dfe89c382ba8b9875382363a768172d5b6f90",
      "parents": [
        "3e6e0d80941773a6d0ac94354b083b74967f06fb"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:21 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:52 2012 -0800"
      },
      "message": "PCI: Use add_list in pcie hotplug path.\n\nWe need add size for hot plug path when pluging in hotplug chassis\nwithout cards.\n\n-v2: change descriptions. make it applicable after \"pci: Check bridge\n     resources after resource allocation.\"\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3e6e0d80941773a6d0ac94354b083b74967f06fb",
      "tree": "cbf597e9d4c6352baa606dc8c3b08dec92b8f40b",
      "parents": [
        "1c372353e9c681b127f21030f8a0f0c2afd82429"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:20 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:52 2012 -0800"
      },
      "message": "PCI: try to assign required+option size first\n\nWe found reassignment can not find a range for one resource, even if the\ntotal available range is large enough.\n\nbridge b1:02.0 will need 2M+3M\nbridge b1:03.0 will need 2M+3M\n\nso bridge b0:00.0 will get assigned: 4M : [f8000000-f83fffff]\n   later is reassigned to 10M : [f8000000-f9ffffff]\n\nb1:02.0 is assigned to 2M : [f8000000-f81fffff]\nb1:03.0 is assigned to 2M : [f8200000-f83fffff]\n\nAfter that b1:03.0 get chance to be reassigned to [f8200000-f86fffff],\nbut b1:02.0 will not have chance to expand, because b1:03.0 is using in\nmiddle one.\n\n[  187.911401] pci 0000:b1:02.0: bridge window [mem 0x00100000-0x002fffff] to [bus b2-b2] add_size 300000\n[  187.920764] pci 0000:b1:03.0: bridge window [mem 0x00100000-0x002fffff] to [bus b3-b3] add_size 300000\n[  187.930129] pci 0000:b1:02.0: [mem 0x00100000-0x002fffff] get_res_add_size  add_size 300000\n[  187.938500] pci 0000:b1:03.0: [mem 0x00100000-0x002fffff] get_res_add_size  add_size 300000\n[  187.946857] pci 0000:b0:00.0: bridge window [mem 0x00100000-0x004fffff] to [bus b1-b3] add_size 600000\n[  187.956206] pci 0000:b0:00.0: BAR 14: assigned [mem 0xf8000000-0xf83fffff]\n[  187.963102] pci 0000:b0:00.0: BAR 15: assigned [mem 0xf5000000-0xf51fffff pref]\n[  187.970434] pci 0000:b0:00.0: BAR 14: reassigned [mem 0xf8000000-0xf89fffff]\n[  187.977497] pci 0000:b1:02.0: BAR 14: assigned [mem 0xf8000000-0xf81fffff]\n[  187.984383] pci 0000:b1:02.0: BAR 15: assigned [mem 0xf5000000-0xf50fffff pref]\n[  187.991695] pci 0000:b1:03.0: BAR 14: assigned [mem 0xf8200000-0xf83fffff]\n[  187.998576] pci 0000:b1:03.0: BAR 15: assigned [mem 0xf5100000-0xf51fffff pref]\n[  188.005888] pci 0000:b1:03.0: BAR 14: reassigned [mem 0xf8200000-0xf86fffff]\n[  188.012939] pci 0000:b1:02.0: BAR 14: can\u0027t assign mem (size 0x200000)\n[  188.019471] pci 0000:b1:02.0: failed to add 300000 to res\u003d[mem 0xf8000000-0xf81fffff]\n[  188.027326] pci 0000:b2:00.0: reg 184: [mem 0x00000000-0x00003fff 64bit]\n[  188.034071] pci 0000:b2:00.0: reg 18c: [mem 0x00000000-0x000fffff 64bit]\n[  188.040795] pci 0000:b2:00.0: BAR 2: assigned [mem 0xf8000000-0xf80fffff 64bit]\n[  188.048119] pci 0000:b2:00.0: BAR 2: set to [mem 0xf8000000-0xf80fffff 64bit] (PCI address [0xf8000000-0xf80fffff])\n[  188.058550] pci 0000:b2:00.0: BAR 6: assigned [mem 0xf5000000-0xf50fffff pref]\n[  188.065802] pci 0000:b2:00.0: BAR 0: assigned [mem 0xf8100000-0xf8103fff 64bit]\n[  188.073125] pci 0000:b2:00.0: BAR 0: set to [mem 0xf8100000-0xf8103fff 64bit] (PCI address [0xf8100000-0xf8103fff])\n[  188.083596] pci 0000:b2:00.0: reg 18c: [mem 0x00000000-0x000fffff 64bit]\n[  188.090310] pci 0000:b2:00.0: BAR 9: can\u0027t assign mem (size 0x300000)\n[  188.096773] pci 0000:b2:00.0: reg 184: [mem 0x00000000-0x00003fff 64bit]\n[  188.103479] pci 0000:b2:00.0: BAR 7: assigned [mem 0xf8104000-0xf810ffff 64bit]\n[  188.110801] pci 0000:b2:00.0: BAR 7: set to [mem 0xf8104000-0xf810ffff 64bit] (PCI address [0xf8104000-0xf810ffff])\n[  188.121256] pci 0000:b1:02.0: PCI bridge to [bus b2-b2]\n[  188.126512] pci 0000:b1:02.0:   bridge window [mem 0xf8000000-0xf81fffff]\n[  188.133328] pci 0000:b1:02.0:   bridge window [mem 0xf5000000-0xf50fffff pref]\n[  188.140608] pci 0000:b3:00.0: reg 184: [mem 0x00000000-0x00003fff 64bit]\n[  188.147341] pci 0000:b3:00.0: reg 18c: [mem 0x00000000-0x000fffff 64bit]\n[  188.154076] pci 0000:b3:00.0: BAR 2: assigned [mem 0xf8200000-0xf82fffff 64bit]\n[  188.161417] pci 0000:b3:00.0: BAR 2: set to [mem 0xf8200000-0xf82fffff 64bit] (PCI address [0xf8200000-0xf82fffff])\n[  188.171865] pci 0000:b3:00.0: BAR 6: assigned [mem 0xf5100000-0xf51fffff pref]\n[  188.179090] pci 0000:b3:00.0: BAR 0: assigned [mem 0xf8300000-0xf8303fff 64bit]\n[  188.186431] pci 0000:b3:00.0: BAR 0: set to [mem 0xf8300000-0xf8303fff 64bit] (PCI address [0xf8300000-0xf8303fff])\n[  188.196884] pci 0000:b3:00.0: reg 18c: [mem 0x00000000-0x000fffff 64bit]\n[  188.203591] pci 0000:b3:00.0: BAR 9: assigned [mem 0xf8400000-0xf86fffff 64bit]\n[  188.210909] pci 0000:b3:00.0: BAR 9: set to [mem 0xf8400000-0xf86fffff 64bit] (PCI address [0xf8400000-0xf86fffff])\n[  188.221379] pci 0000:b3:00.0: reg 184: [mem 0x00000000-0x00003fff 64bit]\n[  188.228089] pci 0000:b3:00.0: BAR 7: assigned [mem 0xf8304000-0xf830ffff 64bit]\n[  188.235407] pci 0000:b3:00.0: BAR 7: set to [mem 0xf8304000-0xf830ffff 64bit] (PCI address [0xf8304000-0xf830ffff])\n[  188.245843] pci 0000:b1:03.0: PCI bridge to [bus b3-b3]\n[  188.251107] pci 0000:b1:03.0:   bridge window [mem 0xf8200000-0xf86fffff]\n[  188.257922] pci 0000:b1:03.0:   bridge window [mem 0xf5100000-0xf51fffff pref]\n[  188.265180] pci 0000:b0:00.0: PCI bridge to [bus b1-b3]\n[  188.270443] pci 0000:b0:00.0:   bridge window [mem 0xf8000000-0xf89fffff]\n[  188.277250] pci 0000:b0:00.0:   bridge window [mem 0xf5000000-0xf51fffff pref]\n[  188.284512] pcieport 0000:80:02.2: PCI bridge to [bus b0-bf]\n[  188.290184] pcieport 0000:80:02.2:   bridge window [io  0xa000-0xbfff]\n[  188.296735] pcieport 0000:80:02.2:   bridge window [mem 0xf8000000-0xf8ffffff]\n[  188.303963] pcieport 0000:80:02.2:   bridge window [mem 0xf5000000-0xf5ffffff 64bit pref]\n\nThus b2:00.0 BAR 9 does not get assigned...\n\nroot cause:\nb1:02.0 can not be added more range, because b1:03.0 is just after it;\nno space between the required ranges.\n\nSolution:\nTry to assign required + optional all together at first, and if that\nfails, try again with just the required resources.\n\n-v2: seperate add_to_list change() to another patch according to Jesse.\n     seperate get_res_add_size() moving to another patch according to Jesse.\n     add !realloc_head-\u003enext check if the list is empty to bail early\n     according to Jesse.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "1c372353e9c681b127f21030f8a0f0c2afd82429",
      "tree": "5cbd91269d7cef2ae1b5a4a41ddd867919d65014",
      "parents": [
        "ef62dfefa93bc90f1cb0f4a55c2d86b3269b3f92"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:19 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:51 2012 -0800"
      },
      "message": "PCI: Move get_res_add_size() function\n\nNeed to call it from __assign_resources_sorted() later and we\u0027d like to\navoid a forward declaraion.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "ef62dfefa93bc90f1cb0f4a55c2d86b3269b3f92",
      "tree": "a29e759324b2331968a732db1312fafc75f3d737",
      "parents": [
        "a4ac9fea016fc5c09227eb479bd35e34978323a4"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:18 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:51 2012 -0800"
      },
      "message": "PCI: Make add_to_list() return status\n\nWill be used for resource_list_x duplication when trying\nrequested+optional at first.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "a4ac9fea016fc5c09227eb479bd35e34978323a4",
      "tree": "fcf35e3d704afc5de48c304dd365880fe03a7bf3",
      "parents": [
        "0dea210b1769f191d6b2bc3cc86e51481837ec5e"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jan 21 02:08:17 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:50 2012 -0800"
      },
      "message": "PCI : Calculate right add_size\n\nDuring debug of one SRIOV enabled hotplug device, we found found that\nadd_size is not passed properly.\n\nThe device has devices under two level bridges:\n\n +-[0000:80]-+-00.0-[81-8f]--\n |           +-01.0-[90-9f]--\n |           +-02.0-[a0-af]----00.0-[a1-a3]--+-02.0-[a2]--+-00.0  Oracle Corporation Device\n |           |                               \\-03.0-[a3]--+-00.0  Oracle Corporation Device\n\nWhich means later the parent bridge will not try to add a big enough range:\n\n[  557.455077] pci 0000:a0:00.0: BAR 14: assigned [mem 0xf9000000-0xf93fffff]\n[  557.461974] pci 0000:a0:00.0: BAR 15: assigned [mem 0xf6000000-0xf61fffff pref]\n[  557.469340] pci 0000:a1:02.0: BAR 14: assigned [mem 0xf9000000-0xf91fffff]\n[  557.476231] pci 0000:a1:02.0: BAR 15: assigned [mem 0xf6000000-0xf60fffff pref]\n[  557.483582] pci 0000:a1:03.0: BAR 14: assigned [mem 0xf9200000-0xf93fffff]\n[  557.490468] pci 0000:a1:03.0: BAR 15: assigned [mem 0xf6100000-0xf61fffff pref]\n[  557.497833] pci 0000:a1:03.0: BAR 14: can\u0027t assign mem (size 0x200000)\n[  557.504378] pci 0000:a1:03.0: failed to add optional resources res\u003d[mem 0xf9200000-0xf93fffff]\n[  557.513026] pci 0000:a1:02.0: BAR 14: can\u0027t assign mem (size 0x200000)\n[  557.519578] pci 0000:a1:02.0: failed to add optional resources res\u003d[mem 0xf9000000-0xf91fffff]\n\nIt turns out we did not calculate size1 properly.\n\nstatic resource_size_t calculate_memsize(resource_size_t size,\n                resource_size_t min_size,\n                resource_size_t size1,\n                resource_size_t old_size,\n                resource_size_t align)\n{\n        if (size \u003c min_size)\n                size \u003d min_size;\n        if (old_size \u003d\u003d 1 )\n                old_size \u003d 0;\n        if (size \u003c old_size)\n                size \u003d old_size;\n        size \u003d ALIGN(size + size1, align);\n        return size;\n}\n\nWe should not pass add_size with min_size in calculate_memsize since\nthat will make add_size not contribute final add_size.\n\nSo just pass add_size with size1 to calculate_memsize().\n\nWith this change, we should have chance to remove extra addon in\npci_reassign_resource.\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "0dea210b1769f191d6b2bc3cc86e51481837ec5e",
      "tree": "56c39deca114245a7af48ef236e16daa5fc38842",
      "parents": [
        "316d86fe8641abfad32702c77d9e62cf19e68b00"
      ],
      "author": {
        "name": "Masanari Iida",
        "email": "standby24x7@gmail.com",
        "time": "Thu Jan 26 23:45:47 2012 +0900"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:50 2012 -0800"
      },
      "message": "PCI: Fix typo in setup-res.c\n\nCorrect spelling \"resouce\" to \"resource\" in\ndricers/pci/setup-res.c\n\nSigned-off-by: Masanari Iida \u003cstandby24x7@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6fbf9e7a90862988c278462d85ce9684605a52b2",
      "tree": "ccc79061bac41537c37f5edc73bdc5bc59005c8a",
      "parents": [
        "8f0cdddcd3f270901765fc909c3aee37a2091e78"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Jan 12 12:06:46 2012 -0500"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:48 2012 -0800"
      },
      "message": "PCI: Introduce __pci_reset_function_locked to be used when holding device_lock.\n\nThe use case of this is when a driver wants to call FLR when a device\nis attached to it using the SysFS \"bind\" or \"unbind\" functionality.\n\nThe call chain when a user does \"bind\" looks as so:\n\n echo \"0000:01.07.0\" \u003e /sys/bus/pci/drivers/XXXX/bind\n\nand ends up calling:\n  driver_bind:\n    device_lock(dev);  \u003c\u003d\u003d\u003d TAKES LOCK\n    XXXX_probe:\n         .. pci_enable_device()\n         ...__pci_reset_function(), which calls\n                 pci_dev_reset(dev, 0):\n                        if (!0) {\n                                device_lock(dev) \u003c\u003d\u003d\u003d\u003d DEADLOCK\n\nThe __pci_reset_function_locked function allows the the drivers\n\u0027probe\u0027 function to call the \"pci_reset_function\" while still holding\nthe driver mutex lock.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8f0cdddcd3f270901765fc909c3aee37a2091e78",
      "tree": "711db6080e51d5cc9cf14c29b05fcdeaf9ae49e6",
      "parents": [
        "f382a086f3129edc152b8044b69ccc6682e637bb"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "Julia.Lawall@lip6.fr",
        "time": "Thu Jan 12 10:55:16 2012 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:47 2012 -0800"
      },
      "message": "PCI: drivers/pci/hotplug/ibmphp_ebda.c: add missing iounmap\n\nAdd missing iounmap in error handling code, in a case where the function\nalready preforms iounmap on some other execution path.\n\nA simplified version of the semantic match that finds this problem is as\nfollows: (http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression e;\nstatement S,S1;\nint ret;\n@@\ne \u003d \\(ioremap\\|ioremap_nocache\\)(...)\n... when !\u003d iounmap(e)\nif (\u003c+...e...+\u003e) S\n... when any\n    when !\u003d iounmap(e)\n*if (...)\n   { ... when !\u003d iounmap(e)\n     return ...; }\n... when any\niounmap(e);\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f382a086f3129edc152b8044b69ccc6682e637bb",
      "tree": "f479e5fba237c3a2dcc4b8b7967298dc83448071",
      "parents": [
        "6535943fbf25c8e9419a6b20ca992633baa0bf99"
      ],
      "author": {
        "name": "Amos Kong",
        "email": "akong@redhat.com",
        "time": "Fri Nov 25 15:03:07 2011 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:47 2012 -0800"
      },
      "message": "PCI: Can continually add funcs after adding func0\n\nBoot up a KVM guest, and hotplug multifunction\ndevices(func1,func2,func0,func3) to guest.\n\nfor i in 1 2 0 3;do\nqemu-img create /tmp/resize$i.qcow2 1G -f qcow2\n(qemu) drive_add 0x11.$i id\u003ddrv11$i,if\u003dnone,file\u003d/tmp/resize$i.qcow2\n(qemu) device_add virtio-blk-pci,id\u003ddev11$i,drive\u003ddrv11$i,addr\u003d0x11.$i,multifunction\u003don\ndone\n\nIn linux kernel, when func0 of the slot is hot-added, the whole\nslot will be marked as \u0027enabled\u0027, then driver will ignore other new\nhotadded funcs.\nBut in Win7 \u0026 WinXP, we can continaully add other funcs after adding\nfunc0, all funcs will be added in guest.\n\ndrivers/pci/hotplug/acpiphp_glue.c:\nstatic int acpiphp_check_bridge(struct acpiphp_bridge *bridge)\n{\n....\n        for (slot \u003d bridge-\u003eslots; slot; slot \u003d slot-\u003enext) {\n                if (slot-\u003eflags \u0026 SLOT_ENABLED) {\n                        acpiphp_disable_slot()\n                else\n                        acpiphp_enable_slot()\n....                              |\n}                                 v\n                            enable_device()\n                                  |\n                                  v\n        //only don\u0027t enable slot if func0 is not added\n\tlist_for_each_entry(func, \u0026slot-\u003efuncs, sibling) {\n               ...\n        }\n       slot-\u003eflags |\u003d SLOT_ENABLED; //mark slot to \u0027enabled\u0027\n\nThis patch just make pci driver can continaully add funcs after adding\nfunc 0. Only mark slot to \u0027enabled\u0027 when all funcs are added.\n\nFor pci multifunction hotplug, we can add functions one by one(func 0 is\nnecessary), and all functions will be removed in one time.\n\nSigned-off-by: Amos Kong \u003cakong@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "6535943fbf25c8e9419a6b20ca992633baa0bf99",
      "tree": "ad7eab22b1a193b37a47b804f49451bd7405833d",
      "parents": [
        "925845bd49c6de437dfab3bf8dc654ea3ae21d74"
      ],
      "author": {
        "name": "Myron Stowe",
        "email": "mstowe@redhat.com",
        "time": "Mon Nov 21 11:54:19 2011 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:46 2012 -0800"
      },
      "message": "x86/PCI: Convert maintaining FW-assigned BIOS BAR values to use a list\n\nThis patch converts the underlying maintenance aspects of FW-assigned\nBIOS BAR values from a statically allocated array within struct pci_dev\nto a list of temporary, stand alone, entries.\n\nSigned-off-by: Myron Stowe \u003cmyron.stowe@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "351fc6d1a5175d587d4f2b00ec7bff79b13ec48a",
      "tree": "7f75b60c3a010e5699e43b38853fbd33f85d9267",
      "parents": [
        "3682a3946d2b0bad621db871e3bead83e523a238"
      ],
      "author": {
        "name": "Myron Stowe",
        "email": "mstowe@redhat.com",
        "time": "Mon Nov 21 11:54:07 2011 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Tue Feb 14 08:44:45 2012 -0800"
      },
      "message": "PCI: Fix starting basis for resource requests\n\npci_revert_fw_address() is used to reinstate a PCI device\u0027s original\nFW-assigned BIOS BAR value(s) if normal resource assignment fails.\n\nWhen attempting to reinstate an address, the point within the resource\ntree from which to attempt the new resource request should be the parent\nresource corresponding to the device, not the base of the resource tree\n(ioport_resource or iomem_resource).  For PCI devices this would\ntypically be the resource corresponding to the upstream PCI host bridge\nor P2P bridge aperture.\n\nThis patch sets the point within the resource tree to attempt a new\nresource assignment request to the PCI device\u0027s parent resource and only\nif that fails does it fall back to the base ioport_resource or\niomem_resource.\n\nSigned-off-by: Myron Stowe \u003cmyron.stowe@redhat.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "3682a3946d2b0bad621db871e3bead83e523a238",
      "tree": "22fa013f268abeb35863ac7be2016912c4977762",
      "parents": [
        "8161fe91d8da34c1a231b6e2d4454b4b3179a5d4"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Feb 04 22:55:00 2012 -0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 10 12:19:31 2012 -0800"
      },
      "message": "PCI: Fix pci cardbus removal\n\nDuring test busn_res allocation with cardbus, found pci card removal is not\nworking anymore, and it turns out it is broken by:\n\n|commit 79cc9601c3e42b4f0650fe7e69132ebce7ab48f9\n|Date:   Tue Nov 22 21:06:53 2011 -0800\n|\n|    PCI: Only call pci_stop_bus_device() one time for child devices at remove\n\nThe above changed the behavior of pci_remove_behind_bridge that\nyenta_cardbus depended on.  So restore the old behavoir of\npci_remove_behind_bridge (which requires stopping and removing of all\ndevices) by:\n\n1. rename pci_remove_behind_bridge to __pci_remove_behind_bridge, and let\n   __pci_remove_bus_device() call it instead.\n2. add pci_stop_behind_bridge that will stop devices behind a bridge\n3. add back pci_remove_behind_bridge that will stop and remove devices\n   under bridge.\n\n-v2: update commit description a little bit.\n\nTested-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8161fe91d8da34c1a231b6e2d4454b4b3179a5d4",
      "tree": "cf7e7f08ff22f39abb6c748b121718149a6347b4",
      "parents": [
        "71f6bd4a23130cd2f4b036010c5790b1295290b9"
      ],
      "author": {
        "name": "Vaidyanathan Srinivasan",
        "email": "svaidy@linux.vnet.ibm.com",
        "time": "Thu Feb 02 23:11:20 2012 +0530"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 10 12:01:56 2012 -0800"
      },
      "message": "PCI: set pci sriov page size before reading SRIOV BAR\n\nFor an SRIOV device, PCI_SRIOV_SYS_PGSIZE should be set before\nthe PCI_SRIOV_BAR are queried.  The sys pagesize defaults to 4k,\nso this change is required on powerpc box with 64k base page size.\n    \nThis is a regression caused due to moving SRIOV init to sriov_enable().\n    \n| commit afd24ece5c76af87f6fc477f2747b83a764f161c\n| Author: Ram Pai \u003clinuxram@us.ibm.com\u003e\n    \n| PCI: delay configuration of SRIOV capability\n| The SRIOV capability, namely page size and total_vfs of a device are\n| configured during enumeration phase of the device.  This can potentially\n| interfere with the PCI operations of the platform, if the IOV capability\n| of the device is not enabled.\n    \nSigned-off-by: Vaidyanathan Srinivasan \u003csvaidy@linux.vnet.ibm.com\u003e\nAcked-by: Ram Pai \u003clinuxram@us.ibm.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "71f6bd4a23130cd2f4b036010c5790b1295290b9",
      "tree": "fdd218f6102bea21de0a0c5663b4da0f1787a23e",
      "parents": [
        "acb42a3b611d7ad4cb173c3b37674b549df2ffeb"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai.lu@oracle.com",
        "time": "Mon Jan 30 12:25:24 2012 +0100"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Fri Feb 10 11:34:42 2012 -0800"
      },
      "message": "PCI: workaround hard-wired bus number V2\n\nFixes PCI device detection on IBM xSeries IBM 3850 M2 / x3950 M2\nwhen using ACPI resources (_CRS).\nThis is default, a manual workaround (without this patch)\nwould be pci\u003dnocrs boot param.\n\nV2: Add dev_warn if the workaround is hit. This should reveal\nhow common such setups are (via google) and point to possible\nproblems if things are still not working as expected.\n-\u003e Suggested by Jan Beulich.\n\nCc: stable@vger.kernel.org\nTested-by: garyhade@us.ibm.com\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@oracle.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "e4de866a834620ef974f5ba86d394a13d2f0cf66",
      "tree": "f34c543230140270b05639b842fbaead72560972",
      "parents": [
        "207d543f472c1ac9552df79838dc807cbcaa9740"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Wed Jan 25 16:00:00 2012 -0500"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Feb 03 16:06:57 2012 -0500"
      },
      "message": "xen/pci[front|back]: Use %d instead of %1x for displaying PCI devfn.\n\n.. as the rest of the kernel is using that format.\n\nSuggested-by: Марк Коренберг \u003csocketpair@gmail.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "bd1d462e13b278fc57752d0b9b15040e60e561a0",
      "tree": "e2fdf1c18a93aab02830bcb8a5db8cdddfbb63a8",
      "parents": [
        "d5c38b137ac8a6e3dbed13bc494d60df5b69dfc4",
        "62aa2b537c6f5957afd98e29f96897419ed5ebab"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 02 11:24:44 2012 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Feb 02 11:24:44 2012 -0800"
      },
      "message": "Merge 3.3-rc2 into the driver-core-next branch.\n\nThis was done to resolve a merge and build problem with the\ndrivers/acpi/processor_driver.c file.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "07d251460bbf9752c6532af8c1a68328c199dd70",
      "tree": "2b483ae9288ef5afca0dfee8cd32c94a118f1f54",
      "parents": [
        "ed283e9f0a2cc0541870828c76c6c6997c51a318"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Fri Jan 27 10:24:40 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Jan 27 14:35:30 2012 -0800"
      },
      "message": "PCI/XEN: Fix bug introduced by a recent change\n\nThis patch (as1516) fixes a bug introduced during the removal of\nput_driver() and get_driver() from drivers/pci/xen-pcifront.c.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "ed283e9f0a2cc0541870828c76c6c6997c51a318",
      "tree": "60950f46dae4af2cd8648e1c187a198e481904c7",
      "parents": [
        "fad12ac8c8c2591c7f4e61d19b6a9d76cd49fafa"
      ],
      "author": {
        "name": "Alan Stern",
        "email": "stern@rowland.harvard.edu",
        "time": "Tue Jan 24 14:35:13 2012 -0500"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 26 17:04:39 2012 -0800"
      },
      "message": "USB/PCI/PCMCIA: Clean up new_id and remove_id sysfs attribute routines\n\nThis patch (as1514) cleans up some places where new_id and remove_id\nsysfs attributes are created and deleted.  Handling both attributes in\na single routine rather than a pair of routines makes the code\nsmaller.  It also prevents certain kinds of errors, like one we\ncurrently have in the USB subsystem: The removeid attribute is often\ncreated even when newid isn\u0027t (because the driver\u0027s no_dynamid_id flag\nis set).\n\nIn the case of the PCMCIA subsystem, the newid attribute is created\nbut never explicitly deleted.  The patch adds a deletion routine.\n\nSigned-off-by: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nAcked-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    }
  ],
  "next": "f3ff9247088a0af0c192a28908dab76ff3d8871f"
}
