)]}'
{
  "log": [
    {
      "commit": "5c3b82e2b229e78eb32f4ea12d16f3ebeeab3fc7",
      "tree": "1717b0b529629df1287e5a4ce08501fd92415a56",
      "parents": [
        "e62fb64e6187ea9d8bcedb17ccaa045ed92d4b55"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 13:25:09 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:12 2009 +1000"
      },
      "message": "drm: Propagate failure from setting crtc base.\n\nCheck the error paths within intel_pipe_set_base() to first cleanup and\nthen report back the error.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "e62fb64e6187ea9d8bcedb17ccaa045ed92d4b55",
      "tree": "d2f7e85ed1ce8afd4e36dd2bfe10f9620756ec8e",
      "parents": [
        "85a7bb98582b60b7e9130159d2464eb0bbac13f7"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 16:39:21 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:12 2009 +1000"
      },
      "message": "drm: Check for a NULL encoder when reverting on error path\n\nWe need to skip the connectors with a NULL encoder to match the success\npath and avoid an OOPS.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "85a7bb98582b60b7e9130159d2464eb0bbac13f7",
      "tree": "74b0e5ec3ea7d6993b2db11b522932c379e185af",
      "parents": [
        "67eabc0553a32c491fdb392ff2358a0384562050"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:52:44 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:12 2009 +1000"
      },
      "message": "drm/i915: Cleanup the hws on ringbuffer constrution failure.\n\nIf we fail to create the ringbuffer, then we need to cleanup the allocated\nhws.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "67eabc0553a32c491fdb392ff2358a0384562050",
      "tree": "3110a71cedec4f54b8fe6fb60bb34ce7da4235b9",
      "parents": [
        "ea39f835168f60b01e59d0f348da25d297e7cf94"
      ],
      "author": {
        "name": "Steve Aarnio",
        "email": "steve.j.aarnio@linux.intel.com",
        "time": "Thu Feb 12 11:34:02 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:12 2009 +1000"
      },
      "message": "drm/i915: Don\u0027t add panel_fixed_mode to the probed modes list at LVDS init.\n\nIn the case where no EDID data is read from the device, adding the\npanel_fixed_mode pointer to the probed modes list causes data corruption.\n\nIf the panel_fixed_mode pointer is added to the probed modes list at\ninit time, a copy of the mode is added again at drm_get_modes() request\ntime.  Then, the panel_fixed_mode pointer is freed because it is seen as\na duplicate mode.  Unfortunately, this pointer is still stored and used\nin mode_fixup().\n\nBecause the panel_fixed_mode data is copied and returned at\ndrm_get_modes() time, it is unnecessary to add this information at init\ntime.\n\nSigned-off-by: Steve Aarnio \u003csteve.j.aarnio@intel.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "ea39f835168f60b01e59d0f348da25d297e7cf94",
      "tree": "79a5f3cef511245789ab2e5b7c295b6693861b32",
      "parents": [
        "b4476f52e43fadcb9402723a1a55ba1308757525"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@redhat.com",
        "time": "Thu Feb 12 14:37:56 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm: Release user fbs in drm_release\n\nAvoids leaking fbs and associated buffers on release.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nTested-by: Tested-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "b4476f52e43fadcb9402723a1a55ba1308757525",
      "tree": "98af76b28b2aafc8ee8b0c53fe7bee27c1946c71",
      "parents": [
        "3eb2ee77b0b6b7b2c10308d7b46d2a459fb5be10"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:36 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm/i915: Unpin the fb on error during construction.\n\nIf we fail whilst constructing the fb, then we need to unpin it as well.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "3eb2ee77b0b6b7b2c10308d7b46d2a459fb5be10",
      "tree": "6225c9ec55db8d7bbd4339da2b75e20494e85d03",
      "parents": [
        "47ed185a777632063d2748f59d14ec6fdeb26f67"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:34 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm/i915: Unpin the hws if we fail to kmap.\n\nA missing unpin on the error path.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "47ed185a777632063d2748f59d14ec6fdeb26f67",
      "tree": "ef3f96362d97d88b71d93e5a65cb3cd54814c925",
      "parents": [
        "491152b8778d7d290579c989e8607892accde920"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:33 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm/i915: Unpin the ringbuffer if we fail to ioremap it.\n\nA missing unpin on the error path.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "491152b8778d7d290579c989e8607892accde920",
      "tree": "9562c27d4fb0ce5d1417574a835031f365c95482",
      "parents": [
        "13af10627676879d1b20ee3cdba9a28f0906dd98"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:32 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm/i915: unpin for an invalid memory domain.\n\nA missing unreference and unpin after rejecting the relocation for an\ninvalid memory domain.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "13af10627676879d1b20ee3cdba9a28f0906dd98",
      "tree": "e169cc0980db0a8db76688386dee6c869d6c2c22",
      "parents": [
        "2ebed176a7ee126448d34fc336afb2ea0238c280"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:31 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm/i915: Release and unlock on mmap_gtt error path.\n\nWe failed to unlock the mutex after failing to create the mmap offset.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "2ebed176a7ee126448d34fc336afb2ea0238c280",
      "tree": "42a0ee990068af7be1a359d41ea141f4236a4c40",
      "parents": [
        "8d59bae5d9aae10ab230561519bfb97962509bcb"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:30 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:11 2009 +1000"
      },
      "message": "drm/i915: Set framebuffer alignment based upon the fence constraints.\n\nSet the request alignment to 0, and leave it up to i915_gem_object_pin()\nto set the appropriate alignment to match the fence covering the object.\n\nEric Anholt mentioned that the pinning code is meant to choose the\nmaximum of the request alignment and that of the fence covering the\nobject... However currently, the pinning code will only apply the fence\nconstraints if the supplied alignment is 0.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "8d59bae5d9aae10ab230561519bfb97962509bcb",
      "tree": "0be3a5e9cbb512e6ec933a8e74f59958c7ee8018",
      "parents": [
        "a35f2e2b83a789e189a501ebd722bc9a1310eb05"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Wed Feb 11 14:26:28 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:10 2009 +1000"
      },
      "message": "drm: Do not leak a new reference for flink() on an existing name\n\nThe name table should only hold a single reference, so avoid leaking\nadditional references for secondary calls to flink().\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "a35f2e2b83a789e189a501ebd722bc9a1310eb05",
      "tree": "a98654866d9295266dcf5ca61740004358b585ba",
      "parents": [
        "96dec61d563fb8dff2c8427fdf85327a95b65c74"
      ],
      "author": {
        "name": "Roland Dreier",
        "email": "rdreier@cisco.com",
        "time": "Fri Feb 06 17:48:09 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:10 2009 +1000"
      },
      "message": "drm/i915: Fix potential AB-BA deadlock in i915_gem_execbuffer()\n\nLockdep warns that i915_gem_execbuffer() can trigger a page fault (which\ntakes mmap_sem) while holding dev-\u003estruct_mutex, while drm_vm_open()\n(which is called with mmap_sem already held) takes dev-\u003estruct_mutex.\nSo this is a potential AB-BA deadlock.\n\nThe way that i915_gem_execbuffer() triggers a page fault is by doing\ncopy_to_user() when returning new buffer offsets back to userspace;\nhowever there is no reason to hold the struct_mutex when doing this\ncopy, since what is being copied is the contents of an array private to\ni915_gem_execbuffer() anyway.  So we can fix the potential deadlock (and\nget rid of the lockdep warning) by simply moving the copy_to_user()\noutside of where struct_mutex is held.\n\nThis fixes \u003chttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12491\u003e.\n\nReported-by: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nTested-by: Jesse Brandeburg \u003cjesse.brandeburg@intel.com\u003e\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "96dec61d563fb8dff2c8427fdf85327a95b65c74",
      "tree": "b514a1367cfa36cc18dd38a4251aae633772cd1a",
      "parents": [
        "d6873102fd36c577f88174d8bd50f1d51645fc51"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Sun Feb 08 19:08:04 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:09 2009 +1000"
      },
      "message": "drm/i915: refleak along pin() error path.\n\nA missing unreference if the user calls pin() a second time on a pinned\nbuffer.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "d6873102fd36c577f88174d8bd50f1d51645fc51",
      "tree": "5c955f350b99aa0442bcd431c56ce750d94ad7ed",
      "parents": [
        "a198bc80ae59cf7c6da93bc8bd017b2198148ed7"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Sun Feb 08 19:07:51 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:09 2009 +1000"
      },
      "message": "drm/i915: hold mutex for unreference() in i915_gem_tiling.c\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "a198bc80ae59cf7c6da93bc8bd017b2198148ed7",
      "tree": "2c0affd1346a94745caa81ab23c99750f08d1819",
      "parents": [
        "3e49c4f4cf786b70bbc369b99e590de4bebac1b3"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Fri Feb 06 16:55:20 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:09 2009 +1000"
      },
      "message": "drm/i915: Cleanup trivial leak on execbuffer error path.\n\nAlso spotted by Owain Ainsworth.\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "3e49c4f4cf786b70bbc369b99e590de4bebac1b3",
      "tree": "4805b8adb31570573983c098dd11c307c21381ab",
      "parents": [
        "ad45aa9e6e010283bbd8cf0c6309866233e113f2"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Mon Feb 09 11:31:41 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:08 2009 +1000"
      },
      "message": "drm: Free the object ref on error.\n\nEnsure that the object is unreferenced if we fail to allocate during\ndrm_gem_flink_ioctl().\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "ad45aa9e6e010283bbd8cf0c6309866233e113f2",
      "tree": "445135f1c9a8e270e6d350404d6ecf57b8f778ef",
      "parents": [
        "005568be363b90c9333c3bcbc1e7a53922816322"
      ],
      "author": {
        "name": "Chris Wilson",
        "email": "chris@chris-wilson.co.uk",
        "time": "Mon Feb 09 11:31:41 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:08 2009 +1000"
      },
      "message": "drm: Potential use-after-free on error path.\n\nRemove the member from the hash table before we free the structure!\n\nSigned-off-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "005568be363b90c9333c3bcbc1e7a53922816322",
      "tree": "f2850bc6e6016a9b1166b45dc0197bfa3650ad3f",
      "parents": [
        "402a917aca5daca69fcc91f43e6f1e6939cf393b"
      ],
      "author": {
        "name": "Tobias Klauser",
        "email": "tklauser@distanz.ch",
        "time": "Mon Feb 09 22:02:42 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Feb 20 12:21:08 2009 +1000"
      },
      "message": "drm/i915: Storage class should be before const qualifier\n\nThe C99 specification states in section 6.11.5:\n\nThe placement of a storage-class specifier other than at the beginning\nof the declaration specifiers in a declaration is an obsolescent\nfeature.\n\nSigned-off-by: Tobias Klauser \u003ctklauser@distanz.ch\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@linux.ie\u003e\n"
    },
    {
      "commit": "402a917aca5daca69fcc91f43e6f1e6939cf393b",
      "tree": "cd3668339f4f2de35c62586239380d1ab15c6f89",
      "parents": [
        "bcf8951fc23476c9190a7df0bc501ff47d0c3a61",
        "9dd446f657ebebb209274878be5d01103fcfe988"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:52:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:52:12 2009 -0800"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] 5405/1: ep93xx: remove unused gesbc9312.h header\n  [ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC\n  [ARM] omap: fix clock reparenting in omap2_clk_set_parent()\n  [ARM] 5403/1: pxa25x_ep_fifo_flush() *ep-\u003ereg_udccs always set to 0\n  [ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()\n  [ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support\n  [ARM] 5400/1: Add support for inverted rdy_busy pin for Atmel nand device controller\n  [ARM] 5391/1: AT91: Enable GPIO clocks earlier\n  [ARM] 5390/1: AT91: Watchdog fixes\n  [ARM] 5398/1: Add Wan ZongShun to MAINTAINERS for W90P910\n  [ARM] omap: fix _omap2_clksel_get_src_field()\n  [ARM] omap: fix omap2_divisor_to_clksel() error return value\n"
    },
    {
      "commit": "bcf8951fc23476c9190a7df0bc501ff47d0c3a61",
      "tree": "0bab4c8ee082bd2eec9478c484a3d451abafede2",
      "parents": [
        "f54b2fe4aef9aa74ddf2c856928c3e29f3371fe7",
        "07db1c140eb233971341396e492cc73d4280e698"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:35 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, mce: fix ifdef for 64bit thermal apic vector clear on shutdown\n  x86, mce: use force_sig_info to kill process in machine check\n  x86, mce: reinitialize per cpu features on resume\n  x86, rcu: fix strange load average and ksoftirqd behavior\n"
    },
    {
      "commit": "f54b2fe4aef9aa74ddf2c856928c3e29f3371fe7",
      "tree": "8ca38b4fab7d2a9a5bfd26a2e640631d52894fe6",
      "parents": [
        "83ff1af9d330348d1a6685b0c06d33847cd72723",
        "ed4a2f374d71770796789ed559c35a36bab82f1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 09:14:22 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  tracing: limit the number of loops the ring buffer self test can make\n  tracing: have function trace select kallsyms\n  tracing: disable tracing while testing ring buffer\n  tracing/function-graph-tracer: trace the idle tasks\n"
    },
    {
      "commit": "83ff1af9d330348d1a6685b0c06d33847cd72723",
      "tree": "41c87626e29fa8ee35cc27c324b9ec637e6efafb",
      "parents": [
        "a1342d3b8e5dbffae9d5520e2847d7d605c25266",
        "23d75d9cadd79bc9fd6553857d57c679cf18d4cb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 08:35:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 08:35:52 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6\n\n* \u0027for-linus\u0027 of git://git390.marist.edu/pub/scm/linux-2.6:\n  [S390] fix \"mem\u003d\" handling in case of standby memory\n  [S390] Fix timeval regression on s390\n  [S390] sclp: handle empty event buffers\n"
    },
    {
      "commit": "a1342d3b8e5dbffae9d5520e2847d7d605c25266",
      "tree": "303cfc0da68dfc8bbc74030640760c7857c7c6ae",
      "parents": [
        "ba95fd47d177d46743ad94055908d22840370e06",
        "e432472db2ca42366240c32c38dc36de424ac7cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 08:35:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 19 08:35:29 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  sound: virtuoso: revert \"do not overwrite EEPROM on Xonar D2/D2X\"\n  ALSA: jack - Use card-\u003eshortname for input name\n  ALSA: usb-audio - Workaround for misdetected sample rate with CM6207\n  ALSA: usb-audio - Fix non-continuous rate detection\n  sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfaces\n  Revert \"Sound: hda - Restore PCI configuration space with interrupts off\"\n"
    },
    {
      "commit": "9dd446f657ebebb209274878be5d01103fcfe988",
      "tree": "48aa1b7313a8a64e79e3ebb96df15e87d944e9a4",
      "parents": [
        "9da616fb9946c8d65387052e5a538b8f54ddb292"
      ],
      "author": {
        "name": "Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Thu Feb 19 17:09:04 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 19 16:13:02 2009 +0000"
      },
      "message": "[ARM] 5405/1: ep93xx: remove unused gesbc9312.h header\n\nRemove the gesbc9312.h header since it is unused.\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "9da616fb9946c8d65387052e5a538b8f54ddb292",
      "tree": "91fa682e64047f197a2d9f55713d6df2a8a38cf8",
      "parents": [
        "41f3103fcfffff096c34f5267d7c9a26b44d89d3"
      ],
      "author": {
        "name": "Makito SHIOKAWA",
        "email": "lkhmkt@gmail.com",
        "time": "Thu Feb 19 15:34:59 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 19 14:45:27 2009 +0000"
      },
      "message": "[ARM] 5404/1: Fix condition in arm_elf_read_implies_exec() to set READ_IMPLIES_EXEC\n\nREAD_IMPLIES_EXEC must be set when:\no binary _is_ an executable stack (i.e. not EXSTACK_DISABLE_X)\no processor architecture is _under_ ARMv6 (XN bit is supported from ARMv6)\n\nSigned-off-by: Makito SHIOKAWA \u003clkhmkt@gmail.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "23d75d9cadd79bc9fd6553857d57c679cf18d4cb",
      "tree": "647e18bd1a1ee86efe82dab68e446164c1ad13de",
      "parents": [
        "d5cd0343d2878b66e25e044f644563c6bf708833"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Thu Feb 19 15:19:01 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Feb 19 15:19:19 2009 +0100"
      },
      "message": "[S390] fix \"mem\u003d\" handling in case of standby memory\n\nStandby memory detected with the sclp interface gets always registered\nwith add_memory calls without considering the limitationt that the\n\"mem\u003d\" kernel paramater implies.\nSo fix this and only register standby memory that is below the specified\nlimit.\nThis fixes zfcpdump since it uses \"mem\u003d32M\". In case there is appr.\n2GB standby memory present all of usable memory would be used for the\nstruct pages needed for standby memory.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "d5cd0343d2878b66e25e044f644563c6bf708833",
      "tree": "f5ac4a6f0fe9e37c46d718df0f365b77883184bb",
      "parents": [
        "e2e5a0f2b100a5204d27def8bbf73333d1710be2"
      ],
      "author": {
        "name": "Christian Borntraeger",
        "email": "borntraeger@de.ibm.com",
        "time": "Thu Feb 19 15:19:00 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Feb 19 15:19:19 2009 +0100"
      },
      "message": "[S390] Fix timeval regression on s390\n\ncommit aa5e97ce4bbc9d5daeec16b1d15bb3f6b7b4f4d4\n[PATCH] improve precision of process accounting.\n\nIntroduced a timing regression:\n-bash-3.2# time ls\nreal    0m0.006s\nuser    0m1.754s\nsys     0m1.094s\n\nThe problem was introduced by an error in cputime_to_timeval.\nCputime is now 1/4096 microsecond, therefore, we have to divide\nthe remainder with 4096 to get the microseconds.\n\nSigned-off-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "e2e5a0f2b100a5204d27def8bbf73333d1710be2",
      "tree": "9ac0c72074dcc17f5083defda5d2270119f3e633",
      "parents": [
        "ba95fd47d177d46743ad94055908d22840370e06"
      ],
      "author": {
        "name": "Peter Oberparleiter",
        "email": "peter.oberparleiter@de.ibm.com",
        "time": "Thu Feb 19 15:18:59 2009 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Thu Feb 19 15:19:19 2009 +0100"
      },
      "message": "[S390] sclp: handle empty event buffers\n\nHandle a malformed hardware response which some versions of the\nSupport Element (SE) may present during SE restart and which otherwise\nwould result in an endless loop in function sclp_dispatch_evbufs.\n\nSigned-off-by: Peter Oberparleiter \u003cpeter.oberparleiter@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "41f3103fcfffff096c34f5267d7c9a26b44d89d3",
      "tree": "011bbbc5d7b5e25f2c49ee3de825086b167bc653",
      "parents": [
        "22eb36f49e24e922ca6594a99157a3fcb92d3824"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu Feb 19 13:25:16 2009 +0000"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 19 13:25:16 2009 +0000"
      },
      "message": "[ARM] omap: fix clock reparenting in omap2_clk_set_parent()\n\nWhen changing the parent of a clock, it is necessary to keep the\nclock use counts balanced otherwise things the parent state will\nget corrupted.  Since we already disable and re-enable the clock,\nwe might as well use the recursive versions instead.\n\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e432472db2ca42366240c32c38dc36de424ac7cd",
      "tree": "25a5cd284e9a92cbe93b34a643c41d1e7c25459c",
      "parents": [
        "e6845d9101c5ad2b132473d515e77d74415f004b",
        "3b03cc5b86e2052295b9b484f37226ee15c87924"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 13:58:05 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 13:58:05 2009 +0100"
      },
      "message": "Merge branch \u0027fix/usb-audio\u0027 into for-linus\n"
    },
    {
      "commit": "e6845d9101c5ad2b132473d515e77d74415f004b",
      "tree": "a82dbffd99c7bd4990f10e2b61164aba453cf7eb",
      "parents": [
        "379752fdf8d2e2be2e7da84300bbf73e4f78c36f",
        "6ce6c473a7fd742fdb0db95841e2c4c6b37337c5"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 13:58:01 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 13:58:01 2009 +0100"
      },
      "message": "Merge branch \u0027fix/misc\u0027 into for-linus\n"
    },
    {
      "commit": "379752fdf8d2e2be2e7da84300bbf73e4f78c36f",
      "tree": "f8553e10df696b1346a7123567903924eeba6199",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a",
        "d14a7e0bfc4aed6452a436c9836903fbd1a5d6ad"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 13:57:52 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 13:57:52 2009 +0100"
      },
      "message": "Merge branch \u0027fix/hda\u0027 into for-linus\n"
    },
    {
      "commit": "22eb36f49e24e922ca6594a99157a3fcb92d3824",
      "tree": "8805070c885c4fb92bec30ea41172234839730f1",
      "parents": [
        "3fd9825c42c784a59b3b90bdf073f49d4bb42a8d"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Thu Feb 19 11:57:46 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 19 11:04:46 2009 +0000"
      },
      "message": "[ARM] 5403/1: pxa25x_ep_fifo_flush() *ep-\u003ereg_udccs always set to 0\n\n*ep-\u003ereg_udccs is always set to 0.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nAcked-by: Eric Miao \u003ceric.miao@marvell.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "3fd9825c42c784a59b3b90bdf073f49d4bb42a8d",
      "tree": "ae0910729307786e5393b66373239c4dee48303f",
      "parents": [
        "fd4b9b3650076ffadbdd6e360eb198f5d61747c0"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Wed Feb 18 22:29:22 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Feb 19 09:49:45 2009 +0000"
      },
      "message": "[ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()\n\nIn the non highmem case, if two memory banks of 1GB each are provided,\nthe second bank would evade suppression since its virtual base would\nbe 0.  Fix this by disallowing any memory bank which virtual base\naddress is found to be lower than PAGE_OFFSET.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "ed4a2f374d71770796789ed559c35a36bab82f1a",
      "tree": "ff0f2bd4b3f6903ad563d16c47d0bbb15603b2dd",
      "parents": [
        "5b058bcde961bf28678a70e44c079107313543b6",
        "4b3e3d228429c75d398f1aa24532e468d3220c49"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 10:16:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 10:16:45 2009 +0100"
      },
      "message": "Merge branch \u0027tip/tracing/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace into tracing/urgent\n"
    },
    {
      "commit": "6ce6c473a7fd742fdb0db95841e2c4c6b37337c5",
      "tree": "7cda3d4b0e2bfe87916767f96e78256c1350bbdb",
      "parents": [
        "2678f60d2bc05a12580b93eb36f089f0e55693e0"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Tue Feb 17 09:50:30 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Feb 19 10:15:39 2009 +0100"
      },
      "message": "sound: virtuoso: revert \"do not overwrite EEPROM on Xonar D2/D2X\"\n\nThis reverts commit 7e86c0e6850504ec9516b953f316a47277825e33 (\"do not\noverwrite EEPROM on Xonar D2/D2X\") because it did not actually help with\nthe problem.\n\nMore user reports show that the overwriting of the EEPROM is not\ntriggered by using this driver but by installing Linux, and that the\ninstallation of any other operating system (even one without any CMI8788\ndriver) has the same effect.  In other words, the presence of this\ndriver does not have any effect on the occurrence of the error.  (So\nfar, the available evidence seems to point to a BIOS bug.)\n\nFurthermore, it turns out that the EEPROM chip is protected against\nstray write commands by the command format and by requiring a separate\nwrite-enable command, so the error scenario in the previous commit (that\nSPI writes can be misinterpreted as an EEPROM write command) is not even\ntheoretically possible.\n\nThe mixer control that was removed as a consequence of the previous\ncommit can only be partially emulated in userspace, which also means it\ncannot be seen be the in-kernel OSS API emulation, so it is better to\nrevert that change.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "4b3e3d228429c75d398f1aa24532e468d3220c49",
      "tree": "ff0f2bd4b3f6903ad563d16c47d0bbb15603b2dd",
      "parents": [
        "4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:50:01 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:50:01 2009 -0500"
      },
      "message": "tracing: limit the number of loops the ring buffer self test can make\n\nImpact: prevent deadlock if ring buffer gets corrupted\n\nThis patch adds a paranoid check to make sure the ring buffer consumer\ndoes not go into an infinite loop. Since the ring buffer has been set\nto read only, the consumer should not loop for more than the ring buffer\nsize. A check is added to make sure the consumer does not loop more than\nthe ring buffer size.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "4d7a077c0c7bfdba04cf0aa0b79053cf4ebaacf8",
      "tree": "6c5499988ccb21898b22d709f9f66d019e0fe475",
      "parents": [
        "0c5119c1e655e0719a69601b1049acdd5ec1c125"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:06:18 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:06:18 2009 -0500"
      },
      "message": "tracing: have function trace select kallsyms\n\nImpact: fix output of function tracer to be useful\n\nThe function tracer is pretty useless if KALLSYMS is not configured.\nUnless you are good at reading hex values, the function tracer should\nselect the KALLSYMS configuration.\n\nAlso, the dynamic function tracer will fail its self test if KALLSYMS\nis not selected.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "0c5119c1e655e0719a69601b1049acdd5ec1c125",
      "tree": "e808e36e274afc7c6521f69194e6fc2597e189bd",
      "parents": [
        "5b058bcde961bf28678a70e44c079107313543b6"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 18:33:57 2009 -0500"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Feb 18 22:04:01 2009 -0500"
      },
      "message": "tracing: disable tracing while testing ring buffer\n\nImpact: fix to prevent hard lockup on self tests\n\nIf one of the tracers are broken and is constantly filling the ring\nbuffer while the test of the ring buffer is running, it will hang\nthe box. The reason is that the test is a consumer that will not\nstop till the ring buffer is empty. But if the tracer is broken and\nis constantly producing input to the buffer, this test will never\nend. The result is a lockup of the box.\n\nThis happened when KALLSYMS was not defined and the dynamic ftrace\ntest constantly filled the ring buffer, because the filter failed\nand all functions were being traced. Something was being called\nthat constantly filled the buffer.\n\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\n"
    },
    {
      "commit": "ba95fd47d177d46743ad94055908d22840370e06",
      "tree": "f29e6921fefba2728c3b7f6854ac7f7729f602b2",
      "parents": [
        "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
        "be987fdb55a4726e2fcbab7501f89276bdb57288"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 18:33:04 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n  block: fix booting from partitioned md array\n  block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n  cciss: PCI power management reset for kexec\n  paride/pg.c: xs(): \u0026\u0026/|| confusion\n  fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n  block: fix bad definition of BIO_RW_SYNC\n  bsg: Fix sense buffer bug in SG_IO\n"
    },
    {
      "commit": "59af0a0b5848caf38f1bf7013905c3e9cdba4d1d",
      "tree": "485484cd9c58631a06f5a2f07abc6db4c2bc6f2f",
      "parents": [
        "f04b30de3c82528f1ab4c58b3dd4c975f5341901",
        "3ebf74b1de9f94da4291db3ea1ae11c5bedb5784"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 17:55:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 17:55:15 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  omap_hsmmc: Change while(); loops with finite version\n  omap_hsmmc: recover from transfer failures\n  omap_hsmmc: only MMC1 allows HCTL.SDVS !\u003d 1.8V\n  omap_hsmmc: card detect irq bugfix\n  sdhci: fix led naming\n  mmc_test: fix basic read test\n  s3cmci: Fix hangup in do_pio_write()\n  Revert \"sdhci: force high speed capability on some controllers\"\n  MMC: fix bug - SDHC card capacity not correct\n"
    },
    {
      "commit": "f04b30de3c82528f1ab4c58b3dd4c975f5341901",
      "tree": "1d3410190d93a72c0a98961704086ba17c21d326",
      "parents": [
        "be50344e604f956891fc0013f1ba78823a758124"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 18 14:48:43 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "inotify: fix GFP_KERNEL related deadlock\n\nEnhanced lockdep coverage of __GFP_NOFS turned up this new lockdep\nassert:\n\n[ 1093.677775]\n[ 1093.677781] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1093.680031] [ INFO: inconsistent lock state ]\n[ 1093.680031] 2.6.29-rc5-tip-01504-gb49eca1-dirty #1\n[ 1093.680031] ---------------------------------\n[ 1093.680031] inconsistent {RECLAIM_FS-ON-W} -\u003e {IN-RECLAIM_FS-W} usage.\n[ 1093.680031] kswapd0/308 [HC0[0]:SC0[0]:HE1:SE1] takes:\n[ 1093.680031]  (\u0026inode-\u003einotify_mutex){+.+.?.}, at: [\u003cc0205942\u003e] inotify_inode_is_dead+0x20/0x80\n[ 1093.680031] {RECLAIM_FS-ON-W} state was registered at:\n[ 1093.680031]   [\u003cc01696b9\u003e] mark_held_locks+0x43/0x5b\n[ 1093.680031]   [\u003cc016baa4\u003e] lockdep_trace_alloc+0x6c/0x6e\n[ 1093.680031]   [\u003cc01cf8b0\u003e] kmem_cache_alloc+0x20/0x150\n[ 1093.680031]   [\u003cc040d0ec\u003e] idr_pre_get+0x27/0x6c\n[ 1093.680031]   [\u003cc02056e3\u003e] inotify_handle_get_wd+0x25/0xad\n[ 1093.680031]   [\u003cc0205f43\u003e] inotify_add_watch+0x7a/0x129\n[ 1093.680031]   [\u003cc020679e\u003e] sys_inotify_add_watch+0x20f/0x250\n[ 1093.680031]   [\u003cc010389e\u003e] sysenter_do_call+0x12/0x35\n[ 1093.680031]   [\u003cffffffff\u003e] 0xffffffff\n[ 1093.680031] irq event stamp: 60417\n[ 1093.680031] hardirqs last  enabled at (60417): [\u003cc018d5f5\u003e] call_rcu+0x53/0x59\n[ 1093.680031] hardirqs last disabled at (60416): [\u003cc018d5b9\u003e] call_rcu+0x17/0x59\n[ 1093.680031] softirqs last  enabled at (59656): [\u003cc0146229\u003e] __do_softirq+0x157/0x16b\n[ 1093.680031] softirqs last disabled at (59651): [\u003cc0106293\u003e] do_softirq+0x74/0x15d\n[ 1093.680031]\n[ 1093.680031] other info that might help us debug this:\n[ 1093.680031] 2 locks held by kswapd0/308:\n[ 1093.680031]  #0:  (shrinker_rwsem){++++..}, at: [\u003cc01b0502\u003e] shrink_slab+0x36/0x189\n[ 1093.680031]  #1:  (\u0026type-\u003es_umount_key#4){+++++.}, at: [\u003cc01e6d77\u003e] shrink_dcache_memory+0x110/0x1fb\n[ 1093.680031]\n[ 1093.680031] stack backtrace:\n[ 1093.680031] Pid: 308, comm: kswapd0 Not tainted 2.6.29-rc5-tip-01504-gb49eca1-dirty #1\n[ 1093.680031] Call Trace:\n[ 1093.680031]  [\u003cc016947a\u003e] valid_state+0x12a/0x13d\n[ 1093.680031]  [\u003cc016954e\u003e] mark_lock+0xc1/0x1e9\n[ 1093.680031]  [\u003cc016a5b4\u003e] ? check_usage_forwards+0x0/0x3f\n[ 1093.680031]  [\u003cc016ab74\u003e] __lock_acquire+0x2c6/0xac8\n[ 1093.680031]  [\u003cc01688d9\u003e] ? register_lock_class+0x17/0x228\n[ 1093.680031]  [\u003cc016b3d3\u003e] lock_acquire+0x5d/0x7a\n[ 1093.680031]  [\u003cc0205942\u003e] ? inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc08824c4\u003e] __mutex_lock_common+0x3a/0x4cb\n[ 1093.680031]  [\u003cc0205942\u003e] ? inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc08829ed\u003e] mutex_lock_nested+0x2e/0x36\n[ 1093.680031]  [\u003cc0205942\u003e] ? inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc0205942\u003e] inotify_inode_is_dead+0x20/0x80\n[ 1093.680031]  [\u003cc01e6672\u003e] dentry_iput+0x90/0xc2\n[ 1093.680031]  [\u003cc01e67a3\u003e] d_kill+0x21/0x45\n[ 1093.680031]  [\u003cc01e6a46\u003e] __shrink_dcache_sb+0x27f/0x355\n[ 1093.680031]  [\u003cc01e6dc5\u003e] shrink_dcache_memory+0x15e/0x1fb\n[ 1093.680031]  [\u003cc01b05ed\u003e] shrink_slab+0x121/0x189\n[ 1093.680031]  [\u003cc01b0d12\u003e] kswapd+0x39f/0x561\n[ 1093.680031]  [\u003cc01ae499\u003e] ? isolate_pages_global+0x0/0x233\n[ 1093.680031]  [\u003cc0157eae\u003e] ? autoremove_wake_function+0x0/0x43\n[ 1093.680031]  [\u003cc01b0973\u003e] ? kswapd+0x0/0x561\n[ 1093.680031]  [\u003cc0157daf\u003e] kthread+0x41/0x82\n[ 1093.680031]  [\u003cc0157d6e\u003e] ? kthread+0x0/0x82\n[ 1093.680031]  [\u003cc01043ab\u003e] kernel_thread_helper+0x7/0x10\n\ninotify_handle_get_wd() does idr_pre_get() which does a\nkmem_cache_alloc() without __GFP_FS - and is hence deadlockable under\nextreme MM pressure.\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: MinChan Kim \u003cminchan.kim@gmail.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be50344e604f956891fc0013f1ba78823a758124",
      "tree": "f857656b717750fce8ddc4e3d2784b182d0aff60",
      "parents": [
        "97bef7dd05563807539122c488a5dd93ed327722"
      ],
      "author": {
        "name": "Michael Buesch",
        "email": "mb@bu3sch.de",
        "time": "Wed Feb 18 14:48:41 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "spi-gpio: sanitize MISO bitvalue\n\ngpio_get_value() returns 0 or nonzero, but getmiso() expects 0 or 1.\nSanitize the value to a 0/1 boolean.\n\nSigned-off-by: Michael Buesch \u003cmb@bu3sch.de\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97bef7dd05563807539122c488a5dd93ed327722",
      "tree": "9e4d6e7bcd71a3278765f8763d399de543a80477",
      "parents": [
        "310d8c93f9f07499cd7ca82d7997774a89de00e7"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bernhard.walle@gmx.de",
        "time": "Wed Feb 18 14:48:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "Bernhard has moved\n\nSince I don\u0027t work for SUSE any more and the bwalle@suse.de address is\ninvalid, correct it in the copyright headers and documentation.\n\nSigned-off-by: Bernhard Walle \u003cbernhard.walle@gmx.de\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "310d8c93f9f07499cd7ca82d7997774a89de00e7",
      "tree": "97a1ca85b19916062f8439c78653695217357479",
      "parents": [
        "2db69a9340da12a4db44edb7506dd68799aeff55"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Feb 18 14:48:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "x86: dell-laptop: depends on POWER_SUPPLY\n\nBuild breaks when DELL_LAPTOP\u003dy and POWER_SUPPLY\u003dm.  DELL_LAPTOP needs to\ndepend on POWER_SUPPLY.\n\ndell-laptop.c:(.text+0x1ef3c4): undefined reference to `power_supply_is_system_supplied\u0027\ndell-laptop.c:(.text+0x1ef45e): undefined reference to `power_supply_is_system_supplied\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nCc: Matthew Garrett \u003cmjg59@srcf.ucam.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2db69a9340da12a4db44edb7506dd68799aeff55",
      "tree": "1d644a26f4ebafeaaa0b8124b60c2875453f775a",
      "parents": [
        "a1a5c3b9237662f326cc730e167e7524b5d05a36"
      ],
      "author": {
        "name": "Bill Nottingham",
        "email": "notting@redhat.com",
        "time": "Wed Feb 18 14:48:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "vt: Declare PIO_CMAP/GIO_CMAP as compatbile ioctls.\n\nOtherwise, these don\u0027t work when called from 32-bit userspace on 64-bit\nkernels.\n\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a1a5c3b9237662f326cc730e167e7524b5d05a36",
      "tree": "19f116ac7917e1a071f93f79d70a2f4c5f4c9939",
      "parents": [
        "5a74db06cc8d36a325913aa4968ae169f997a466"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Feb 18 14:48:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:56 2009 -0800"
      },
      "message": "fbdev/drm: fix Kconfig submenu mess in \"Graphics support\"\n\nSubmenus of the graphics support \"Support for frame buffer devices\" and\n\"Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)\" are\nbroken in half after latest changes for Intel 915 mode setting support.\n\nThe DRM subsection is broken because one option is put outside the choice\nsection it depends on.\n\nThe frame buffers part is broken then due to circular dependency.  Fix\nthis by make Intel frame buffers depend on CONFIG_INTEL_AGP.\n\nKconfigs are broken by d2f59357700487a8b944f4f7777d1e97cf5ea2ed\n(\"drm/i915: select framebuffer support automatically\").\n\nThis is probably not only way to fix this.\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5a74db06cc8d36a325913aa4968ae169f997a466",
      "tree": "68eb369ba49b4c764d4900ae41b5115c615a8a83",
      "parents": [
        "ffa7525c13eb3db0fd19a3e1cffe2ce6f561f5f3"
      ],
      "author": {
        "name": "Philippe De Muyter",
        "email": "phdm@macqel.be",
        "time": "Wed Feb 18 14:48:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "floppy: request and release only the ports we actually use\n\nThe floppy driver requests an I/O port it doesn\u0027t need, and sometimes this\ncauses a conflict with a motherboard device reported by PNPBIOS.\n\nThis patch makes the floppy driver request and release only the ports it\nactually uses.  It also factors out the request/release stuff and the\nio-ports list so they\u0027re all in one place now.\n\nThe current floppy driver uses only these ports:\n\n    0x3f2 (FD_DOR)\n    0x3f4 (FD_STATUS)\n    0x3f5 (FD_DATA)\n    0x3f7 (FD_DCR/FD_DIR)\n\nbut it requests 0x3f2-0x3f5 and 0x3f7, which includes the unused port\n0x3f3.\n\nSome BIOSes report 0x3f3 as a motherboard resource.  The PNP system driver\nreserves that, which causes a conflict when the floppy driver requests\n0x3f2-0x3f5 later.\n\nPhilippe reported that this conflict broke the floppy driver between\n2.6.11 and 2.6.22.  His PNPBIOS reports these devices:\n\n    $ cat 00:07/id 00:07/resources\t# motherboard device\n    PNP0c02\n    state \u003d active\n    io 0x80-0x80\n    io 0x10-0x1f\n    io 0x22-0x3f\n    io 0x44-0x5f\n    io 0x90-0x9f\n    io 0xa2-0xbf\n    io 0x3f0-0x3f1\n    io 0x3f3-0x3f3\n\n    $ cat 00:03/id 00:03/resources\t# floppy device\n    PNP0700\n    state \u003d active\n    io 0x3f4-0x3f5\n    io 0x3f2-0x3f2\n\nReference:\n    http://lkml.org/lkml/2009/1/31/162\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nReported-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nTested-by: Philippe De Muyter \u003cphdm@macqel.be\u003e\nCc: Adam M Belay \u003cabelay@mit.edu\u003e\nCc: Robert Hancock \u003chancockrwd@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffa7525c13eb3db0fd19a3e1cffe2ce6f561f5f3",
      "tree": "e954d699cd7d92bb12bd4465a41c4ef8431faa9b",
      "parents": [
        "cc2559bccc72767cb446f79b071d96c30c26439b"
      ],
      "author": {
        "name": "Adam Lackorzynski",
        "email": "adam@os.inf.tu-dresden.de",
        "time": "Wed Feb 18 14:48:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "jsm: additional device support\n\nI have a Digi Neo 8 PCI card (114f:00b1) Serial controller: Digi\nInternational Digi Neo 8 (rev 05)\n\nthat works with the jsm driver after using the following patch.\n\nSigned-off-by: Adam Lackorzynski \u003cadam@os.inf.tu-dresden.de\u003e\nCc: Scott H Kilau \u003cScott_Kilau@digi.com\u003e\nCc: Wendy Xiong \u003cwendyx@us.ibm.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cc2559bccc72767cb446f79b071d96c30c26439b",
      "tree": "aacdeee5368e0eef72ed1d7a7cbd7e6ee4837941",
      "parents": [
        "f2dbcfa738368c8a40d4a5f0b65dc9879577cb21"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Feb 18 14:48:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "mm: fix memmap init for handling memory hole\n\nNow, early_pfn_in_nid(PFN, NID) may returns false if PFN is a hole.\nand memmap initialization was not done. This was a trouble for\nsparc boot.\n\nTo fix this, the PFN should be initialized and marked as PG_reserved.\nThis patch changes early_pfn_in_nid() return true if PFN is a hole.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nReported-by: David Miller \u003cdavem@davemlloft.net\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f2dbcfa738368c8a40d4a5f0b65dc9879577cb21",
      "tree": "bdea32c637fa572a9c356cddd202a57530b2a45c",
      "parents": [
        "ada723dcd681e2dffd7d73345cc8fda0eb0df9bd"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Feb 18 14:48:32 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "mm: clean up for early_pfn_to_nid()\n\nWhat\u0027s happening is that the assertion in mm/page_alloc.c:move_freepages()\nis triggering:\n\n\tBUG_ON(page_zone(start_page) !\u003d page_zone(end_page));\n\nOnce I knew this is what was happening, I added some annotations:\n\n\tif (unlikely(page_zone(start_page) !\u003d page_zone(end_page))) {\n\t\tprintk(KERN_ERR \"move_freepages: Bogus zones: \"\n\t\t       \"start_page[%p] end_page[%p] zone[%p]\\n\",\n\t\t       start_page, end_page, zone);\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_zone[%p] end_zone[%p]\\n\",\n\t\t       page_zone(start_page), page_zone(end_page));\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_pfn[0x%lx] end_pfn[0x%lx]\\n\",\n\t\t       page_to_pfn(start_page), page_to_pfn(end_page));\n\t\tprintk(KERN_ERR \"move_freepages: \"\n\t\t       \"start_nid[%d] end_nid[%d]\\n\",\n\t\t       page_to_nid(start_page), page_to_nid(end_page));\n ...\n\nAnd here\u0027s what I got:\n\n\tmove_freepages: Bogus zones: start_page[2207d0000] end_page[2207dffc0] zone[fffff8103effcb00]\n\tmove_freepages: start_zone[fffff8103effcb00] end_zone[fffff8003fffeb00]\n\tmove_freepages: start_pfn[0x81f600] end_pfn[0x81f7ff]\n\tmove_freepages: start_nid[1] end_nid[0]\n\nMy memory layout on this box is:\n\n[    0.000000] Zone PFN ranges:\n[    0.000000]   Normal   0x00000000 -\u003e 0x0081ff5d\n[    0.000000] Movable zone start PFN for each node\n[    0.000000] early_node_map[8] active PFN ranges\n[    0.000000]     0: 0x00000000 -\u003e 0x00020000\n[    0.000000]     1: 0x00800000 -\u003e 0x0081f7ff\n[    0.000000]     1: 0x0081f800 -\u003e 0x0081fe50\n[    0.000000]     1: 0x0081fed1 -\u003e 0x0081fed8\n[    0.000000]     1: 0x0081feda -\u003e 0x0081fedb\n[    0.000000]     1: 0x0081fedd -\u003e 0x0081fee5\n[    0.000000]     1: 0x0081fee7 -\u003e 0x0081ff51\n[    0.000000]     1: 0x0081ff59 -\u003e 0x0081ff5d\n\nSo it\u0027s a block move in that 0x81f600--\u003e0x81f7ff region which triggers\nthe problem.\n\nThis patch:\n\nDeclaration of early_pfn_to_nid() is scattered over per-arch include\nfiles, and it seems it\u0027s complicated to know when the declaration is used.\n I think it makes fix-for-memmap-init not easy.\n\nThis patch moves all declaration to include/linux/mm.h\n\nAfter this,\n  if !CONFIG_NODES_POPULATES_NODE_MAP \u0026\u0026 !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n     -\u003e Use static definition in include/linux/mm.h\n  else if !CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID\n     -\u003e Use generic definition in mm/page_alloc.c\n  else\n     -\u003e per-arch back end function will be called.\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nTested-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nReported-by: David Miller \u003cdavem@davemlloft.net\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ada723dcd681e2dffd7d73345cc8fda0eb0df9bd",
      "tree": "5f1b114d225721ae7a65fca08a6d053f89f36c43",
      "parents": [
        "27c0c8e511fa9e2389503926840fac606d90a049"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "peterz@infradead.org",
        "time": "Wed Feb 18 14:48:30 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "fs/super.c: add lockdep annotation to s_umount\n\nLi Zefan said:\n\nThread 1:\n  for ((; ;))\n  {\n      mount -t cpuset xxx /mnt \u003e /dev/null 2\u003e\u00261\n      cat /mnt/cpus \u003e /dev/null 2\u003e\u00261\n      umount /mnt \u003e /dev/null 2\u003e\u00261\n  }\n\nThread 2:\n  for ((; ;))\n  {\n      mount -t cpuset xxx /mnt \u003e /dev/null 2\u003e\u00261\n      umount /mnt \u003e /dev/null 2\u003e\u00261\n  }\n\n(Note: It is irrelevant which cgroup subsys is used.)\n\nAfter a while a lockdep warning showed up:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible recursive locking detected ]\n2.6.28 #479\n---------------------------------------------\nmount/13554 is trying to acquire lock:\n (\u0026type-\u003es_umount_key#19){--..}, at: [\u003cc049d888\u003e] sget+0x5e/0x321\n\nbut task is already holding lock:\n (\u0026type-\u003es_umount_key#19){--..}, at: [\u003cc049da0c\u003e] sget+0x1e2/0x321\n\nother info that might help us debug this:\n1 lock held by mount/13554:\n #0:  (\u0026type-\u003es_umount_key#19){--..}, at: [\u003cc049da0c\u003e] sget+0x1e2/0x321\n\nstack backtrace:\nPid: 13554, comm: mount Not tainted 2.6.28-mc #479\nCall Trace:\n [\u003cc044ad2e\u003e] validate_chain+0x4c6/0xbbd\n [\u003cc044ba9b\u003e] __lock_acquire+0x676/0x700\n [\u003cc044bb82\u003e] lock_acquire+0x5d/0x7a\n [\u003cc049d888\u003e] ? sget+0x5e/0x321\n [\u003cc061b9b8\u003e] down_write+0x34/0x50\n [\u003cc049d888\u003e] ? sget+0x5e/0x321\n [\u003cc049d888\u003e] sget+0x5e/0x321\n [\u003cc045a2e7\u003e] ? cgroup_set_super+0x0/0x3e\n [\u003cc045959f\u003e] ? cgroup_test_super+0x0/0x2f\n [\u003cc045bcea\u003e] cgroup_get_sb+0x98/0x2e7\n [\u003cc045cfb6\u003e] cpuset_get_sb+0x4a/0x5f\n [\u003cc049dfa4\u003e] vfs_kern_mount+0x40/0x7b\n [\u003cc049e02d\u003e] do_kern_mount+0x37/0xbf\n [\u003cc04af4a0\u003e] do_mount+0x5c3/0x61a\n [\u003cc04addd2\u003e] ? copy_mount_options+0x2c/0x111\n [\u003cc04af560\u003e] sys_mount+0x69/0xa0\n [\u003cc0403251\u003e] sysenter_do_call+0x12/0x31\n\nThe cause is after alloc_super() and then retry, an old entry in list\nfs_supers is found, so grab_super(old) is called, but both functions hold\ns_umount lock:\n\nstruct super_block *sget(...)\n{\n\t...\nretry:\n\tspin_lock(\u0026sb_lock);\n\tif (test) {\n\t\tlist_for_each_entry(old, \u0026type-\u003efs_supers, s_instances) {\n\t\t\tif (!test(old, data))\n\t\t\t\tcontinue;\n\t\t\tif (!grab_super(old))  \u003c--- 2nd: down_write(\u0026old-\u003es_umount);\n\t\t\t\tgoto retry;\n\t\t\tif (s)\n\t\t\t\tdestroy_super(s);\n\t\t\treturn old;\n\t\t}\n\t}\n\tif (!s) {\n\t\tspin_unlock(\u0026sb_lock);\n\t\ts \u003d alloc_super(type);   \u003c--- 1th: down_write(\u0026s-\u003es_umount)\n\t\tif (!s)\n\t\t\treturn ERR_PTR(-ENOMEM);\n\t\tgoto retry;\n\t}\n\t...\n}\n\nIt seems like a false positive, and seems like VFS but not cgroup needs to\nbe fixed.\n\nPeter said:\n\nWe can simply put the new s_umount instance in a but lockdep doesn\u0027t\nparticularly cares about subclass order.\n\nIf there\u0027s any issue with the callers of sget() assuming the s_umount lock\nbeing of sublcass 0, then there is another annotation we can use to fix\nthat, but lets not bother with that if this is sufficient.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d12673\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nTested-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nReported-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "27c0c8e511fa9e2389503926840fac606d90a049",
      "tree": "c1cc9bd15f9469c16864e0ae975f17791836e095",
      "parents": [
        "287d859222e0adbc67666a6154aaf42d7d5bbb54"
      ],
      "author": {
        "name": "Atsushi Nemoto",
        "email": "anemo@mba.ocn.ne.jp",
        "time": "Wed Feb 18 14:48:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "atmel_serial might lose modem status change\n\nI found a problem of handling of modem status of atmel_serial driver.\n\nWith the commit 1ecc26 (\"atmel_serial: split the interrupt handler\"),\nhandling of modem status signal was splitted into two parts.  The\natmel_tasklet_func() compares new status with irq_status_prev, but\nirq_status_prev is not correct if signal status was changed while the port\nis closed.\n\nHere is a sequence to cause problem:\n\n1. Remote side sets CTS (and DSR).\n2. Local side close the port.\n3. Local side clears RTS and DTR.\n4. Remote side clears CTS and DSR.\n5. Local side reopen the port.  hw_stopped becomes 1.\n6. Local side sets RTS and DTR.\n7. Remote side sets CTS and DSR.\n\nThen CTS change interrupt can be received, but since CTS bit in\nirq_status_prev and new status is same, uart_handle_cts_change() will not\nbe called (so hw_stopped will not be cleared, i.e.  cannot send any data).\n\nI suppose irq_status_prev should be initialized at somewhere in open\nsequence.\n\nItai Levi pointed out that we need to initialize atmel_port-\u003eirq_status\nas well here. His analysis is as follows:\n\n\u003e Regarding the second part of the patch (which resets irq_status_prev),\n\u003e it turns out that both versions of the patch (mine and Atsushi\u0027s)\n\u003e still leave enough room for faulty behavior when opening the port.\n\u003e\n\u003e This is because we are not resetting both irq_status_prev and\n\u003e irq_status in atmel_startup() to CSR, which leads faulty behavior in\n\u003e the following sequences:\n\u003e\n\u003e First case:\n\u003e 1. closing the port while CTS line \u003d 1 (TX not allowed)\n\u003e 2. setting CTS line \u003d 0 (TX allowed)\n\u003e 3. opening the port\n\u003e 4. transmitting one char\n\u003e 5. Cannot transmit more chars, although CTS line is 0\n\u003e\n\u003e Second case:\n\u003e 1. closing the port while CTS line \u003d 0 (TX allowed)\n\u003e 2. setting CTS line \u003d 1 (TX not allowed)\n\u003e 3. opening the port\n\u003e 4. receiving some chars\n\u003e 5. Now we can transmit, although CTS line is 1\n\u003e\n\u003e This reason for this is that the tasklet is scheduled as a result of\n\u003e TX or RX interrupts (not a status change!), in steps 4 above. Inside\n\u003e the tasklet, the atmel_port-\u003eirq_status (which holds the value from\n\u003e the previous session) is compared to atmel_port-\u003eirq_status_prev.\n\u003e Hence, a status-change of the CTS line is faultily detected.\n\u003e\n\u003e Both cases were verified on 9260 hardware.\n\n[haavard.skinnemoen@atmel.com: folded with patch from Itai Levi]\nSigned-off-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Haavard Skinnemoen \u003chaavard.skinnemoen@atmel.com\u003e\nCc: Remy Bohmer \u003clinux@bohmer.net\u003e\nCc: Marc Pignat \u003cmarc.pignat@hevs.ch\u003e\nCc: Itai Levi \u003citai.levi.devel@gmail.com\u003e\nCc: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "287d859222e0adbc67666a6154aaf42d7d5bbb54",
      "tree": "a3e00f7b42f91c0d00f9d5a8d79414939b3c566f",
      "parents": [
        "9ccf3b5e8409927835c4d38cb2f380c9e4349e76"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Wed Feb 18 14:48:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:55 2009 -0800"
      },
      "message": "atmel-mci: fix initialization of dma slave data\n\nThe conversion of atmel-mci to dma_request_channel missed the\ninitialization of the channel dma_slave information.  The filter_fn passed\nto dma_request_channel is responsible for initializing the channel\u0027s\nprivate data.  This implementation has the additional benefit of enabling\na generic client-channel data passing mechanism.\n\nReviewed-by: Atsushi Nemoto \u003canemo@mba.ocn.ne.jp\u003e\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nAcked-by: Haavard Skinnemoen \u003chskinnemoen@atmel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ccf3b5e8409927835c4d38cb2f380c9e4349e76",
      "tree": "b10e951d376aef142d15eec40b634e7cfe339251",
      "parents": [
        "137bad32342a613586347341d1307c2b9812ef44"
      ],
      "author": {
        "name": "Giuseppe Bilotta",
        "email": "giuseppe.bilotta@gmail.com",
        "time": "Wed Feb 18 14:48:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "lis3lv02d: add axes knowledge of HP Pavilion dv5 models\n\nAdd support for HP Pavilion dv5.\n\nSince Intel-based models have an inverted x axis, while AMD-based models\nhave an inverted y axis, we introduce a new macro that special-cases axis\norientation based on two DMI entries: HP dv5 axis configuration is then\nbased on both the PRODUCT and BOARD name.\n\nSigned-off-by: Giuseppe Bilotta \u003cgiuseppe.bilotta@gmail.com\u003e\nCc: Eric Piel \u003cEric.Piel@tremplin-utc.net\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nTested-by: Palatis Tseng \u003cpalatis@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "137bad32342a613586347341d1307c2b9812ef44",
      "tree": "3ed900e263388a72f92930a8d91a9d2eb7f0a39b",
      "parents": [
        "ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df"
      ],
      "author": {
        "name": "Giuseppe Bilotta",
        "email": "giuseppe.bilotta@gmail.com",
        "time": "Wed Feb 18 14:48:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "lis3lv02d: support both one- and two-byte sensors\n\nSensors responding with 0x3B to WHO_AM_I only have one data register per\ndirection, thus returning a signed byte from the position which is\noccupied by the MSB in sensors responding with 0x3A.\n\nSince multiple sensors share the reply to WHO_AM_I, we rename the defines\nto better indicate what they identify (family of single and double\nprecision sensors).\n\nWe support both kind of sensors by checking for the sensor type on init\nand defining appropriate data-access routines and sensor limits (for the\njoystick) depending on what we find.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Giuseppe Bilotta \u003cgiuseppe.bilotta@gmail.com\u003e\nAcked-by: Eric Piel \u003cEric.Piel@tremplin-utc.net\u003e\nCc: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef2cfc790bf5f0ff189b01eabc0f4feb5e8524df",
      "tree": "1e1a4999a6615f66f56ffe19c883e065aa8d3020",
      "parents": [
        "3a5093ee6728c8cbe9c039e685fc1fca8f965048"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Wed Feb 18 14:48:23 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "hp accelerometer: add freefall detection\n\nThis adds freefall handling to hp_accel driver.  According to HP, it\nshould just work, without us having to set the chip up by hand.\n\nhpfall.c is example .c program that parks the disk when accelerometer\ndetects free fall.  It should work; for now, it uses fixed 20seconds\nprotection period.\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Thomas Renninger \u003ctrenn@suse.de\u003e\nCc: Éric Piel \u003ceric.piel@tremplin-utc.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3a5093ee6728c8cbe9c039e685fc1fca8f965048",
      "tree": "684656fb33e8ae8cdee636565152156f280e129d",
      "parents": [
        "42f5e039c3f6512271636928ddc4e7f7a0371672"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Feb 18 14:48:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "eeepc: should depend on INPUT\n\nOtherwise with INPUT\u003dm, EEEPC_LAPTOP\u003dy one gets\n\ndrivers/built-in.o: In function `input_sync\u0027:\neeepc-laptop.c:(.text+0x18ce51): undefined reference to `input_event\u0027\ndrivers/built-in.o: In function `input_report_key\u0027:\neeepc-laptop.c:(.text+0x18ce73): undefined reference to `input_event\u0027\ndrivers/built-in.o: In function `eeepc_hotk_check\u0027:\neeepc-laptop.c:(.text+0x18d05f): undefined reference to `input_allocate_device\u0027\neeepc-laptop.c:(.text+0x18d10f): undefined reference to `input_register_device\u0027\neeepc-laptop.c:(.text+0x18d131): undefined reference to `input_free_device\u0027\ndrivers/built-in.o: In function `eeepc_backlight_exit\u0027:\neeepc-laptop.c:(.text+0x18d546): undefined reference to `input_unregister_device\u0027\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "42f5e039c3f6512271636928ddc4e7f7a0371672",
      "tree": "6582d5f88aeaf112e2293a2147f263fb726352cb",
      "parents": [
        "67e055d144c5b2acdc1c63811fde031263bf92c5"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Wed Feb 18 14:48:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "pm: fix build for CONFIG_PM unset\n\nCompilation of kprobes.c with CONFIG_PM unset is broken due to some broken\nconfig dependncies.  Fix that.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nTested-by: Masami Hiramatsu \u003cmhiramat@redhat.com\u003e\nCc: Len Brown \u003clenb@kernel.org\u003e\nAcked-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "67e055d144c5b2acdc1c63811fde031263bf92c5",
      "tree": "6bdb0af25cc30d7bc8a8d54db3625f8486c2f5f9",
      "parents": [
        "1cf6e7d83bf334cc5916137862c920a97aabc018"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 18 14:48:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "cgroups: fix possible use after free\n\nIn cgroup_kill_sb(), root is freed before sb is detached from the list, so\nanother sget() may find this sb and call cgroup_test_super(), which will\naccess the root that has been freed.\n\nReported-by: Al Viro \u003cviro@ZenIV.linux.org.uk\u003e\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1cf6e7d83bf334cc5916137862c920a97aabc018",
      "tree": "6bdbc4a98e9b332919beaeba0649797fff544795",
      "parents": [
        "610d18f4128ebbd88845d0fc60cce67b49af881e"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 18 14:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:54 2009 -0800"
      },
      "message": "mm: task dirty accounting fix\n\nYAMAMOTO-san noticed that task_dirty_inc doesn\u0027t seem to be called properly for\ncases where set_page_dirty is not used to dirty a page (eg. mark_buffer_dirty).\n\nAdditionally, there is some inconsistency about when task_dirty_inc is\ncalled.  It is used for dirty balancing, however it even gets called for\n__set_page_dirty_no_writeback.\n\nSo rather than increment it in a set_page_dirty wrapper, move it down to\nexactly where the dirty page accounting stats are incremented.\n\nCc: YAMAMOTO Takashi \u003cyamamoto@valinux.co.jp\u003e\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "610d18f4128ebbd88845d0fc60cce67b49af881e",
      "tree": "97faea373227afc42c4a8f932fb2fe3fd393a258",
      "parents": [
        "ef35ce231b3cb2a4b1808e826da263bf37ccb38a"
      ],
      "author": {
        "name": "Davide Libenzi",
        "email": "davidel@xmailserver.org",
        "time": "Wed Feb 18 14:48:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "timerfd: add flags check\n\nAs requested by Michael, add a missing check for valid flags in\ntimerfd_settime(), and make it return EINVAL in case some extra bits are\nset.\n\nMichael said:\nIf this is to be any use to userland apps that want to check flag\nsupport (perhaps it is too late already), then the sooner we get it\ninto the kernel the better: 2.6.29 would be good; earlier stables as\nwell would be even better.\n\n[akpm@linux-foundation.org: remove unused TFD_FLAGS_SET]\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\u003e\nSigned-off-by: Davide Libenzi \u003cdavidel@xmailserver.org\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef35ce231b3cb2a4b1808e826da263bf37ccb38a",
      "tree": "cff0928ed72e30941b61203e1ca04ced83efaeb7",
      "parents": [
        "8f19d472935c83d823fa4cf02bcc0a7b9952db30"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Wed Feb 18 14:48:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "Pavel has moved\n\nMy @suse.cz address will stop working some day, so put working one into\nMAINTAINERS/CREDITS.  It would be cool to get this to 2.6.29...  it should\nnot really break anything.\n\nSigned-off-by: Pavel Machek \u003cpavel@ucw.cz\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8f19d472935c83d823fa4cf02bcc0a7b9952db30",
      "tree": "25cabc0b48ad0acb05fa69f92de617cf588fec8d",
      "parents": [
        "55ec82176eca52e4e0530a82a0eb59160a1a95a1"
      ],
      "author": {
        "name": "Eric Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Feb 18 14:48:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "seq_file: properly cope with pread\n\nCurrently seq_read assumes that the offset passed to it is always the\noffset it passed to user space.  In the case pread this assumption is\nbroken and we do the wrong thing when presented with pread.\n\nTo solve this I introduce an offset cache inside of struct seq_file so we\nknow where our logical file position is.  Then in seq_read if we try to\nread from another offset we reset our data structures and attempt to go to\nthe offset user space wanted.\n\n[akpm@linux-foundation.org: restore FMODE_PWRITE]\n[pjt@google.com: seq_open needs its fmode opened up to take advantage of this]\nSigned-off-by: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Paul Turner \u003cpjt@google.com\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "55ec82176eca52e4e0530a82a0eb59160a1a95a1",
      "tree": "2d052ca4cf055fbcfc4b019ec45f8df5eea13749",
      "parents": [
        "b851ee7921fabdd7dfc96ffc4e9609f5062bd12b"
      ],
      "author": {
        "name": "Paul Turner",
        "email": "pjt@google.com",
        "time": "Wed Feb 18 14:48:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "vfs: separate FMODE_PREAD/FMODE_PWRITE into separate flags\n\nSeparate FMODE_PREAD and FMODE_PWRITE into separate flags to reflect the\nreality that the read and write paths may have independent restrictions.\n\nA git grep verifies that these flags are always cleared together so this\nnew behavior will only apply to interfaces that change to clear flags\nindividually.\n\nThis is required for \"seq_file: properly cope with pread\", a post-2.6.25\nregression fix.\n\n[akpm@linux-foundation.org: add comment]\nSigned-off-by: Paul Turner \u003cpjt@google.com\u003e\nCc: Eric Biederman \u003cebiederm@xmission.com\u003e\nCc:  Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: \u003cstable@kernel.org\u003e\t\t[2.6.25.x, 2.6.26.x, 2.6.27.x, 2.6.28.x]\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b851ee7921fabdd7dfc96ffc4e9609f5062bd12b",
      "tree": "7f226e34bbb825d3fdb6967f5c4fb77d5983eb06",
      "parents": [
        "b6d6c5175809934e04a606d9193ef04924a7a7d9"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Wed Feb 18 14:48:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "cgroups: update documentation about css_set hash table\n\nThe css_set hash table was introduced in 2.6.26, so update the\ndocumentation accordingly.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: Paul Menage \u003cmenage@google.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6d6c5175809934e04a606d9193ef04924a7a7d9",
      "tree": "49c90d21c05c657e51d8da3eff1b10b9c1f3da12",
      "parents": [
        "c296861291669f305deef19b78042330d7135017"
      ],
      "author": {
        "name": "Ed Cashin",
        "email": "ecashin@coraid.com",
        "time": "Wed Feb 18 14:48:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "aoe: ignore vendor extension AoE responses\n\nThe Welland ME-747K-SI AoE target generates unsolicited AoE responses that\nare marked as vendor extensions.  Instead of ignoring these packets, the\naoe driver was generating kernel messages for each unrecognized response\nreceived.  This patch corrects the behavior.\n\nSigned-off-by: Ed Cashin \u003cecashin@coraid.com\u003e\nReported-by: \u003ckaraluh@karaluh.pl\u003e\nTested-by: \u003ckaraluh@karaluh.pl\u003e\nCc: \u003cstable@kernel.org\u003e\nCc: Alex Buell \u003calex.buell@munted.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c296861291669f305deef19b78042330d7135017",
      "tree": "a623faa7815c0eb70ea463966c8a8715e7e69246",
      "parents": [
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 18 14:48:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 18 15:37:53 2009 -0800"
      },
      "message": "vmalloc: add __get_vm_area_caller()\n\nWe have get_vm_area_caller() and __get_vm_area() but not\n__get_vm_area_caller()\n\nOn powerpc, I use __get_vm_area() to separate the ranges of addresses\ngiven to vmalloc vs.  ioremap (various good reasons for that) so in order\nto be able to implement the new caller tracking in /proc/vmallocinfo, I\nneed a \"_caller\" variant of it.\n\n(akpm: needed for ongoing powerpc development, so merge it early)\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nReviewed-by: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ebf74b1de9f94da4291db3ea1ae11c5bedb5784",
      "tree": "5b0dc76a2eb6ec8ba3bc65de3fcbecfd53c5de5b",
      "parents": [
        "c232f457e409b34417166596ea3daf298ace95c9"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "jpihet@mvista.com",
        "time": "Fri Feb 06 16:42:51 2009 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 22:14:21 2009 +0100"
      },
      "message": "omap_hsmmc: Change while(); loops with finite version\n\nReplace the infinite \u0027while() ;\u0027 loops\nwith a finite loop version.\n\nSigned-off-by: Jean Pihet \u003cjpihet@mvista.com\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "c232f457e409b34417166596ea3daf298ace95c9",
      "tree": "f0ab268076cfd4ba680b707285263e6794541781",
      "parents": [
        "eb25082657be3e7639e349fc926afdcbb0a4dc65"
      ],
      "author": {
        "name": "Jean Pihet",
        "email": "jpihet@mvista.com",
        "time": "Wed Feb 11 13:11:39 2009 -0800"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 22:10:49 2009 +0100"
      },
      "message": "omap_hsmmc: recover from transfer failures\n\nTimeouts during a command that has a data phase can result in the next\ncommand issued after the command that failed not being processed, i.e.  no\ninterrupt ever occurs to indicate the command has completed.  This failure\ncan result in a deadlock.\n\nThis patch resets the data state machine to clear the error in case of a\ncommand timeout.\n\nTested on OMAP3430 chip and intensive MMC/SD device removal while\ntransferring data.\n\nSigned-off-by: Andy Lowe \u003calowe@mvista.com\u003e\nSigned-off-by: Jean Pihet \u003cjpihet@mvista.com\u003e\nSigned-off-by: Adrian Hunter \u003cext-adrian.hunter@nokia.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "eb25082657be3e7639e349fc926afdcbb0a4dc65",
      "tree": "d311c5c0d95c9837e2a7b8b54bf0aa256df5bd7f",
      "parents": [
        "249d0fa9d59b6165ecc224720d9ce9b7267cf1b8"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Tue Feb 17 14:49:01 2009 -0800"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 22:09:56 2009 +0100"
      },
      "message": "omap_hsmmc: only MMC1 allows HCTL.SDVS !\u003d 1.8V\n\nBased on a patch from Tony Lindgren ... after initialization,\nnever change HCTL.SDVS except for MMC1.  The other controller\ninstances only support 1.8V in that field, although they can\nsuport other card/SDIO/eMMC/... voltages with level shifting\nsolutions such as external transceivers.\n\nMMC2 behavior sanity tested on Overo/WLAN, OMAP3430 SDP, and\ncustom hardware.  MMC1 also sanity tested on those platforms\nplus Beagle.  This also fixes a bug preventing MMC2 (and also\npresumably MMC3) from powering down when requested.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "249d0fa9d59b6165ecc224720d9ce9b7267cf1b8",
      "tree": "7e7f7fdd6aec17f9b4c6aa4428e68ee129dca403",
      "parents": [
        "5dbace0c9ba110c1a3810a89fa6bf12b7574b5a3"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Wed Feb 04 14:42:03 2009 -0800"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 21:27:30 2009 +0100"
      },
      "message": "omap_hsmmc: card detect irq bugfix\n\nWork around lockdep issue when card detect IRQ handlers run in\nthread context ... it forces IRQF_DISABLED, which prevents all\naccess to twl4030 card detect signals.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Tony Lindgren \u003ctony@atomide.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "5dbace0c9ba110c1a3810a89fa6bf12b7574b5a3",
      "tree": "278312b69242c236d92d6d8599873c539bd5ab38",
      "parents": [
        "58a5dd3e0e77029d3db1f8fa75d0b54b38169d5d"
      ],
      "author": {
        "name": "Helmut Schaa",
        "email": "helmut.schaa@googlemail.com",
        "time": "Sat Feb 14 16:22:39 2009 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 21:02:38 2009 +0100"
      },
      "message": "sdhci: fix led naming\n\nFix the led device naming for the sdhci driver.\n\nThe led class documentation defines the led name to have the\nform \"devicename:colour:function\" while not applicable sections\nshould be left blank.\n\nTo comply with the documentation the led device name is changed\nfrom \"mmc*\" to \"mmc*::\".\n\nSigned-off-by: Helmut Schaa \u003chelmut.schaa@googlemail.com\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "58a5dd3e0e77029d3db1f8fa75d0b54b38169d5d",
      "tree": "87d901456c19394f31b8344790ffd285891be6cc",
      "parents": [
        "994244883739e4044bef76d4e5d7a9b66dc6c7b6"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin@rab.in",
        "time": "Fri Feb 13 22:55:26 2009 +0530"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 21:01:14 2009 +0100"
      },
      "message": "mmc_test: fix basic read test\n\nDue to a typo in the Basic Read test, it\u0027s currently identical to the\nBasic Write test.  Fix this.\n\nSigned-off-by: Rabin Vincent \u003crabin@rab.in\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "994244883739e4044bef76d4e5d7a9b66dc6c7b6",
      "tree": "e7e90dec7e5d20a362de132313b8e7c1c653e7cc",
      "parents": [
        "86a6a8749d5b8fd5c2b544fe9fd11101e3d0550f"
      ],
      "author": {
        "name": "Yauhen Kharuzhy",
        "email": "jekhor@gmail.com",
        "time": "Wed Feb 11 13:25:52 2009 -0800"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 20:56:04 2009 +0100"
      },
      "message": "s3cmci: Fix hangup in do_pio_write()\n\nThis commit fixes the regression what was added by commit\n088a78af978d0c8e339071a9b2bca1f4cb368f30 \"s3cmci: Support transfers\nwhich are not multiple of 32 bits.\"\n\nfifo_free() now returns amount of available space in FIFO buffer in\nbytes.  But do_pio_write() writes to FIFO 32-bit words.  Condition for\nreturn from cycle is (fifo_free() \u003d\u003d 0), but when fifo has 1..3 bytes\nof free space then this condition will never be true and system hangs.\n\nThis patch changes condition in the while() to (fifo_free() \u003e 3).\n\nSigned-off-by: Yauhen Kharuzhy \u003cjekhor@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "2678f60d2bc05a12580b93eb36f089f0e55693e0",
      "tree": "16267723e509b204f36002bb8f4a09f0142738ee",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Feb 18 16:46:27 2009 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Feb 18 16:46:27 2009 +0100"
      },
      "message": "ALSA: jack - Use card-\u003eshortname for input name\n\nCurrently the jack layer refers to card-\u003elongname as a part of\nits input device name string.  However, longname is often really long\nand way too ugly as an identifier, such as,\n\"HDA Intel at 0xf8400000 irq 21\".\n\nThis patch changes the code to use card-\u003eshortname instead.\nThe shortname string contains usually the h/w vendor and product\nnames but without messy I/O port or IRQ numbers.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "be987fdb55a4726e2fcbab7501f89276bdb57288",
      "tree": "bc92a402a4d710718883e67eeab6e0ced221e7ff",
      "parents": [
        "41b8c853a495438208faa5be03bbb0050859163b"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Wed Feb 18 10:30:15 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:34:16 2009 +0100"
      },
      "message": "block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n\nblk_abort_queue() iterates the timeout list and aborts each request on the\nlist, but if the driver error handling readds a request to the timeout list\nduring this processing, we could be looping forever. Fix this by splicing\ncurrent entries to a local list and run over that list instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "41b8c853a495438208faa5be03bbb0050859163b",
      "tree": "912541723b38a52c68c46bdb1de567972e239594",
      "parents": [
        "78f707bfc723552e8309b7c38a8d0cc51012e813"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 18 10:33:59 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:33:59 2009 +0100"
      },
      "message": "block: fix booting from partitioned md array\n\nHi Tejun,\n\n it looks like your commit:\n\n   block: don\u0027t depend on consecutive minor space\n   f331c0296f2a9fee0d396a70598b954062603015\n\n broke a particular case for booting from partitioned md/raid devices.\n That is the second time this has been broken recently.  The previous\n time was fixed by\n\n   block: do_mounts - accept root\u003d\u003cnon-existant partition\u003e\n   30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0\n\n Because the data isn\u0027t available when an md device is first created\n (we add disks and set it up after creation), the initial partition\n scan finds nothing.  It is not until the device is opened that\n another partition scan happens and finds something.\n\n So at the point where the kernel parameter \"root\u003d/dev/md_d0p1\" is\n being parsed, md_d0 exists, but md_d0p1 does not.\n However if we let blk_lookup_devt return the correct device number\n even though the device doesn\u0027t exist, then the attempt to mount it\n will successfully find the partition.\n\n I have tried in the past to find a way to get the partition table to\n be read as soon as the array is assembled but that proved impossible\n (at the time).  I don\u0027t remember the details, and could possibly\n revisit it.  However it would be really nice if blk_lookup_devt\n could be adjusted to again accept non existant partitions.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "78f707bfc723552e8309b7c38a8d0cc51012e813",
      "tree": "67f47d32eac2cb8288a9469b47c1d8cefc6ce42a",
      "parents": [
        "82eb03cfd862a65363fa2826de0dbd5474cfe5e2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 17 13:59:08 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:01 2009 +0100"
      },
      "message": "block: revert part of 18ce3751ccd488c78d3827e9f6bf54e6322676fb\n\nThe above commit added WRITE_SYNC and switched various places to using\nthat for committing writes that will be waited upon immediately after\nsubmission. However, this causes a performance regression with AS and CFQ\nfor ext3 at least, since sync_dirty_buffer() will submit some writes with\nWRITE_SYNC while ext3 has sumitted others dependent writes without the sync\nflag set. This causes excessive anticipation/idling in the IO scheduler\nbecause sync and async writes get interleaved, causing a big performance\nregression for the below test case (which is meant to simulate sqlite\nlike behaviour).\n\n---- test case ----\n\nint main(int argc, char **argv)\n{\n\n\tint fdes, i;\n\tFILE *fp;\n\tstruct timeval start;\n\tstruct timeval end;\n\tstruct timeval res;\n\n\tgettimeofday(\u0026start, NULL);\n\tfor (i\u003d0; i\u003cROWS; i++) {\n\t\tfp \u003d fopen(\"test_file\", \"a\");\n\t\tfprintf(fp, \"Some Text Data\\n\");\n\t\tfdes \u003d fileno(fp);\n\t\tfsync(fdes);\n\t\tfclose(fp);\n\t}\n\tgettimeofday(\u0026end, NULL);\n\n\ttimersub(\u0026end, \u0026start, \u0026res);\n\tfprintf(stdout, \"time to write %d lines is %ld(msec)\\n\", ROWS,\n\t\t\t(res.tv_sec*1000000 + res.tv_usec)/1000);\n\n\treturn 0;\n}\n\n-------------------\n\nThanks to Sean.White@APCC.com for tracking down this performance\nregression and providing a test case.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "82eb03cfd862a65363fa2826de0dbd5474cfe5e2",
      "tree": "e92ab2b93e73d01395cbf88648a8e7ebc841a17b",
      "parents": [
        "c8cbec6bdf6329279fd14696020f6b59d1d3124d"
      ],
      "author": {
        "name": "Chip Coldwell",
        "email": "coldwell@redhat.com",
        "time": "Mon Feb 16 13:11:56 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:01 2009 +0100"
      },
      "message": "cciss: PCI power management reset for kexec\n\nThe kexec kernel resets the CCISS hardware in three steps:\n\n1. Use PCI power management states to reset the controller in the\n   kexec kernel.\n\n2. Clear the MSI/MSI-X bits in PCI configuration space so that MSI\n   initialization in the kexec kernel doesn\u0027t fail.\n\n3. Use the CCISS \"No-op\" message to determine when the controller\n   firmware has recovered from the PCI PM reset.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c8cbec6bdf6329279fd14696020f6b59d1d3124d",
      "tree": "bdaccc9c80eefefe7e6a543f3a9b5b2a6dc7c8a8",
      "parents": [
        "a60e78e57a17d55bbd5a96da16fe9649d364b987"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Mon Feb 16 13:11:55 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:01 2009 +0100"
      },
      "message": "paride/pg.c: xs(): \u0026\u0026/|| confusion\n\n\u0026\u0026/|| confusion\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a60e78e57a17d55bbd5a96da16fe9649d364b987",
      "tree": "5b7a7c5977ee8862166f743d1aede56278c4971b",
      "parents": [
        "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8"
      ],
      "author": {
        "name": "Subhash Peddamallu",
        "email": "subhash.peddamallu@gmail.com",
        "time": "Mon Feb 16 10:27:07 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:01 2009 +0100"
      },
      "message": "fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free\n\nWhen freeing from bio pool use right ptr to account for bs-\u003efront_pad,\ninstead of bio ptr,\n\nSigned-off-by: Subhash Peddamallu \u003csubhash.peddamallu@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e",
      "tree": "e214a2773f20b814cb8cc8c5509066cd9ec98a1a",
      "parents": [
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Feb 03 07:47:29 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "bsg: Fix sense buffer bug in SG_IO\n\nWhen submitting requests via SG_IO, which does a sync io, a\nbsg_command is not allocated. So an in-Kernel sense_buffer was not\nset. However when calling blk_execute_rq() with no sense buffer\none is provided from the stack. Now bsg at blk_complete_sgv4_hdr_rq()\nwould check if rq-\u003esense_len and a sense was requested by sg_io_v4\nthe rq-\u003esense was copy_user() back, but by now it is already mangled\nstack memory.\n\nI have fixed that by forcing a sense_buffer when calling bsg_map_hdr().\nThe bsg_command-\u003esense is provided in the write/read path like before,\nand on-the-stack buffer is provided when doing SG_IO.\n\nI have also fixed a dprintk message to print rq-\u003eerrors in hex because\nof the scsi bit-field use of this member. For other block devices it\ndoes not matter anyway.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "86a6a8749d5b8fd5c2b544fe9fd11101e3d0550f",
      "tree": "2433073578c513875bd69d9edb6f72c3fa846b97",
      "parents": [
        "444122fd58fdc83c96877a92b3f6288cafddb08d"
      ],
      "author": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Mon Feb 02 21:13:49 2009 +0100"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 06:36:22 2009 +0100"
      },
      "message": "Revert \"sdhci: force high speed capability on some controllers\"\n\nThis reverts commit a4b76193774b463b922cab2f92450efb20d29ef0.\n\nIt turned out that the controller had problem running at the\nhigher speed, so go back to trusting the hardware capability\nbits.\n\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "444122fd58fdc83c96877a92b3f6288cafddb08d",
      "tree": "5d9fc37a7fd352d0caf74bc8dd2d8ba7526e7cd3",
      "parents": [
        "d2f8d7ee1a9b4650b4e43325b321801264f7c37a"
      ],
      "author": {
        "name": "Yi Li",
        "email": "yi.li@analog.com",
        "time": "Thu Feb 05 15:31:57 2009 +0800"
      },
      "committer": {
        "name": "Pierre Ossman",
        "email": "drzeus@drzeus.cx",
        "time": "Wed Feb 18 06:27:33 2009 +0100"
      },
      "message": "MMC: fix bug - SDHC card capacity not correct\n\nSigned-off-by: Yi Li \u003cyi.li@analog.com\u003e\nSigned-off-by: Bryan Wu \u003ccooloney@kernel.org\u003e\nSigned-off-by: Pierre Ossman \u003cdrzeus@drzeus.cx\u003e\n"
    },
    {
      "commit": "5955c7a2cfb6a35429adea5dc480002b15ca8cfc",
      "tree": "40b3e756177c41134539dd7fbc1281a49552edad",
      "parents": [
        "3494252d5644993f407a45f01c3e8ad5ae38f93c"
      ],
      "author": {
        "name": "Zlatko Calusic",
        "email": "zlatko.calusic@iskon.hr",
        "time": "Wed Feb 18 01:33:34 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 16:56:31 2009 -0800"
      },
      "message": "Add support for VT6415 PCIE PATA IDE Host Controller\n\nSigned-off-by: Zlatko Calusic \u003czlatko.calusic@iskon.hr\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3494252d5644993f407a45f01c3e8ad5ae38f93c",
      "tree": "01821aeeb26febe7da71ff6968eaed5b28e4b4f7",
      "parents": [
        "e78ac4b9deb8f36d8c828b6d91232960f109d951"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Fri Feb 13 23:41:12 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 16:56:31 2009 -0800"
      },
      "message": "USB/PCI: Fix resume breakage of controllers behind cardbus bridges\n\nIf a USB PCI controller is behind a cardbus bridge, we are trying to\nrestore its configuration registers too early, before the cardbus\nbridge is operational.  To fix this, call pci_restore_state() from\nusb_hcd_pci_resume() and remove usb_hcd_pci_resume_early() which is\nno longer necessary (the configuration spaces of USB controllers that\nare not behind cardbus bridges will be restored by the PCI PM core\nwith interrupts disabled anyway).\n\nThis patch fixes the regression from 2.6.28 tracked as\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d12659\n\n[ Side note: the proper long-term fix is probably to just force the\n  unplug event at suspend time instead of doing a plug/unplug at resume\n  time, but this patch is fine regardless  - Linus ]\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nReported-by: Miles Lane \u003cmiles.lane@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07db1c140eb233971341396e492cc73d4280e698",
      "tree": "52fc67a4724ca6cbfde88b2e8a64746479da6d29",
      "parents": [
        "380851bc6b1b4107c61dfa2997f9095dcf779336"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Feb 12 13:39:35 2009 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Feb 17 15:24:34 2009 -0800"
      },
      "message": "x86, mce: fix ifdef for 64bit thermal apic vector clear on shutdown\n\nImpact: Bugfix\n\nThe ifdef for the apic clear on shutdown for the 64bit intel thermal\nvector was incorrect and never triggered. Fix that.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "380851bc6b1b4107c61dfa2997f9095dcf779336",
      "tree": "1b80fb980d33323421d8d3e76965d3f798756520",
      "parents": [
        "6ec68bff3c81e776a455f6aca95c8c5f1d630198"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Feb 12 13:39:33 2009 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Feb 17 15:24:31 2009 -0800"
      },
      "message": "x86, mce: use force_sig_info to kill process in machine check\n\nImpact: bug fix (with tolerant \u003d\u003d 3)\n\ndo_exit cannot be called directly from the exception handler because\nit can sleep and the exception handler runs on the exception stack.\nUse force_sig() instead.\n\nBased on a earlier patch by Ying Huang who debugged the problem.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "6ec68bff3c81e776a455f6aca95c8c5f1d630198",
      "tree": "248b9c4dbb9271f7a8ad15b7103febefe877a79f",
      "parents": [
        "bf51935f3e988e0ed6f34b55593e5912f990750a"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Thu Feb 12 13:39:26 2009 +0100"
      },
      "committer": {
        "name": "H. Peter Anvin",
        "email": "hpa@linux.intel.com",
        "time": "Tue Feb 17 15:24:28 2009 -0800"
      },
      "message": "x86, mce: reinitialize per cpu features on resume\n\nImpact: Bug fix\n\nThis fixes a long standing bug in the machine check code. On resume the\nboot CPU wouldn\u0027t get its vendor specific state like thermal handling\nreinitialized. This means the boot cpu wouldn\u0027t ever get any thermal\nevents reported again.\n\nCall the respective initialization functions on resume\n\nv2: Remove ancient init because they don\u0027t have a resume device anyways.\n    Pointed out by Thomas Gleixner.\nv3: Now fix the Subject too to reflect v2 change\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: H. Peter Anvin \u003chpa@zytor.com\u003e\n"
    },
    {
      "commit": "fd4b9b3650076ffadbdd6e360eb198f5d61747c0",
      "tree": "ef6246442bf2c434269355f7ec52eefd897c1cb0",
      "parents": [
        "744f6592727a7ab9e3ca4266bedaa786825a31bb"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Tue Feb 17 20:45:50 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Tue Feb 17 22:37:09 2009 +0000"
      },
      "message": "[ARM] 5401/1: Orion: fix edge triggered GPIO interrupt support\n\nThe GPIO interrupts can be configured as either level triggered or edge\ntriggered, with a default of level triggered.  When an edge triggered\ninterrupt is requested, the gpio_irq_set_type method is called which\ncurrently switches the given IRQ descriptor between two struct irq_chip\ninstances: orion_gpio_irq_level_chip and orion_gpio_irq_edge_chip. This\nhappens via __setup_irq() which also calls irq_chip_set_defaults() to\nassign default methods to uninitialized ones.  The problem is that\nirq_chip_set_defaults() is called before the irq_chip reference is\nswitched, leaving the new irq_chip (orion_gpio_irq_edge_chip in this\ncase) with uninitialized methods such as chip-\u003estartup() causing a kernel\noops.\n\nMany solutions are possible, such as making irq_chip_set_defaults() global\nand calling it from gpio_irq_set_type(), or calling __irq_set_trigger()\nbefore irq_chip_set_defaults() in __setup_irq().  But those require\nmodifications to the generic IRQ code which might have adverse effect on\nother architectures, and that would still be a fragile arrangement.\nManually copying the missing methods from within gpio_irq_set_type()\nwould be really ugly and it would break again the day new methods with\nautomatic defaults are added.\n\nA better solution is to have a single irq_chip instance which can deal\nwith both edge and level triggered interrupts.  It is also a good idea\nto switch the IRQ handler instead, as the edge IRQ handler allows for\none edge IRQ event to be queued as the IRQ is actually masked only when\nthat second IRQ is received, at which point the hardware can queue an\nadditional IRQ event, making edge triggered interrupts a bit more\nreliable.\n\nTested-by: Martin Michlmayr \u003ctbm@cyrius.com\u003e\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "e78ac4b9deb8f36d8c828b6d91232960f109d951",
      "tree": "09d0eb38a666071bc90a8637cd0501ecc152cda0",
      "parents": [
        "29a0c5ce5d008f398346d644456d62ab300d5e10",
        "a0490fa35dc0022ef95f64802e8edf18c411c790"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:30:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:30:06 2009 -0800"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: cpu hotplug fix\n"
    },
    {
      "commit": "29a0c5ce5d008f398346d644456d62ab300d5e10",
      "tree": "f549f6c78905f318f0e6342edede01cb7c0561b9",
      "parents": [
        "f8effd1a4a1833eac90261d78abacfaefe3d99e4",
        "3997ad317fdf9ecdb5702e2b4fd1f8229814ff8c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:42 2009 -0800"
      },
      "message": "Merge branch \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027timers-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  timers: more consistently use clock vs timer\n"
    },
    {
      "commit": "f8effd1a4a1833eac90261d78abacfaefe3d99e4",
      "tree": "8ebecce9f6d5b0faf0efc3828b3b353561fd9341",
      "parents": [
        "35010334aa007480a833401b80922299cb1a15ef",
        "f9aa28adfc6a4b01268ebb6d88566cca8627905f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:15 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:29:15 2009 -0800"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  doc: mmiotrace.txt, buffer size control change\n  trace: mmiotrace to the tracer menu in Kconfig\n  mmiotrace: count events lost due to not recording\n"
    },
    {
      "commit": "35010334aa007480a833401b80922299cb1a15ef",
      "tree": "6e318eb89da45d37ea8dceddd1ae6858b74dee1e",
      "parents": [
        "8ce9a75a307e142a8871c649627555e0e4a1eefb",
        "be716615fe596ee117292dc615e95f707fb67fd1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:27:39 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:27:39 2009 -0800"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  x86, vm86: fix preemption bug\n  x86, olpc: fix model detection without OFW\n  x86, hpet: fix for LS21 + HPET \u003d boot hang\n  x86: CPA avoid repeated lazy mmu flush\n  x86: warn if arch_flush_lazy_mmu_cpu is called in preemptible context\n  x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption\n  x86, pat: fix warn_on_once() while mapping 0-1MB range with /dev/mem\n  x86/cpa: make sure cpa is safe to call in lazy mmu mode\n  x86, ptrace, mm: fix double-free on race\n"
    },
    {
      "commit": "8ce9a75a307e142a8871c649627555e0e4a1eefb",
      "tree": "ba4ef31238311bd1089507b7a27c6802488fc9db",
      "parents": [
        "b30b77493039b7b95b4d569a66af425b02651edd",
        "9af88143b277f52fc6ce0d69137f435c73c39c1a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:26:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:26:35 2009 -0800"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  iommu: fix Intel IOMMU write-buffer flushing\n  futex: fix reference leak\n\nTrivial conflicts fixed manually in drivers/pci/intel-iommu.c\n"
    },
    {
      "commit": "b30b77493039b7b95b4d569a66af425b02651edd",
      "tree": "6ab1e58c7c847c817c5b00fc4329b4f4c60cc08a",
      "parents": [
        "c951aa62d59210636cc63a569bcf3331be7f5b15",
        "26456dcfb8d8e43b1b64b2a14710694cf7a72f05"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:23:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:23:49 2009 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/vsx: Fix VSX alignment handler for regs 32-63\n  powerpc/ps3: Move ps3_mm_add_memory to device_initcall\n  powerpc/mm: Fix numa reserve bootmem page selection\n  powerpc/mm: Fix _PAGE_CHG_MASK to protect _PAGE_SPECIAL\n"
    },
    {
      "commit": "c951aa62d59210636cc63a569bcf3331be7f5b15",
      "tree": "151cde34d789db9fd8cf224603edff635997561a",
      "parents": [
        "23beafbe3abd3f622931e83ef4e6b17642cf408e",
        "a08f6e04d74478d91f34a0484e69e89870adb33d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:23:35 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 17 14:23:35 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI: Documentation: fix minor PCIe HOWTO thinko\n  PCI: fix missing kernel-doc and typos\n  PCI: fix struct pci_platform_pm_ops kernel-doc\n  PCI: fix rom.c kernel-doc warning\n  PCI/MSI: fix msi_mask() shift fix\n"
    }
  ],
  "next": "23beafbe3abd3f622931e83ef4e6b17642cf408e"
}
