)]}'
{
  "log": [
    {
      "commit": "fa5829b36539067f3c675f5d437531dedcfc4ad8",
      "tree": "cd2ec2bf02d88393e798cc7f6e1d00a39e0f522d",
      "parents": [
        "dd5fde6041d7ea30fcfedcc159a4cec8b01f73b2"
      ],
      "author": {
        "name": "Marcin Kościelnicki",
        "email": "koriakin@0x04.net",
        "time": "Sat Jan 23 10:25:28 2010 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Feb 01 11:26:39 2010 +1000"
      },
      "message": "drm/kms: Remove incorrect comment in struct drm_mode_modeinfo\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "3f09ea4ecdcbcea05541f83e557d6ce2e56626d8",
      "tree": "445e4519b2e8a39136f611f07db670d1e10ace6e",
      "parents": [
        "effe1105bef07f42366c20eac41b80ff9fcf675e"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Jan 13 22:28:40 2010 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 14 12:18:54 2010 +1000"
      },
      "message": "drm/ttm: Add a swap_notify callback.\n\nThis is needed for a bugfix in the vmwgfx driver.\nDrivers may have GPU bindings on buffers that core TTM is not aware of,\nand TTM may view those buffers as ordinary system memory buffers.\nAdd a notifier to such drivers when TTM is about to move the buffer\ncontents out to swappable memory. The driver must then release any\nprivate GPU bindings on those buffers.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "0c9d2c418aa4a45534943c4c9a1c8dda82d3b481",
      "tree": "7844c421b7bd20b9b4e9c17b425ee050653eb407",
      "parents": [
        "94fd163d86b049842856864cdeac318131ec576d",
        "804c7559e9376c3ba78ae15a30337b1e24f8ae80"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Jan 11 14:42:58 2010 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Jan 11 14:42:58 2010 +1000"
      },
      "message": "Merge remote branch \u0027korg/drm-radeon-next\u0027 into drm-linus\n\n* korg/drm-radeon-next:\n  drm/radeon/kms: add additional safe regs for r4xx/rs6xx and r5xx\n  drm/radeon/kms: Don\u0027t try to enable IRQ if we have no handler installed\n  drm: Avoid calling vblank function is vblank wasn\u0027t initialized\n  drm/radeon: mkregtable.c: close a file before exit\n  drm/radeon/kms: Make sure we release AGP device if we acquired it\n  drm/radeon/kms: Schedule host path read cache flush through the ring V2\n  drm/radeon/kms: Workaround RV410/R420 CP errata (V3)\n  drm/radeon/kms: detect sideport memory on IGP chips\n  drm/radeon: fix a couple of array index errors\n  drm/radeon/kms: add support for eDP (embedded DisplayPort)\n  drm: Add eDP connector type\n  drm/radeon/kms: pull in the latest upstream ObjectID.h changes\n  drm/radeon/kms: whitespace changes to ObjectID.h\n  drm/radeon/kms: fix typo in atom connector type handling\n"
    },
    {
      "commit": "7970e677accb676f15e11468c60cb93ae477a513",
      "tree": "013a907585b309fca18fe04cfd3098e3d43e8df3",
      "parents": [
        "f0f480adcb6c44e76186c6d3036e06ed7e7e0202"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Thu Jan 07 13:47:47 2010 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Jan 08 13:04:04 2010 +1000"
      },
      "message": "drm: Add eDP connector type\n\nAdd a new connector type for eDP (embedded displayport)\n\neDP is more or less the same as DP but there are some\ncases when you might want to handle it separately.\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "e6be8d9d17bd44061116f601fe2609b3ace7aa69",
      "tree": "85b8acc2fd4734724b9d5202016743461e02ee07",
      "parents": [
        "29ebdf925c2c45f6531a953c6c5c8e4d3b4ac2dc"
      ],
      "author": {
        "name": "Zhenyu Wang",
        "email": "zhenyu.z.wang@intel.com",
        "time": "Tue Jan 05 11:25:05 2010 +0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Jan 07 13:15:50 2010 +1000"
      },
      "message": "drm: remove address mask param for drm_pci_alloc()\n\ndrm_pci_alloc() has input of address mask for setting pci dma\nmask on the device, which should be properly setup by drm driver.\nAnd leave it as a param for drm_pci_alloc() would cause confusion\nor mistake would corrupt the correct dma mask setting, as seen on\nintel hw which set wrong dma mask for hw status page. So remove\nit from drm_pci_alloc() function.\n\nSigned-off-by: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ed8b67040965e4fe695db333d5914e18ea5f146f",
      "tree": "6fd9f50130f7ccaccf8070f7821ea8eb6743854c",
      "parents": [
        "dcd6dfcfe959bade75fbf49499775985d2cac5d5"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Dec 16 22:17:09 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 18 11:22:31 2009 +1000"
      },
      "message": "drm: convert drm_ioctl to unlocked_ioctl\n\ndrm_ioctl is called with the Big Kernel Lock held,\nwhich shows up very high in statistics on vfs_ioctl.\n\nMoving the lock into the drm_ioctl function itself\nmakes sure we blame the right subsystem and it gets\nus one step closer to eliminating the locked version\nof fops-\u003eioctl.\n\nSince drm_ioctl does not require the lock itself,\nwe only need to hold it while calling the specific\nhandler. The 32 bit conversion handlers do not\ninteract with any other code, so they don\u0027t need\nthe BKL here either and can just call drm_ioctl.\n\nAs a bonus, this cleans up all the other users\nof drm_ioctl which now no longer have to find\nthe inode or call lock_kernel.\n\n[airlied: squashed the non-driver bits\nof the second patch in here, this provides\nthe flag for drivers to use to select unlocked\nioctls - but doesn\u0027t modify any drivers].\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: dri-devel@lists.sourceforge.net\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "cbc8cc049aefd571ebc3c255dc3e265f736751c0",
      "tree": "46626ce409b71790af6220ee0518be694693af99",
      "parents": [
        "5012f5063f41ca01240e5983c3b2cceb9aafc7a4",
        "fb1d9738ca053ea8afa5e86af6463155f983b01c"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 18 09:53:50 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 18 09:53:50 2009 +1000"
      },
      "message": "Merge remote branch \u0027korg/drm-vmware-staging\u0027 into drm-core-next\n"
    },
    {
      "commit": "fb1d9738ca053ea8afa5e86af6463155f983b01c",
      "tree": "53aa407922c989f48aead5fcf61f9945ca6051d5",
      "parents": [
        "632f61178d0473861ba77e774bb654b37bc7eccc"
      ],
      "author": {
        "name": "Jakob Bornecrantz",
        "email": "jakob@vmware.com",
        "time": "Thu Dec 10 00:19:58 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 15 08:38:43 2009 +1000"
      },
      "message": "drm/vmwgfx: Add DRM driver for VMware Virtual GPU\n\nThis commit adds the vmwgfx driver for the VWware Virtual GPU aka SVGA.\nThe driver is under staging the same as Nouveau and Radeon KMS. Hopefully\nthe 2D ioctls are bug free and don\u0027t need changing, so that part of the\nAPI should be stable. But there there is a pretty big chance that the 3D API\nwill change in the future.\n\nSigned-off-by: Thomas Hellström \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "be1cb8689c480228ffd2e4bfccc0dab7156cd9ea",
      "tree": "b2354c0b21e89f627a5bc8f9cf5ba5ad0bdcb881",
      "parents": [
        "d1ede145cea25c5b6d2ebb19b167af14e374bb45"
      ],
      "author": {
        "name": "Jakob Bornecrantz",
        "email": "jakob@vmware.com",
        "time": "Mon Dec 14 22:07:45 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 15 08:38:18 2009 +1000"
      },
      "message": "drm/ttm: Add more driver type enums\n\nSigned-off-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "6ee738610f41b59733f63718f0bdbcba7d3a3f12",
      "tree": "eccb9f07671998c50a1bc606a54cd6f82ba43e0a",
      "parents": [
        "d1ede145cea25c5b6d2ebb19b167af14e374bb45"
      ],
      "author": {
        "name": "Ben Skeggs",
        "email": "bskeggs@redhat.com",
        "time": "Fri Dec 11 19:24:15 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 11 21:29:34 2009 +1000"
      },
      "message": "drm/nouveau: Add DRM driver for NVIDIA GPUs\n\nThis adds a drm/kms staging non-API stable driver for GPUs from NVIDIA.\n\nThis driver is a KMS-based driver and requires a compatible nouveau\nuserspace libdrm and nouveau X.org driver.\n\nThis driver requires firmware files not available in this kernel tree,\ninterested parties can find them via the nouveau project git archive.\n\nThis driver is reverse engineered, and is in no way supported by nVidia.\n\nSupport for nearly the complete range of nvidia hw from nv04-\u003eg80 (nv50)\nis available, and the kms driver should support driving nearly all\noutput types (displayport is under development still) along with supporting\nsuspend/resume.\n\nThis work is all from the upstream nouveau project found at\nnouveau.freedesktop.org.\n\nThe original authors list from nouveau git tree is:\nAnssi Hannula \u003canssi.hannula@iki.fi\u003e\nBen Skeggs \u003cbskeggs@redhat.com\u003e\nFrancisco Jerez \u003ccurrojerez@riseup.net\u003e\nMaarten Maathuis \u003cmadman2003@gmail.com\u003e\nMarcin Kościelnicki \u003ckoriakin@0x04.net\u003e\nMatthew Garrett \u003cmjg@redhat.com\u003e\nMatt Parnell \u003cmparnell@gmail.com\u003e\nPatrice Mandin \u003cpatmandin@gmail.com\u003e\nPekka Paalanen \u003cpq@iki.fi\u003e\nXavier Chantry \u003cshiningxc@gmail.com\u003e\nalong with project founder Stephane Marchesin \u003cmarchesin@icps.u-strasbg.fr\u003e\n\nSigned-off-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "09855acb1c2e3779f25317ec9a8ffe1b1784a4a8",
      "tree": "4a96a67c6bc9694036a95aafd4004c9e9b89eadc",
      "parents": [
        "4361e52ad0372e6fd2240a2207b49a4de1f45ca9"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Thu Dec 10 17:16:27 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 11 14:09:05 2009 +1000"
      },
      "message": "drm/ttm: Convert ttm_buffer_object_init to use ttm_placement\n\nConvert ttm_buffer_object_init to use struct ttm_placement and\nrename to ttm_bo_init for consistency with function naming. This\nallow to give more complex placement at buffer creation. For\ninstance you ask to allocate bo into vram first but if there is\nnot enough vram you can give system as a second possible\nplacement. It also allow to create buffer in a specific range.\n\nAlso rename ttm_buffer_object_validate to ttm_bo_validate.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "99d7e48e8cb867f303439ad40e995e203841bd94",
      "tree": "2bb3110aec2ed62a195a3ab8511f1aab99f15b86",
      "parents": [
        "550e2d9270e2f0a10c3b063899f70e4cca25fe72"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Wed Dec 09 21:55:09 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 10 15:28:06 2009 +1000"
      },
      "message": "drm: Add memory manager debug function\n\ndrm_mm_debug_table will print the memory manager state\nin table allowing to give a snapshot of the manager at\ngiven point in time. Usefull for debugging.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "98ffc4158e12008102cb6ae242a7fc46f9243f0d",
      "tree": "fa8b231281fac87afe88ab9a0539c6ab5cdc2100",
      "parents": [
        "312ea8da049a1830aa50c6e00002e50e30df476e"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Mon Dec 07 18:36:18 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 10 15:09:03 2009 +1000"
      },
      "message": "drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.\n\nReturn -ERESTARTSYS instead of -ERESTART when interrupted by a signal.\nThe -ERESTARTSYS is converted to an -EINTR by the kernel signal layer\nbefore returned to user-space.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ca262a9998d46196750bb19a9dc4bd465b170ff7",
      "tree": "b128691e5c57f6305c5752ac5c1b09e6aedfb650",
      "parents": [
        "a2e68e92d384d37c8cc6bb7206d43b1eb9bc3f08"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Tue Dec 08 15:33:32 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 10 15:09:02 2009 +1000"
      },
      "message": "drm/ttm: Rework validation \u0026 memory space allocation (V3)\n\nThis change allow driver to pass sorted memory placement,\nfrom most prefered placement to least prefered placement.\nIn order to avoid long function prototype a structure is\nused to gather memory placement informations such as range\nrestriction (if you need a buffer to be in given range).\nRange restriction is determined by fpfn \u0026 lpfn which are\nthe first page and last page number btw which allocation\ncan happen. If those fields are set to 0 ttm will assume\nbuffer can be put anywhere in the address space (thus it\navoids putting a burden on the driver to always properly\nset those fields).\n\nThis patch also factor few functions like evicting first\nentry of lru list or getting a memory space. This avoid\ncode duplication.\n\nV2: Change API to use placement flags and array instead\n    of packing placement order into a quadword.\nV3: Make sure we set the appropriate mem.placement flag\n    when validating or allocation memory space.\n\n[Pending Thomas Hellstrom further review but okay\nfrom preliminary review so far].\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "a2e68e92d384d37c8cc6bb7206d43b1eb9bc3f08",
      "tree": "5050cb18d00830a3f80ad650f8c16ed40953399c",
      "parents": [
        "cf2f05d30dacab32e6866347be6cbfa4030b33b7"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Mon Dec 07 15:52:56 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Dec 10 15:09:01 2009 +1000"
      },
      "message": "drm: Add search/get functions to get a block in a specific range\n\nThese are required for changes to TTM.\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7b0a9e8302522d5f7bb7fab6b8a3c8ce8181609c",
      "tree": "c958236a2397b3e5be77d99a494673764341e737",
      "parents": [
        "3f838fc50c0dcdc993c24f6f5da0cda1228fc276",
        "d4877cf2293f5463f531769fd12300cb3417c778"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 14:29:15 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 14:29:15 2009 +1000"
      },
      "message": "Merge remote branch \u0027korg/drm-radeon-dp\u0027 into drm-linus\n\nThis merges the radeon KMS DisplayPort and hotplug detect support.\n\nTested on RV635 DP card with a Dell 2408 monitor.\n\nConflicts:\n\tdrivers/gpu/drm/drm_fb_helper.c\n"
    },
    {
      "commit": "3ff99164f67aae78a2bd2313f65ad55bddb1ffea",
      "tree": "d6bba03616d1be6ab9e6d9e92641a6f4047e1e15",
      "parents": [
        "1bd049fa895f9c6743f38b52ce14775f5a31ea63",
        "f2b115e69d46344ae7afcaad5823496d2a0d8650"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 14:03:47 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 14:03:47 2009 +1000"
      },
      "message": "Merge remote branch \u0027anholt/drm-intel-next\u0027 into drm-linus\n\nThis merges the upstream Intel tree and fixes up numerous conflicts\ndue to patches merged into Linus tree later in -rc cycle.\n\nConflicts:\n\tdrivers/char/agp/intel-agp.c\n\tdrivers/gpu/drm/drm_dp_i2c_helper.c\n\tdrivers/gpu/drm/i915/i915_irq.c\n\tdrivers/gpu/drm/i915/i915_suspend.c\n"
    },
    {
      "commit": "1bd049fa895f9c6743f38b52ce14775f5a31ea63",
      "tree": "cb9163ac1c20f7fbdbde42eaab8013d0c3734aed",
      "parents": [
        "22763c5cf3690a681551162c15d34d935308c8d7",
        "b0a007dc27d8d3ff3db07b3ea997323d9330f770"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 13:52:41 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 13:52:41 2009 +1000"
      },
      "message": "Merge branch \u0027drm-core-next\u0027 into drm-linus\n\nBring all core drm changes into 2.6.32 tree and resolve\nthe conflict that occurs.\n\nConflicts:\n\tdrivers/gpu/drm/drm_fb_helper.c\n"
    },
    {
      "commit": "5801ead6bd6bddf5505d6eab55f84d8ee8106cd8",
      "tree": "60cc75789c50aab78299499e05411c9140616bc2",
      "parents": [
        "f92a8b6758bdc0f277c4f42aa7d736a205ac9ded"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Tue Nov 24 13:32:59 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 10:22:44 2009 +1000"
      },
      "message": "drm/radeon/kms: add support for DP modesetting\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1a66c95a64c9ae0bc8382254f544b24b23f498ec",
      "tree": "50b4d21e72881cd221660118bdfc02c2036a8075",
      "parents": [
        "746c1aa4d100f7441423050f34be79f401fbf7d4"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexdeucher@gmail.com",
        "time": "Fri Nov 20 19:40:13 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 10:22:40 2009 +1000"
      },
      "message": "drm/radeon/kms: DP fixes and cleanup from the ddx\n\n- dpcp -\u003e dpcd\n- fix up dig encoder routing\n- aux transaction table takes delay in 10 usec units\n\nSigned-off-by: Alex Deucher \u003calexdeucher@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "746c1aa4d100f7441423050f34be79f401fbf7d4",
      "tree": "23e021bb2e9250fd03e88875b1715039f1d3da8a",
      "parents": [
        "d904ef9b00a4473af16766e99f17bdbb5f0fde65"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 07:07:28 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 10:22:31 2009 +1000"
      },
      "message": "drm/radeon/kms: initial radeon displayport porting\n\nThis is enough to retrieve EDID and DPCP.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ab2c0672984f7f7ebec6d5f615fd5a6ebad26f3d",
      "tree": "94635d39a15ce9b64db94afe5f45dea71bb2fba0",
      "parents": [
        "85bb0c377f259100d049937e30c85f7a8dea0fa0"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 10:55:24 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 09:24:23 2009 +1000"
      },
      "message": "drm/intel: refactor DP i2c support and DP common header to drm helper\n\nBoth radeon and nouveau can re-use this code so move it up a level\nso they can. However the hw interfaces for aux ch are different\nenough that the code to translate from mode, address, bytes\nto actual hw interfaces isn\u0027t generic, so move that code into the\nIntel driver.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "f84676185368e36c6bc0eeab87ab73ed39042648",
      "tree": "7d97885644c7b6a09c244de11af94409da665e62",
      "parents": [
        "22dd50133ab7548adb23e86c302d6e8b75817e8c",
        "447aeb907e417e0e837b4a4026d5081c88b6e8ca"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 07:03:55 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Dec 08 07:03:55 2009 +1000"
      },
      "message": "Merge remote branch \u0027origin/drm-core-next\u0027 into test\n\nConflicts:\n\tdrivers/gpu/drm/drm_fb_helper.c\n"
    },
    {
      "commit": "4bfd75cb08a362cb1df35dc6a5032d12843c6d87",
      "tree": "1363edb589855b593d916411bf3d2f2b5e6cfcf1",
      "parents": [
        "c078aa2fc4d8e022c3b611e07b25ff77afdf9b73"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:27 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:07 2009 +1000"
      },
      "message": "drm/ttm: Export symbols needed for the vmwgfx driver.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c078aa2fc4d8e022c3b611e07b25ff77afdf9b73",
      "tree": "60349ecc7344001b3824529be376b4677012583d",
      "parents": [
        "4aff1013f5e4ae08a24155c029a2c5e1a7929de6"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:26 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:05 2009 +1000"
      },
      "message": "drm/ttm: Add TTM execbuf utilities.\n\nUtilities to reserve, unreserve and fence a list of TTM\nbuffer objects in a deadlock-safe manner.\n\nUsed by the vmwgfx driver.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4aff1013f5e4ae08a24155c029a2c5e1a7929de6",
      "tree": "1317322a9e6e4c6094cfa32090c05c20db252ec0",
      "parents": [
        "88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:25 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:03 2009 +1000"
      },
      "message": "drm/ttm: Add ttm lock functionality.\n\nThis is intended to be used by ttm-aware drivers to\n1) Block clients to inactive masters when\nthey try to validate buffers for GPU use.\n2) Optionally block clients to the current master when\nthere is thrashing due to GPU memory shortage.\n\nUsed by the vmwgfx driver.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "88071539a3f5195f9e9dae38a3e35b3ce4b9f9fc",
      "tree": "a0be303c46b4cfa28b8357cf27ab6fae666fe470",
      "parents": [
        "01d01ba947670cf58f22119fc126fdf39078f6ba"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Sun Dec 06 21:46:24 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Dec 07 15:22:01 2009 +1000"
      },
      "message": "drm/ttm: Add user-space objects.\n\nAdd objects needed for user-space to maintain reference counts on ttm objects.\nThis is used by the vmwgfx driver which allows user-space to maintain\nmap-counts on dma buffers, lock-counts on the ttm lock and ref-counts on\ngpu surfaces, gpu contexts and dma buffer.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "884840aa3ce3214259e69557be5b4ce0d781ffa4",
      "tree": "98dfd51c879df19428f3f6795fd32a8f2136ccb3",
      "parents": [
        "c3a73ba13bac7fd96030f39202b2d37fb19c46a6"
      ],
      "author": {
        "name": "Jakob Bornecrantz",
        "email": "jakob@vmware.com",
        "time": "Thu Dec 03 23:25:47 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 09:25:47 2009 +1000"
      },
      "message": "drm: Add dirty ioctl and property\n\nThis commit adds a ioctl and property to allow userspace\nto notify the kernel that a framebuffer has changed. Instead\nof snooping the command stream this allows finer grained\ntracking of which areas have changed.\n\nThe primary user for this functionality is virtual hardware\nlike the vmware svga device, but also Xen hardware likes to\nbe notify. There is also real hardware like DisplayLink and\nDisplayPort that might take advantage of this ioctl.\n\nSigned-off-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c3a73ba13bac7fd96030f39202b2d37fb19c46a6",
      "tree": "e91c424da8f71a5e5923ff4175c3b15cf4543b65",
      "parents": [
        "46a79fa08a9a890a12cf9ec3ce51800911a907bf"
      ],
      "author": {
        "name": "Martin Michlmayr",
        "email": "tbm@cyrius.com",
        "time": "Thu Nov 19 16:29:45 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 09:11:16 2009 +1000"
      },
      "message": "drm/ttm: Fix build failure due to missing struct page\n\ndrm/ttm fails to build on MIPS because \"struct page\" is not known:\n| In file included from drivers/gpu/drm/ttm/ttm_memory.c:28:\n| include/drm/ttm/ttm_memory.h:154: warning: \u0027struct page\u0027 declared inside parameter list\n| include/drm/ttm/ttm_memory.h:154: warning: its scope is only this definition or declaration, which is probably not what you want\n| include/drm/ttm/ttm_memory.h:156: warning: \u0027struct page\u0027 declared inside parameter list\n| drivers/gpu/drm/ttm/ttm_memory.c:540: error: conflicting types for \u0027ttm_mem_global_alloc_page\u0027\n| include/drm/ttm/ttm_memory.h:154: error: previous declaration of \u0027ttm_mem_global_alloc_page\u0027 was here\n| drivers/gpu/drm/ttm/ttm_memory.c:561: error: conflicting types for \u0027ttm_mem_global_free_page\u0027\n| include/drm/ttm/ttm_memory.h:156: error: previous declaration of \u0027ttm_mem_global_free_page\u0027 was here\n\nSigned-off-by: Martin Michlmayr \u003ctbm@cyrius.com\u003e\nCc: stable@kernel.org\nAcked-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "1a95916f5465ad6c91398f17924949db7e0b5c36",
      "tree": "e9293ebb277e8cb39dcd57d9c1c07c68a0c8d803",
      "parents": [
        "862302ffe422378a5213f558fc5cdf62c37050a9"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@bitplanet.net",
        "time": "Wed Dec 02 12:13:48 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 08:59:28 2009 +1000"
      },
      "message": "drm: Add compatibility #ifdefs for *BSD\n\nThis let\u0027s use use the linux drm headers as the canonical source for\nlibdrm on all platforms.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "862302ffe422378a5213f558fc5cdf62c37050a9",
      "tree": "13557874eb479023e5a64f12990416045ea60818",
      "parents": [
        "9340d8cfeacd16cef1cbe94527f7baaed7640669"
      ],
      "author": {
        "name": "Thomas Hellstrom",
        "email": "thellstrom@vmware.com",
        "time": "Wed Dec 02 18:15:25 2009 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 08:55:46 2009 +1000"
      },
      "message": "drm: Add support for drm master_[set|drop] callbacks.\n\nThe vmwgfx driver has a per master rw lock around TTM, to guarantee \nmutual exclusion when needed.\n\nThis is typically when all evictable buffers are evicted due to\n\n1) vt switch\n2) master switch\n3) suspend / resume.\n\nIn the multi-master case, on master switch the new master takes the \npreviously active master lock in write mode, and then evicts all \nbuffers. Any clients to previous masters will then block on that lock \nwhen trying to validate a buffer. fbdev also acts as a virtual master\nwrt this.\n\nSigned-off-by: Thomas Hellstrom \u003cthellstrom@vmware.com\u003e\nSigned-off-by: Jakob Bornecrantz \u003cjakob@vmware.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "9340d8cfeacd16cef1cbe94527f7baaed7640669",
      "tree": "08739867be1f39978793dcdc34b606db81775975",
      "parents": [
        "2dbdc52c8162291aa7541b8ba6e1c1587f50c1dd"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Thu Dec 03 17:44:40 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 08:53:47 2009 +1000"
      },
      "message": "drm/edid: Decode 3-byte CVT codes from EDID 1.4\n\nSigned-off-by: Adam Jackson \u003cajax@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "2dbdc52c8162291aa7541b8ba6e1c1587f50c1dd",
      "tree": "351c305f932012ec5176ed6c2bd3f69b9bd851d1",
      "parents": [
        "07a5e6324abacad56a8e7bcb44dd404e84f75f57"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Thu Dec 03 17:44:39 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 08:53:40 2009 +1000"
      },
      "message": "drm/edid: Add new detailed block types from EDID 1.4\n\nSigned-off-by: Adam Jackson \u003cajax@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "7ac96a9cb4982140e206bf3b58236efb2498ab3f",
      "tree": "63d6a6387f18ed022f4f6bf4dd6b918312bbf977",
      "parents": [
        "9cf00977da092096c7a983276dad8b3002d23a99"
      ],
      "author": {
        "name": "Adam Jackson",
        "email": "ajax@redhat.com",
        "time": "Thu Dec 03 17:44:37 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Fri Dec 04 08:53:22 2009 +1000"
      },
      "message": "drm/modes: Add drm_mode_hsync()\n\nSigned-off-by: Adam Jackson \u003cajax@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "56f3f55cf9b604b924353ab6fcdac5fee5637ae3",
      "tree": "b031bd5d9833a27cec1c551e487810cc2bcb33c8",
      "parents": [
        "049e2d13b8e8a6d8be43e675a5ed9d4613819f65",
        "7716977b6ae5a0cdd0afab5c6035c4d0ce53f599"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Dec 02 15:41:49 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: Correct WM831X_MAX_ISEL_VALUE\n"
    },
    {
      "commit": "04b2d218001bdddb41b84c9f78d6bb3cd3b5b31c",
      "tree": "d953f4cffd683966ecb0cc8c9e3b884a52b4d312",
      "parents": [
        "778c902640530371a169ad1c03566e7c51b09874"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@bitplanet.net",
        "time": "Fri Nov 06 08:39:18 2009 -0500"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Dec 01 10:29:47 2009 -0800"
      },
      "message": "drm/i915: Fix typo in ioctl struct name.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "778c902640530371a169ad1c03566e7c51b09874",
      "tree": "4230fb7e4f79e00931c1efcf2b88cfec285ae7ff",
      "parents": [
        "27dfaf4f5825a119305db1bc63bef30ed400e376"
      ],
      "author": {
        "name": "Li Peng",
        "email": "peng.li@linux.intel.com",
        "time": "Mon Nov 09 12:51:22 2009 +0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Dec 01 10:27:40 2009 -0800"
      },
      "message": "drm/i915: Fix sync to vblank when VGA output is turned off\n\nIn current vblank-wait implementation, if we turn off VGA output,\ndrm_wait_vblank will still wait on the disabled pipe until timeout,\nbecause vblank on the pipe is assumed be enabled. This would cause\nslow system response on some system such as moblin.\n\nThis patch resolve the issue by adding a drm helper function\ndrm_vblank_off which explicitly clear vblank_enabled[crtc], wake up\nany waiting queue and save last vblank counter before turning off\ncrtc. It also slightly change drm_vblank_get to ensure that we will\nwill return immediately if trying to wait on a disabled pipe.\n\nSigned-off-by: Li Peng \u003cpeng.li@intel.com\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n[anholt: hand-applied for conflicts with overlay changes]\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "e9560f7cb20722e0e7db46bbb6f43c2194a238d5",
      "tree": "876a1e87246fd7a966cfc9a059efcd572e9b7359",
      "parents": [
        "7bd4d7be5c8c35a401b1589201e5d43a64d3f05b"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Nov 19 10:49:07 2009 -0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Dec 01 09:19:07 2009 -0800"
      },
      "message": "drm/i915: add GETPARAM request for page flipping\n\nAdd a GETPARAM request for checking if page flipping is supported.\nUseful for the 2D driver to enable the flipping path.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "7bd4d7be5c8c35a401b1589201e5d43a64d3f05b",
      "tree": "52b997780ce81907238d700f8cd1424013267275",
      "parents": [
        "6b95a207c1fd552e7d017837c5eaf1b0173a48c9"
      ],
      "author": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Nov 19 10:50:22 2009 -0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Dec 01 09:11:53 2009 -0800"
      },
      "message": "drm: use page flip event to signal flip completion\n\nWe don\u0027t actually know which frame number the flip will complete on, so\nuserspace needs a specific flip notification to tell it when the last flip\ncompleted.\n\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\nAcked-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\n"
    },
    {
      "commit": "f40d6817a5c2bf84f5fe7b5d1a83f1e8f8669951",
      "tree": "1c515a34a60f65cbfd3cf1a387427d0a9fdf878f",
      "parents": [
        "103a196f4224dc6872081305cf7f82ebf67aa7bd",
        "46557bef3f3834ac33031c7be27d39d90d507442"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Dec 01 09:01:54 2009 -0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Tue Dec 01 09:01:54 2009 -0800"
      },
      "message": "Merge remote branch \u0027airlied/drm-next\u0027 into drm-intel-next\n"
    },
    {
      "commit": "f13a48bd798a159291ca583b95453171b88b7448",
      "tree": "a644293386e30ed5ab297e5943e57658e1d11e6a",
      "parents": [
        "df87f8c06c7f562ef9d93b9d674eebf2ffb96f6a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Dec 01 15:36:11 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 01 08:20:31 2009 -0800"
      },
      "message": "SLOW_WORK: Move slow_work\u0027s proc file to debugfs\n\nMove slow_work\u0027s debugging proc file to debugfs.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nRequested-and-acked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7716977b6ae5a0cdd0afab5c6035c4d0ce53f599",
      "tree": "9534843e6f393dba12bb843e1d846dc19d5349b1",
      "parents": [
        "29e553631b2a0d4eebd23db630572e1027a9967a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 30 13:24:18 2009 +0000"
      },
      "committer": {
        "name": "Samuel Ortiz",
        "email": "sameo@linux.intel.com",
        "time": "Tue Dec 01 11:24:19 2009 +0100"
      },
      "message": "mfd: Correct WM831X_MAX_ISEL_VALUE\n\nThere was confusion between the array size and the highest ISEL\nvalue possible.\n\nReported-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Samuel Ortiz \u003csameo@linux.intel.com\u003e\n"
    },
    {
      "commit": "29e553631b2a0d4eebd23db630572e1027a9967a",
      "tree": "a891e02cc245ac9c14dc47528120e262d0298698",
      "parents": [
        "ed9fd93e9a0c327e5d02313ba6e233c8e76da118",
        "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 16:47:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 16:47:16 2009 -0800"
      },
      "message": "Merge branch \u0027security\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6\n\n* \u0027security\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6:\n  mac80211: fix spurious delBA handling\n  mac80211: fix two remote exploits\n"
    },
    {
      "commit": "ed9fd93e9a0c327e5d02313ba6e233c8e76da118",
      "tree": "77b3ac9a1243e29bad14e5d3cb80f1ffe8d60bb6",
      "parents": [
        "52c7b3f45dbf19359be60a95b8678656e73ce42b",
        "4e46bf89972b9d98a9f282a9fed2359756a5e34e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 15:21:50 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 15:21:50 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] fix crash when disconnecting usb storage\n  [SCSI] fix async scan add/remove race resulting in an oops\n  [SCSI] sd: Return correct error code for DIF\n"
    },
    {
      "commit": "cd79bf7b1c061752dbee723bccf60c85d6c2d45d",
      "tree": "bc892e172aa64aa80b087767dfce767559ae4795",
      "parents": [
        "d0964c37b539c2b76752b1ff8b0a618c5f82f077",
        "0cae200eec6330cd2c20b24279597be1da50dc93"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 14:01:36 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 14:01:36 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  b44: Fix wedge when using netconsole.\n  wan: cosa: drop chan-\u003ewsem on error path\n  ep93xx-eth: check for zero MAC address on probe, not on device open\n  NET: smc91x: Fix irq flags\n  smsc9420: prevent BUG() if ethtool is called with interface down\n  r8169: restore mac addr in rtl8169_remove_one and rtl_shutdown\n  ipv4: additional update of dev_net(dev) to struct *net in ip_fragment.c, NULL ptr OOPS\n  e100: Use pci pool to work around GFP_ATOMIC order 5 memory allocation failure\n  sctp: on T3_RTX retransmit all the in-flight chunks\n  pktgen: Fix netdevice unregister\n  macvlan: fix gso_max_size setting\n  rfkill: fix miscdev ops\n  ath9k: set ps_default as false\n  hso: fix soft-lockup\n  hso: fix debug routines\n  pktgen: Fix device name compares\n  stmmac: do not fail when the timer cannot be used.\n  stmmac: fixed a compilation error when use the external timer\n  netfilter: xt_limit: fix invalid return code in limit_mt_check()\n  Au1x00: fix crash when trying register_netdev()\n  ...\n"
    },
    {
      "commit": "6e80133f7f247f313da1638af4ce30f2bac303cc",
      "tree": "318afcc1c1c434135849cef50e3d89be505ad011",
      "parents": [
        "e3a41d7b99e7f97d9a50bec2a8f4eb237ce1d504",
        "4fa9f4ede88b4e2ff135b6e5717499d734508c62"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 30 13:33:48 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-fscache: (31 commits)\n  FS-Cache: Provide nop fscache_stat_d() if CONFIG_FSCACHE_STATS\u003dn\n  SLOW_WORK: Fix GFS2 to #include \u003clinux/module.h\u003e before using THIS_MODULE\n  SLOW_WORK: Fix CIFS to pass THIS_MODULE to slow_work_register_user()\n  CacheFiles: Don\u0027t log lookup/create failing with ENOBUFS\n  CacheFiles: Catch an overly long wait for an old active object\n  CacheFiles: Better showing of debugging information in active object problems\n  CacheFiles: Mark parent directory locks as I_MUTEX_PARENT to keep lockdep happy\n  CacheFiles: Handle truncate unlocking the page we\u0027re reading\n  CacheFiles: Don\u0027t write a full page if there\u0027s only a partial page to cache\n  FS-Cache: Actually requeue an object when requested\n  FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n  FS-Cache: Make sure FSCACHE_COOKIE_LOOKING_UP cleared on lookup failure\n  FS-Cache: Add a retirement stat counter\n  FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n  FS-Cache: Handle read request vs lookup, creation or other cache failure\n  FS-Cache: Don\u0027t delete pending pages from the page-store tracking tree\n  FS-Cache: Fix lock misorder in fscache_write_op()\n  FS-Cache: The object-available state can\u0027t rely on the cookie to be available\n  FS-Cache: Permit cache retrieval ops to be interrupted in the initial wait phase\n  FS-Cache: Use radix tree preload correctly in tracking of pages to be stored\n  ...\n"
    },
    {
      "commit": "827d42c9ac91ddd728e4f4a31fefb906ef2ceff7",
      "tree": "e29371d79d63d0a3ec2cb6d010b71147853fc771",
      "parents": [
        "4253119acf412fd686ef4bd8749b5a4d70ea3a51"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Sun Nov 22 12:28:41 2009 +0100"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Mon Nov 30 13:55:51 2009 -0500"
      },
      "message": "mac80211: fix spurious delBA handling\n\nLennert Buytenhek noticed that delBA handling in mac80211\nwas broken and has remotely triggerable problems, some of\nwhich are due to some code shuffling I did that ended up\nchanging the order in which things were done -- this was\n\n  commit d75636ef9c1af224f1097941879d5a8db7cd04e5\n  Author: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\n  Date:   Tue Feb 10 21:25:53 2009 +0100\n\n    mac80211: RX aggregation: clean up stop session\n\nand other parts were already present in the original\n\n  commit d92684e66091c0f0101819619b315b4bb8b5bcc5\n  Author: Ron Rindjunsky \u003cron.rindjunsky@intel.com\u003e\n  Date:   Mon Jan 28 14:07:22 2008 +0200\n\n      mac80211: A-MPDU Tx add delBA from recipient support\n\nThe first problem is that I moved a BUG_ON before various\nchecks -- thereby making it possible to hit. As the comment\nindicates, the BUG_ON can be removed since the ampdu_action\ncallback must already exist when the state is !\u003d IDLE.\n\nThe second problem isn\u0027t easily exploitable but there\u0027s a\nrace condition due to unconditionally setting the state to\nOPERATIONAL when a delBA frame is received, even when no\naggregation session was ever initiated. All the drivers\naccept stopping the session even then, but that opens a\nrace window where crashes could happen before the driver\naccepts it. Right now, a WARN_ON may happen with non-HT\ndrivers, while the race opens only for HT drivers.\n\nFor this case, there are two things necessary to fix it:\n 1) don\u0027t process spurious delBA frames, and be more careful\n    about the session state; don\u0027t drop the lock\n\n 2) HT drivers need to be prepared to handle a session stop\n    even before the session was really started -- this is\n    true for all drivers (that support aggregation) but\n    iwlwifi which can be fixed easily. The other HT drivers\n    (ath9k and ar9170) are behaving properly already.\n\nReported-by: Lennert Buytenhek \u003cbuytenh@marvell.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: John W. Linville \u003clinville@tuxdriver.com\u003e\n"
    },
    {
      "commit": "5fdd4baef6195a1f2960e901c8877e2105f832ca",
      "tree": "198a3f2df2bea3c5239c95957e21f3680908ddf6",
      "parents": [
        "3e9848403ad59c53b31facb30b43ca80135ae0b9"
      ],
      "author": {
        "name": "Andrei Pelinescu-Onciul",
        "email": "andrei@iptel.org",
        "time": "Sun Nov 29 00:14:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 29 00:14:02 2009 -0800"
      },
      "message": "sctp: on T3_RTX retransmit all the in-flight chunks\n\nWhen retransmitting due to T3 timeout, retransmit all the\nin-flight chunks for the corresponding  transport/path, including\nchunks sent less then 1 rto ago.\nThis is the correct behaviour according to rfc4960 section 6.3.3\nE3 and\n\"Note: Any DATA chunks that were sent to the address for which the\n T3-rtx timer expired but did not fit in one MTU (rule E3 above)\n should be marked for retransmission and sent as soon as cwnd\n allows (normally, when a SACK arrives). \".\n\nThis fixes problems when more then one path is present and the T3\nretransmission of the first chunk that timeouts stops the T3 timer\nfor the initial active path, leaving all the other in-flight\nchunks waiting forever or until a new chunk is transmitted on the\nsame path and timeouts (and this will happen only if the cwnd\nallows sending new chunks, but since cwnd was dropped to MTU by\nthe timeout \u003d\u003e it will wait until the first heartbeat).\n\nExample: 10 packets in flight, sent at 0.1 s intervals on the\nprimary path. The primary path is down and the first packet\ntimeouts. The first packet is retransmitted on another path, the\nT3 timer for the primary path is stopped and cwnd is set to MTU.\nAll the other 9 in-flight packets will not be retransmitted\n(unless more new packets are sent on the primary path which depend\non cwnd allowing it, and even in this case the 9 packets will be\nretransmitted only after a new packet timeouts which even in the\nbest case would be more then RTO).\n\nThis commit reverts d0ce92910bc04e107b2f3f2048f07e94f570035d and\nalso removes the now unused transport-\u003elast_rto, introduced in\n b6157d8e03e1e780660a328f7183bcbfa4a93a19.\n\np.s  The problem is not only when multiple paths are there.  It\ncan happen in a single homed environment.  If the application\nstops sending data, it possible to have a hung association.\n\nSigned-off-by: Andrei Pelinescu-Onciul \u003candrei@iptel.org\u003e\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "860dc73608a091e0b325218acc2701709d5f221a",
      "tree": "2527b226e1991c459ac02de4a6ba5c98a4639add",
      "parents": [
        "3bf3583b6a49c318f7ed350862d7a217b500e71c"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Nov 19 17:48:29 2009 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Nov 26 09:43:39 2009 -0600"
      },
      "message": "[SCSI] fix async scan add/remove race resulting in an oops\n\nAsync scanning introduced a very wide window where the SCSI device is\nup and running but has not yet been added to sysfs.  We delay the\nadding until all scans have completed to retain the same ordering as\nsync scanning.\n\nThis delay in visibility causes an oops if a device is removed before\nwe make it visible because the SCSI removal routines have an inbuilt\nassumption that if a device is in SDEV_RUNNING state, it must be\nvisible (which is not necessarily true in the async scanning case).\n\nFix this by introducing an additional is_visible flag which we can use\nto condition the tear down so we do the right thing for running but\nnot yet made visible.\n\nReported-by: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c8e0f93a381d1d76135e567f13a4418fce66fd95",
      "tree": "efa286f2e381d60b514c897cd148e5a824cce667",
      "parents": [
        "5b8f0be0dce012d190a53d55240fe3fde6306476"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Sun Nov 22 03:49:37 2009 +0100"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Wed Nov 25 06:36:21 2009 -0800"
      },
      "message": "drm/i915: Replace a calloc followed by copying data over it with malloc.\n\nExecbufs involve quite a bit of payload, to the extent that cache misses\nshow up in the profiles here, and a suspicion that some of those cachelines\nmay get evicted and then reloaded in the subsequent copy.\n\nThis is still abstracted like drm_calloc_large since we want to check for\nsize overflow, and because we want to choose between kmalloc and vmalloc\non the fly.  cairo\u0027s interface for malloc-with-calloc\u0027s-args was used as\nthe model.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "4ced24c8973f79113444d1e00ee8bd9e74fbf43e",
      "tree": "aeab7b72d009b15f918b0dfeb17bfc5a1603b071",
      "parents": [
        "b2f125bcf5eac41a6d74f75ac573b77753213b74"
      ],
      "author": {
        "name": "Kevin Wells",
        "email": "kevin.wells@nxp.com",
        "time": "Thu Nov 12 00:23:00 2009 +0100"
      },
      "committer": {
        "name": "Ben Dooks",
        "email": "ben-linux@fluff.org",
        "time": "Fri Nov 20 00:25:42 2009 +0000"
      },
      "message": "i2c: i2c-pnx: Made buf type unsigned to prevent sign extension\n\nMade buf type unsigned to prevent sign extension\n\nSigned-off-by: Kevin Wells \u003ckevin.wells@nxp.com\u003e\nSigned-off-by: Ben Dooks \u003cben-linux@fluff.org\u003e\n"
    },
    {
      "commit": "308efab5e231d1510cd35931d87629bf5171caae",
      "tree": "f477e28706603dac927e352f2b0c23034f981808",
      "parents": [
        "5854d9c8d18359b1fc2f23c0ef2d51dd53281bd6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Nov 19 13:30:36 2009 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 19 13:43:06 2009 -0800"
      },
      "message": "vt: Fix use of \"new\" in a struct field\n\nAs this struct is exposed to user space and the API was added for this\nrelease it\u0027s a bit of a pain for the C++ world and we still have time to\nfix it. Rename the fields before we end up with that pain in an actual\nrelease.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nReported-by: Olivier Goffart\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fee096deb4f33897937b974cb2c5168bab7935be",
      "tree": "c86e5ed5b3435ff0f0266f343b19f8cc7be63340",
      "parents": [
        "d0e27b7808dc667f3015be0b6888f6d680e222c8"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:12:05 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:12:05 2009 +0000"
      },
      "message": "CacheFiles: Catch an overly long wait for an old active object\n\nCatch an overly long wait for an old, dying active object when we want to\nreplace it with a new one.  The probability is that all the slow-work threads\nare hogged, and the delete can\u0027t get a look in.\n\nWhat we do instead is:\n\n (1) if there\u0027s nothing in the slow work queue, we sleep until either the dying\n     object has finished dying or there is something in the slow work queue\n     behind which we can queue our object.\n\n (2) if there is something in the slow work queue, we return ETIMEDOUT to\n     fscache_lookup_object(), which then puts us back on the slow work queue,\n     presumably behind the deletion that we\u0027re blocked by.  We are then\n     deferred for a while until we work our way back through the queue -\n     without blocking a slow-work thread unnecessarily.\n\nA backtrace similar to the following may appear in the log without this patch:\n\n\tINFO: task kslowd004:5711 blocked for more than 120 seconds.\n\t\"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n\tkslowd004     D 0000000000000000     0  5711      2 0x00000080\n\t ffff88000340bb80 0000000000000046 ffff88002550d000 0000000000000000\n\t ffff88002550d000 0000000000000007 ffff88000340bfd8 ffff88002550d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff88002550d2a8\n\tCall Trace:\n\t [\u003cffffffff81058e21\u003e] ? trace_hardirqs_on+0xd/0xf\n\t [\u003cffffffffa011c4d8\u003e] ? cachefiles_wait_bit+0x0/0xd [cachefiles]\n\t [\u003cffffffffa011c4e1\u003e] cachefiles_wait_bit+0x9/0xd [cachefiles]\n\t [\u003cffffffff81353153\u003e] __wait_on_bit+0x43/0x76\n\t [\u003cffffffff8111ae39\u003e] ? ext3_xattr_get+0x1ec/0x270\n\t [\u003cffffffff813531ef\u003e] out_of_line_wait_on_bit+0x69/0x74\n\t [\u003cffffffffa011c4d8\u003e] ? cachefiles_wait_bit+0x0/0xd [cachefiles]\n\t [\u003cffffffff8104c125\u003e] ? wake_bit_function+0x0/0x2e\n\t [\u003cffffffffa011bc79\u003e] cachefiles_mark_object_active+0x203/0x23b [cachefiles]\n\t [\u003cffffffffa011c209\u003e] cachefiles_walk_to_object+0x558/0x827 [cachefiles]\n\t [\u003cffffffffa011a429\u003e] cachefiles_lookup_object+0xac/0x12a [cachefiles]\n\t [\u003cffffffffa00aa1e9\u003e] fscache_lookup_object+0x1c7/0x214 [fscache]\n\t [\u003cffffffffa00aafc5\u003e] fscache_object_state_machine+0xa5/0x52d [fscache]\n\t [\u003cffffffffa00ab4ac\u003e] fscache_object_slow_work_execute+0x5f/0xa0 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\t1 lock held by kslowd004/5711:\n\t #0:  (\u0026sb-\u003es_type-\u003ei_mutex_key#7/1){+.+.+.}, at: [\u003cffffffffa011be64\u003e] cachefiles_walk_to_object+0x1b3/0x827 [cachefiles]\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "a17754fb8c28af19cd70dcbec6d5b0773b94e0c1",
      "tree": "d7c25b217c684153eadbac78ab9b1bbff08b75f6",
      "parents": [
        "868411be3f445a83fafbd734f3e426400138add5"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:52 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:52 2009 +0000"
      },
      "message": "CacheFiles: Don\u0027t write a full page if there\u0027s only a partial page to cache\n\ncachefiles_write_page() writes a full page to the backing file for the last\npage of the netfs file, even if the netfs file\u0027s last page is only a partial\npage.\n\nThis causes the EOF on the backing file to be extended beyond the EOF of the\nnetfs, and thus the backing file will be truncated by cachefiles_attr_changed()\ncalled from cachefiles_lookup_object().\n\nSo we need to limit the write we make to the backing file on that last page\nsuch that it doesn\u0027t push the EOF too far.\n\nAlso, if a backing file that has a partial page at the end is expanded, we\ndiscard the partial page and refetch it on the basis that we then have a hole\nin the file with invalid data, and should the power go out...  A better way to\ndeal with this could be to record a note that the partial page contains invalid\ndata until the correct data is written into it.\n\nThis isn\u0027t a problem for netfs\u0027s that discard the whole backing file if the\nfile size changes (such as NFS).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "60d543ca724be155c2b6166e36a00c80b21bd810",
      "tree": "90ec6edd77ddb7666dbf7069aa2e001f155cea49",
      "parents": [
        "d461d26dde901b0523c46b0317e7fccf574a3933"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:45 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:45 2009 +0000"
      },
      "message": "FS-Cache: Start processing an object\u0027s operations on that object\u0027s death\n\nStart processing an object\u0027s operations when that object moves into the DYING\nstate as the object cannot be destroyed until all its outstanding operations\nhave completed.\n\nFurthermore, make sure that read and allocation operations handle being woken\nup on a dead object.  Such events are recorded in the Allocs.abt and\nRetrvls.abt statistics as viewable through /proc/fs/fscache/stats.\n\nThe code for waiting for object activation for the read and allocation\noperations is also extracted into its own function as it is much the same in\nall cases, differing only in the stats incremented.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "201a15428bd54f83eccec8b7c64a04b8f9431204",
      "tree": "326fcce64ce96657253fd141a3f4a767ac95418a",
      "parents": [
        "e3d4d28b1c8cc7c26536a50b43d86ccd39878550"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:35 2009 +0000"
      },
      "message": "FS-Cache: Handle pages pending storage that get evicted under OOM conditions\n\nHandle netfs pages that the vmscan algorithm wants to evict from the pagecache\nunder OOM conditions, but that are waiting for write to the cache.  Under these\nconditions, vmscan calls the releasepage() function of the netfs, asking if a\npage can be discarded.\n\nThe problem is typified by the following trace of a stuck process:\n\n\tkslowd005     D 0000000000000000     0  4253      2 0x00000080\n\t ffff88001b14f370 0000000000000046 ffff880020d0d000 0000000000000007\n\t 0000000000000006 0000000000000001 ffff88001b14ffd8 ffff880020d0d2a8\n\t 000000000000ddf0 00000000000118c0 00000000000118c0 ffff880020d0d2a8\n\tCall Trace:\n\t [\u003cffffffffa00782d8\u003e] __fscache_wait_on_page_write+0x8b/0xa7 [fscache]\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffffa0078240\u003e] ? __fscache_check_page_write+0x63/0x70 [fscache]\n\t [\u003cffffffffa00b671d\u003e] nfs_fscache_release_page+0x4e/0xc4 [nfs]\n\t [\u003cffffffffa00927f0\u003e] nfs_release_page+0x3c/0x41 [nfs]\n\t [\u003cffffffff810885d3\u003e] try_to_release_page+0x32/0x3b\n\t [\u003cffffffff81093203\u003e] shrink_page_list+0x316/0x4ac\n\t [\u003cffffffff8109372b\u003e] shrink_inactive_list+0x392/0x67c\n\t [\u003cffffffff813532fa\u003e] ? __mutex_unlock_slowpath+0x100/0x10b\n\t [\u003cffffffff81058df0\u003e] ? trace_hardirqs_on_caller+0x10c/0x130\n\t [\u003cffffffff8135330e\u003e] ? mutex_unlock+0x9/0xb\n\t [\u003cffffffff81093aa2\u003e] shrink_list+0x8d/0x8f\n\t [\u003cffffffff81093d1c\u003e] shrink_zone+0x278/0x33c\n\t [\u003cffffffff81052d6c\u003e] ? ktime_get_ts+0xad/0xba\n\t [\u003cffffffff81094b13\u003e] try_to_free_pages+0x22e/0x392\n\t [\u003cffffffff81091e24\u003e] ? isolate_pages_global+0x0/0x212\n\t [\u003cffffffff8108e743\u003e] __alloc_pages_nodemask+0x3dc/0x5cf\n\t [\u003cffffffff81089529\u003e] grab_cache_page_write_begin+0x65/0xaa\n\t [\u003cffffffff8110f8c0\u003e] ext3_write_begin+0x78/0x1eb\n\t [\u003cffffffff81089ec5\u003e] generic_file_buffered_write+0x109/0x28c\n\t [\u003cffffffff8103cb69\u003e] ? current_fs_time+0x22/0x29\n\t [\u003cffffffff8108a509\u003e] __generic_file_aio_write+0x350/0x385\n\t [\u003cffffffff8108a588\u003e] ? generic_file_aio_write+0x4a/0xae\n\t [\u003cffffffff8108a59e\u003e] generic_file_aio_write+0x60/0xae\n\t [\u003cffffffff810b2e82\u003e] do_sync_write+0xe3/0x120\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810b18e1\u003e] ? __dentry_open+0x1a5/0x2b8\n\t [\u003cffffffff810b1a76\u003e] ? dentry_open+0x82/0x89\n\t [\u003cffffffffa00e693c\u003e] cachefiles_write_page+0x298/0x335 [cachefiles]\n\t [\u003cffffffffa0077147\u003e] fscache_write_op+0x178/0x2c2 [fscache]\n\t [\u003cffffffffa0075656\u003e] fscache_op_execute+0x7a/0xd1 [fscache]\n\t [\u003cffffffff81082093\u003e] slow_work_execute+0x18f/0x2d1\n\t [\u003cffffffff8108239a\u003e] slow_work_thread+0x1c5/0x308\n\t [\u003cffffffff8104c0f1\u003e] ? autoremove_wake_function+0x0/0x34\n\t [\u003cffffffff810821d5\u003e] ? slow_work_thread+0x0/0x308\n\t [\u003cffffffff8104be91\u003e] kthread+0x7a/0x82\n\t [\u003cffffffff8100beda\u003e] child_rip+0xa/0x20\n\t [\u003cffffffff8100b87c\u003e] ? restore_args+0x0/0x30\n\t [\u003cffffffff8102ef83\u003e] ? tg_shares_up+0x171/0x227\n\t [\u003cffffffff8104be17\u003e] ? kthread+0x0/0x82\n\t [\u003cffffffff8100bed0\u003e] ? child_rip+0x0/0x20\n\nIn the above backtrace, the following is happening:\n\n (1) A page storage operation is being executed by a slow-work thread\n     (fscache_write_op()).\n\n (2) FS-Cache farms the operation out to the cache to perform\n     (cachefiles_write_page()).\n\n (3) CacheFiles is then calling Ext3 to perform the actual write, using Ext3\u0027s\n     standard write (do_sync_write()) under KERNEL_DS directly from the netfs\n     page.\n\n (4) However, for Ext3 to perform the write, it must allocate some memory, in\n     particular, it must allocate at least one page cache page into which it\n     can copy the data from the netfs page.\n\n (5) Under OOM conditions, the memory allocator can\u0027t immediately come up with\n     a page, so it uses vmscan to find something to discard\n     (try_to_free_pages()).\n\n (6) vmscan finds a clean netfs page it might be able to discard (possibly the\n     one it\u0027s trying to write out).\n\n (7) The netfs is called to throw the page away (nfs_release_page()) - but it\u0027s\n     called with __GFP_WAIT, so the netfs decides to wait for the store to\n     complete (__fscache_wait_on_page_write()).\n\n (8) This blocks a slow-work processing thread - possibly against itself.\n\nThe system ends up stuck because it can\u0027t write out any netfs pages to the\ncache without allocating more memory.\n\nTo avoid this, we make FS-Cache cancel some writes that aren\u0027t in the middle of\nactually being performed.  This means that some data won\u0027t make it into the\ncache this time.  To support this, a new FS-Cache function is added\nfscache_maybe_release_page() that replaces what the netfs releasepage()\nfunctions used to do with respect to the cache.\n\nThe decisions fscache_maybe_release_page() makes are counted and displayed\nthrough /proc/fs/fscache/stats on a line labelled \"VmScan\".  There are four\ncounters provided: \"nos\u003dN\" - pages that weren\u0027t pending storage; \"gon\u003dN\" -\npages that were pending storage when we first looked, but weren\u0027t by the time\nwe got the object lock; \"bsy\u003dN\" - pages that we ignored as they were actively\nbeing written when we looked; and \"can\u003dN\" - pages that we cancelled the storage\nof.\n\nWhat I\u0027d really like to do is alter the behaviour of the cancellation\nheuristics, depending on how necessary it is to expel pages.  If there are\nplenty of other pages that aren\u0027t waiting to be written to the cache that\ncould be ejected first, then it would be nice to hold up on immediate\ncancellation of cache writes - but I don\u0027t see a way of doing that.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "1bccf513ac49d44604ba1cddcc29f5886e70f1b6",
      "tree": "096ba75a3d02018c5f6e1857aaf1d41471733850",
      "parents": [
        "6897e3df8fc37bd4a58bbcdef8306da7fc175584"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:25 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:25 2009 +0000"
      },
      "message": "FS-Cache: Fix lock misorder in fscache_write_op()\n\nFS-Cache has two structs internally for keeping track of the internal state of\na cached file: the fscache_cookie struct, which represents the netfs\u0027s state,\nand fscache_object struct, which represents the cache\u0027s state.  Each has a\npointer that points to the other (when both are in existence), and each has a\nspinlock for pointer maintenance.\n\nSince netfs operations approach these structures from the cookie side, they get\nthe cookie lock first, then the object lock.  Cache operations, on the other\nhand, approach from the object side, and get the object lock first.  It is not\nthen permitted for a cache operation to get the cookie lock whilst it is\nholding the object lock lest deadlock occur; instead, it must do one of two\nthings:\n\n (1) increment the cookie usage counter, drop the object lock and then get both\n     locks in order, or\n\n (2) simply hold the object lock as certain parts of the cookie may not be\n     altered whilst the object lock is held.\n\nIt is also not permitted to follow either pointer without holding the lock at\nthe end you start with.  To break the pointers between the cookie and the\nobject, both locks must be held.\n\nfscache_write_op(), however, violates the locking rules: It attempts to get the\ncookie lock without (a) checking that the cookie pointer is a valid pointer,\nand (b) holding the object lock to protect the cookie pointer whilst it follows\nit.  This is so that it can access the pending page store tree without\ninterference from __fscache_write_page().\n\nThis is fixed by splitting the cookie lock, such that the page store tracking\ntree is protected by its own lock, and checking that the cookie pointer is\nnon-NULL before we attempt to follow it whilst holding the object lock.\n\nThe new lock is subordinate to both the cookie lock and the object lock, and so\nshould be taken after those.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "4fbf4291aa15926cd4fdca0ffe9122e89d0459db",
      "tree": "ec2195c39ef8117acea598af4a5c20c77f67aa0b",
      "parents": [
        "440f0affe247e9990c8f8778f1861da4fd7d5e50"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:04 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:04 2009 +0000"
      },
      "message": "FS-Cache: Allow the current state of all objects to be dumped\n\nAllow the current state of all fscache objects to be dumped by doing:\n\n\tcat /proc/fs/fscache/objects\n\nBy default, all objects and all fields will be shown.  This can be restricted\nby adding a suitable key to one of the caller\u0027s keyrings (such as the session\nkeyring):\n\n\tkeyctl add user fscache:objlist \"\u003crestrictions\u003e\" @s\n\nThe \u003crestrictions\u003e are:\n\n\tK\tShow hexdump of object key (don\u0027t show if not given)\n\tA\tShow hexdump of object aux data (don\u0027t show if not given)\n\nAnd paired restrictions:\n\n\tC\tShow objects that have a cookie\n\tc\tShow objects that don\u0027t have a cookie\n\tB\tShow objects that are busy\n\tb\tShow objects that aren\u0027t busy\n\tW\tShow objects that have pending writes\n\tw\tShow objects that don\u0027t have pending writes\n\tR\tShow objects that have outstanding reads\n\tr\tShow objects that don\u0027t have outstanding reads\n\tS\tShow objects that have slow work queued\n\ts\tShow objects that don\u0027t have slow work queued\n\nIf neither side of a restriction pair is given, then both are implied.  For\nexample:\n\n\tkeyctl add user fscache:objlist KB @s\n\nshows objects that are busy, and lists their object keys, but does not dump\ntheir auxiliary data.  It also implies \"CcWwRrSs\", but as \u0027B\u0027 is given, \u0027b\u0027 is\nnot implied.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "440f0affe247e9990c8f8778f1861da4fd7d5e50",
      "tree": "0012732ac8af0245005403d9a3b0a2b1209edf32",
      "parents": [
        "3bde31a4ac225cb5805be02eff6eaaf7e0766ccd"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:01 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:11:01 2009 +0000"
      },
      "message": "FS-Cache: Annotate slow-work runqueue proc lines for FS-Cache work items\n\nAnnotate slow-work runqueue proc lines for FS-Cache work items.  Objects\ninclude the object ID and the state.  Operations include the object ID, the\noperation ID and the operation type and state.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3bde31a4ac225cb5805be02eff6eaaf7e0766ccd",
      "tree": "9fb757ab7d46e0c37fb5e88d3185f1861fbc794e",
      "parents": [
        "31ba99d304494cb28fa8671ccc769c5543e1165d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:57 2009 +0000"
      },
      "message": "SLOW_WORK: Allow a requeueable work item to sleep till the thread is needed\n\nAdd a function to allow a requeueable work item to sleep till the thread\nprocessing it is needed by the slow-work facility to perform other work.\n\nSometimes a work item can\u0027t progress immediately, but must wait for the\ncompletion of another work item that\u0027s currently being processed by another\nslow-work thread.\n\nIn some circumstances, the waiting item could instead - theoretically - put\nitself back on the queue and yield its thread back to the slow-work facility,\nthus waiting till it gets processing time again before attempting to progress.\nThis would allow other work items processing time on that thread.\n\nHowever, this only works if there is something on the queue for it to queue\nbehind - otherwise it will just get a thread again immediately, and will end\nup cycling between the queue and the thread, eating up valuable CPU time.\n\nSo, slow_work_sleep_till_thread_needed() is provided such that an item can put\nitself on a wait queue that will wake it up when the event it is actually\ninterested in occurs, then call this function in lieu of calling schedule().\n\nThis function will then sleep until either the item\u0027s event occurs or another\nwork item appears on the queue.  If another work item is queued, but the\nitem\u0027s event hasn\u0027t occurred, then the work item should requeue itself and\nyield the thread back to the slow-work facility by returning.\n\nThis can be used by CacheFiles for an object that is being created on one\nthread to wait for an object being deleted on another thread where there is\nnothing on the queue for the creation to go and wait behind.  As soon as an\nitem appears on the queue that could be given thread time instead, CacheFiles\ncan stick the creating object back on the queue and return to the slow-work\nfacility - assuming the object deletion didn\u0027t also complete.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "31ba99d304494cb28fa8671ccc769c5543e1165d",
      "tree": "ea2d839fb70798cf6a3b55ccc87f749e14e14f1d",
      "parents": [
        "8fba10a42d191de612e60e7009c8f0313f90a9b3"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:53 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:53 2009 +0000"
      },
      "message": "SLOW_WORK: Allow the owner of a work item to determine if it is queued or not\n\nAdd a function (slow_work_is_queued()) to permit the owner of a work item to\ndetermine if the item is queued or not.\n\nThe work item is counted as being queued if it is actually on the queue, not\njust if it is pending.  If it is executing and pending, then it is not on the\nqueue, but will rather be put back on the queue when execution finishes.\n\nThis permits a caller to quickly work out if it may be able to put another,\ndependent work item on the queue behind it, or whether it will have to wait\ntill that is finished.\n\nThis can be used by CacheFiles to work out whether the creation a new object\ncan be immediately deferred when it has to wait for an old object to be\ndeleted, or whether a wait must take place.  If a wait is necessary, then the\nslow-work thread can otherwise get blocked, preventing the deletion from\ntaking place.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "8fba10a42d191de612e60e7009c8f0313f90a9b3",
      "tree": "1e772fcc7ad3eb5bb3ca1c6cd156171295e6db25",
      "parents": [
        "6b8268b17a1ffc942bc72d7d00274e433d6b6719"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:51 2009 +0000"
      },
      "message": "SLOW_WORK: Allow the work items to be viewed through a /proc file\n\nAllow the executing and queued work items to be viewed through a /proc file\nfor debugging purposes.  The contents look something like the following:\n\n    THR PID   ITEM ADDR        FL MARK  DESC\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\n      0  3005 ffff880023f52348  a 952ms FSC: OBJ17d3: LOOK\n      1  3006 ffff880024e33668  2 160ms FSC: OBJ17e5 OP60d3b: Write1/Store fl\u003d2\n      2  3165 ffff8800296dd180  a 424ms FSC: OBJ17e4: LOOK\n      3  4089 ffff8800262c8d78  a 212ms FSC: OBJ17ea: CRTN\n      4  4090 ffff88002792bed8  2 388ms FSC: OBJ17e8 OP60d36: Write1/Store fl\u003d2\n      5  4092 ffff88002a0ef308  2 388ms FSC: OBJ17e7 OP60d2e: Write1/Store fl\u003d2\n      6  4094 ffff88002abaf4b8  2 132ms FSC: OBJ17e2 OP60d4e: Write1/Store fl\u003d2\n      7  4095 ffff88002bb188e0  a 388ms FSC: OBJ17e9: CRTN\n    vsq     - ffff880023d99668  1 308ms FSC: OBJ17e0 OP60f91: Write1/EnQ fl\u003d2\n    vsq     - ffff8800295d1740  1 212ms FSC: OBJ16be OP4d4b6: Write1/EnQ fl\u003d2\n    vsq     - ffff880025ba3308  1 160ms FSC: OBJ179a OP58dec: Write1/EnQ fl\u003d2\n    vsq     - ffff880024ec83e0  1 160ms FSC: OBJ17ae OP599f2: Write1/EnQ fl\u003d2\n    vsq     - ffff880026618e00  1 160ms FSC: OBJ17e6 OP60d33: Write1/EnQ fl\u003d2\n    vsq     - ffff880025a2a4b8  1 132ms FSC: OBJ16a2 OP4d583: Write1/EnQ fl\u003d2\n    vsq     - ffff880023cbe6d8  9 212ms FSC: OBJ17eb: LOOK\n    vsq     - ffff880024d37590  9 212ms FSC: OBJ17ec: LOOK\n    vsq     - ffff880027746cb0  9 212ms FSC: OBJ17ed: LOOK\n    vsq     - ffff880024d37ae8  9 212ms FSC: OBJ17ee: LOOK\n    vsq     - ffff880024d37cb0  9 212ms FSC: OBJ17ef: LOOK\n    vsq     - ffff880025036550  9 212ms FSC: OBJ17f0: LOOK\n    vsq     - ffff8800250368e0  9 212ms FSC: OBJ17f1: LOOK\n    vsq     - ffff880025036aa8  9 212ms FSC: OBJ17f2: LOOK\n\nIn the \u0027THR\u0027 column, executing items show the thread they\u0027re occupying and\nqueued threads indicate which queue they\u0027re on.  \u0027PID\u0027 shows the process ID of\na slow-work thread that\u0027s executing something.  \u0027FL\u0027 shows the work item flags.\n\u0027MARK\u0027 indicates how long since an item was queued or began executing.  Lastly,\nthe \u0027DESC\u0027 column permits the owner of an item to give some information.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "6b8268b17a1ffc942bc72d7d00274e433d6b6719",
      "tree": "bd293facd4b805fc05588fcaf024e964a0bb1cca",
      "parents": [
        "0160950297c08f8233c89b9f9e7dd59cfb080809"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:47 2009 +0000"
      },
      "message": "SLOW_WORK: Add delayed_slow_work support\n\nThis adds support for starting slow work with a delay, similar\nto the functionality we have for workqueues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "0160950297c08f8233c89b9f9e7dd59cfb080809",
      "tree": "4910bfb7ab5b4000a1679fd165d217ff48226268",
      "parents": [
        "4d8bb2cbccf6dccaada509aafeb01c6205c9d8c4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:43 2009 +0000"
      },
      "message": "SLOW_WORK: Add support for cancellation of slow work\n\nAdd support for cancellation of queued slow work and delayed slow work items.\nThe cancellation functions will wait for items that are pending or undergoing\nexecution to be discarded by the slow work facility.\n\nAttempting to enqueue work that is in the process of being cancelled will\nresult in ECANCELED.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "3d7a641e544e428191667e8b1f83f96fa46dbd65",
      "tree": "172aa672eca96b94f5531885b82abb82b43c7d8a",
      "parents": [
        "66b00a7c93ec782d118d2c03bd599cfd041e80a1"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Nov 19 18:10:23 2009 +0000"
      },
      "message": "SLOW_WORK: Wait for outstanding work items belonging to a module to clear\n\nWait for outstanding slow work items belonging to a module to clear when\nunregistering that module as a user of the facility.  This prevents the put_ref\ncode of a work item from being taken away before it returns.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "7a654158bdf9dc318fd451fbf606ed100d6ba25f",
      "tree": "1b00314ff68505fe34d88ce6251c8985d15b3944",
      "parents": [
        "cda6be1ce27d721a88cb90543a1e6d0f41baeaa4"
      ],
      "author": {
        "name": "Clemens Ladisch",
        "email": "clemens@ladisch.de",
        "time": "Wed Nov 04 09:42:56 2009 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Nov 19 13:02:49 2009 +1000"
      },
      "message": "drm: set the type of the drm_framebuffer::fbdev field\n\nThe fbdev field of the drm_framebuffer structure is always used to store\na pointer to a fb_info, so there is no reason for it to be void*.\n\nSigned-off-by: Clemens Ladisch \u003cclemens@ladisch.de\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "486bfe5c7ca6184f35b93b9f2bf3fa3baa1b65e4",
      "tree": "3cec2570aca8ec88da087398d0bdd52054dfa697",
      "parents": [
        "5cbb0601bfddfc55d6ea409651313c13e3d6e90a",
        "70e3bb504ccfe6ba725ab120bdb516d205d834f9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 18 14:54:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Nov 18 14:54:45 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)\n  cxgb3: fix premature page unmap\n  ibm_newemac: Fix EMACx_TRTR[TRT] bit shifts\n  vlan: Fix register_vlan_dev() error path\n  gro: Fix illegal merging of trailer trash\n  sungem: Fix Serdes detection.\n  net: fix mdio section mismatch warning\n  ppp: fix BUG on non-linear SKB (multilink receive)\n  ixgbe: Fixing EEH handler to handle more than one error\n  net: Fix the rollback test in dev_change_name()\n  Revert \"isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation.\"\n  TI Davinci EMAC : Fix Console Hang when bringing the interface down\n  smsc911x: Fix Console Hang when bringing the interface down.\n  mISDN: fix error return in HFCmulti_init()\n  forcedeth: mac address fix\n  r6040: fix version printing\n  Bluetooth: Fix regression with L2CAP configuration in Basic Mode\n  Bluetooth: Select Basic Mode as default for SOCK_SEQPACKET\n  Bluetooth: Set general bonding security for ACL by default\n  r8169: Fix receive buffer length when MTU is between 1515 and 1536\n  can: add the missing netlink get_xstats_size callback\n  ...\n"
    },
    {
      "commit": "978b4053aefd422713f289f2a315ce2acba62018",
      "tree": "3cd4ce678526885c81264568220549f1d659875e",
      "parents": [
        "9ebd4eba761b624a6a6c9189335adeddcb1fa0e0"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Tue Nov 17 14:06:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "fcntl: rename F_OWNER_GID to F_OWNER_PGRP\n\nThis is for consistency with various ioctl() operations that include the\nsuffix \"PGRP\" in their names, and also for consistency with PRIO_PGRP,\nused with setpriority() and getpriority().  Also, using PGRP instead of\nGID avoids confusion with the common abbreviation of \"group ID\".\n\nI\u0027m fine with anything that makes it more consistent, and if PGRP is what\nis the predominant abbreviation then I see no need to further confuse\nmatters by adding a third one.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Michael Kerrisk \u003cmtk.manpages@gmail.com\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": "6ad696d2cf535772dff659298ec7e7260e344595",
      "tree": "2f4d4d088a7bc8203473dcb96a1d1f0591f3de94",
      "parents": [
        "9398180097e359646d46083c3e079a54e20bee82"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Tue Nov 17 14:06:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 17:40:33 2009 -0800"
      },
      "message": "mm: allow memory hotplug and hibernation in the same kernel\n\nAllow memory hotplug and hibernation in the same kernel\n\nMemory hotplug and hibernation were exclusive in Kconfig.  This is\nobviously a problem for distribution kernels who want to support both in\nthe same image.\n\nAfter some discussions with Rafael and others the only problem is with\nparallel memory hotadd or removal while a hibernation operation is in\nprocess.  It was also working for s390 before.\n\nThis patch removes the Kconfig level exclusion, and simply makes the\nmemory add / remove functions grab the pm_mutex to exclude against\nhibernation.\n\nFixes a regression - old kernels didn\u0027t exclude memory hotadd and\nhibernation.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nCc: Gerald Schaefer \u003cgerald.schaefer@de.ibm.com\u003e\nCc: KOSAKI Motohiro \u003ckosaki.motohiro@jp.fujitsu.com\u003e\nCc: Yasunori Goto \u003cy-goto@jp.fujitsu.com\u003e\nAcked-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d91d8a3f88059d93e34ac70d059153ec69a9ffc7",
      "tree": "13810c8dbc35522d930b5fc17db35570f3d1e821",
      "parents": [
        "dad07ca71719598bc990dbdbeda763d15a10e98b"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@bitplanet.net",
        "time": "Tue Nov 17 12:43:55 2009 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 18 10:05:47 2009 +1000"
      },
      "message": "drm/kms: add page flipping ioctl\n\nThis adds a page flipping ioctl to the KMS API.  The ioctl takes an fb ID\nand a ctrc ID and flips the crtc to the given fb at the next vblank.\nThe ioctl returns immediately but the flip doesn\u0027t happen until after\nany rendering that\u0027s currently queued up against the new framebuffer\nis done.  After submitting a page flip, any execbuffer involving the\nold front buffer will block until the flip is completed.\n\nOptionally, a vblank event can be generated when the swap eventually\nhappens.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@bitplanet.net\u003e\nReviewed-by: Chris Wilson \u003cchris@chris-wilson.co.uk\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "156822f7175d9ceb9d7e808502d3c5de8841e047",
      "tree": "1eb79f8e11c1ce4710dcdd83210d1acb5cd95b39",
      "parents": [
        "420a457088669e055e767dfb8468909cd1799cf9"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Tue Nov 17 14:41:23 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 18 10:02:49 2009 +1000"
      },
      "message": "drm: kill more unused DRM macros\n\nThere are a few more macros in drmP.h that are unused; DRM_GET_PRIV_SAREA,\nDRM_ARRAY_SIZE, and DRM_WAITCOUNT can go away completely.\n\nUnfortunately, DRM_COPY is still used in one place, but we can at least\nmove it to where it\u0027s used.  It\u0027s an awful looking macro..\n\n[akpm: fix overeagerness]\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nCc: Dave Airlie \u003cairlied@linux.ie\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "420a457088669e055e767dfb8468909cd1799cf9",
      "tree": "6cc3c7e467ff86ea86015ef1acf55019bff91cb7",
      "parents": [
        "4a9216453c8537a7f43a3b1708509b9dd271dc9f"
      ],
      "author": {
        "name": "Andres Salomon",
        "email": "dilinger@collabora.co.uk",
        "time": "Tue Nov 17 14:41:23 2009 -0800"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 18 10:02:49 2009 +1000"
      },
      "message": "drm: kill some unused DRM_PROC macros from drmP.h\n\ni915_gem_proc.c appears to have been the last user of the DRM_PROC_*\nmacros, and it has gone away.  The macros should die as well.\n\nSigned-off-by: Andres Salomon \u003cdilinger@collabora.co.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c9a9c5e02aedc1a2815877b0268f886d2640b771",
      "tree": "51f69f2ec6dcebb019cd6aa22b9e29ee48c397c1",
      "parents": [
        "799dd75b1a8380a967c929a4551895788c374b31"
      ],
      "author": {
        "name": "Kristian Høgsberg",
        "email": "krh@bitplanet.net",
        "time": "Sat Sep 12 04:33:34 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Wed Nov 18 10:02:47 2009 +1000"
      },
      "message": "drm: Add async event synchronization for drmWaitVblank\n\nThis patch adds a new flag to the drmWaitVblank ioctl, which asks the drm\nto return immediately and notify userspace when the specified vblank sequence\nhappens by sending an event back on the drm fd.\n\nThe event mechanism works with the other flags supported by the ioctls,\nspecifically, the vblank sequence can be specified relatively or absolutely,\nand works for primary and seconday crtc.\n\nThe signal field of the vblank request is used to provide user data,\nwhich will be sent back to user space in the vblank event.\n\nSigned-off-by: Kristian Høgsberg \u003ckrh@redhat.com\u003e\nReviewed-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "23f268fa2db4cbe6c4c668d6c277fae906f54922",
      "tree": "05e4baecce7415daedd591df0f3173872da53b07",
      "parents": [
        "ac50e950784cae1c26ad9e09ebd8f8c706131eb3",
        "1a0f437235ccb15361bfe0a37c7023f6234c2e9f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 11:01:54 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 11:01:54 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:\n  [SCSI] bfa: declare MODULE_FIRMWARE\n  [SCSI] gdth: Prevent negative offsets in ioctl CVE-2009-3080\n  [SCSI] libsas: do not set res \u003d 0 in sas_ex_discover_dev()\n  [SCSI] Fix incorrect reporting of host protection capabilities\n  [SCSI] pmcraid: Fix ppc64 driver build for using cpu_to_le32 on U8 data type\n  [SCSI] ipr: add workaround for MSI interrupts on P7\n  [SCSI] scsi_transport_fc: Fix WARN message for FC passthru failure paths\n  [SCSI] bfa: fix test in bfad_os_fc_host_init()\n"
    },
    {
      "commit": "82abc2a97a4a3c7635c40e6dff571816062ec506",
      "tree": "bdafbd1d1030a1d4717b52d07d8d0c3a37e8a693",
      "parents": [
        "cb20c28a9c41052c2d7220325dae60c16f417ded",
        "18dafac1a4c6c88867a50f9a82492976f20383d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 09:15:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 17 09:15:18 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: deleted inconsistent comment in nilfs_load_inode_block()\n  nilfs2: deleted struct nilfs_dat_group_desc\n  nilfs2: fix lock order reversal in chcp operation\n"
    },
    {
      "commit": "e29d4363174949a7a4e46f670993d7ff43342c1c",
      "tree": "ee0752cb07190784c1738cfa4bf4a2f4522f3ce6",
      "parents": [
        "5bfa2a17f2b79eb6a63c5d47ce89d5798bba086a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 15 22:23:47 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Nov 15 22:23:47 2009 -0800"
      },
      "message": "Revert \"isdn: isdn_ppp: Use SKB list facilities instead of home-grown implementation.\"\n\nThis reverts commit 38783e671399b5405f1fd177d602c400a9577ae6.\n\nIt causes kernel bugzilla #14594\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1a7af63108f07637504300671a72432c34e10021",
      "tree": "9cd2e6b79a02ea5c4287adbf063500a51121311b",
      "parents": [
        "c1ea985c710f41e97f1c72c29bbf367375370f0b"
      ],
      "author": {
        "name": "Jiro SEKIBA",
        "email": "jir@unicus.jp",
        "time": "Sun Nov 15 13:49:44 2009 +0900"
      },
      "committer": {
        "name": "Ryusuke Konishi",
        "email": "konishi.ryusuke@lab.ntt.co.jp",
        "time": "Sun Nov 15 17:17:38 2009 +0900"
      },
      "message": "nilfs2: deleted struct nilfs_dat_group_desc\n\nstruct nilfs_dat_group_desc is not used both in kernel and user spaces.\nstruct nilfs_palloc_group_desc is used instead.\n\nSigned-off-by: Jiro SEKIBA \u003cjir@unicus.jp\u003e\nSigned-off-by: Ryusuke Konishi \u003ckonishi.ryusuke@lab.ntt.co.jp\u003e\n"
    },
    {
      "commit": "cd4ca27d3dedfff09000586e4ae67771608696a0",
      "tree": "8ebf6b0b4b2e52585c4853d192c47d1866ec7ec6",
      "parents": [
        "0e70613b1c26bf23909d0e778de52d0cc6d88835",
        "3d4c3aa938fcbfee1c7a6d66ee23288448fb97e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 14 13:00:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 14 13:00:17 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: psmouse - remove unneeded \u0027\\n\u0027 from psmouse.proto parameter\n  Input: atkbd - restore LED state at reconnect\n  Input: force LED reset on resume\n  Input: fix locking in memoryless force-feedback devices\n"
    },
    {
      "commit": "409b95aff3583c05ac7a9247fa3d8c9aa7f9cae3",
      "tree": "a8cd8135f974b8f1c6ef9d092755e1ac5b190b2f",
      "parents": [
        "d792c1006fe92448217b71513d3955868358271d"
      ],
      "author": {
        "name": "Vlad Yasevich",
        "email": "vladislav.yasevich@hp.com",
        "time": "Tue Nov 10 08:57:34 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 13 19:56:50 2009 -0800"
      },
      "message": "sctp: Set source addresses on the association before adding transports\n\nRecent commit 8da645e101a8c20c6073efda3c7cc74eec01b87f\n\tsctp: Get rid of an extra routing lookup when adding a transport\nintroduced a regression in the connection setup.  The behavior was\n\ndifferent between IPv4 and IPv6.  IPv4 case ended up working because the\nroute lookup routing returned a NULL route, which triggered another\nroute lookup later in the output patch that succeeded.  In the IPv6 case,\na valid route was returned for first call, but we could not find a valid\nsource address at the time since the source addresses were not set on the\nassociation yet.  Thus resulted in a hung connection.\n\nThe solution is to set the source addresses on the association prior to\nadding peers.\n\nSigned-off-by: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b87e5e2b8ed9336566100c8c796ab6dd52436881",
      "tree": "a55dc24691745c5a2029b8596352a62554864d28",
      "parents": [
        "80647b959f97fa20a4714dde3e07b7f69d896556"
      ],
      "author": {
        "name": "Lennert Buytenhek",
        "email": "buytenh@wantstofly.org",
        "time": "Wed Nov 11 14:26:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:57 2009 -0800"
      },
      "message": "serial: add support for the Lava Quattro PCI quad-port 16550A card\n\nThis seems to be a different model (with a different PCI ID) than the\n\"Quatro\" card that is also in the list.\n\nSigned-off-by: Lennert Buytenhek \u003cbuytenh@wantstofly.org\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": "71ccb83cfc487354d2647e315c8196e5872198ab",
      "tree": "412436ad5744718820e4907d9fb6dbc9497309bb",
      "parents": [
        "e00e431612c3a6e437a01f2129fd3843da0c982a"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Nov 11 14:26:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:56 2009 -0800"
      },
      "message": "alpha: fix F_SETOWN_EX and F_GETLK64 conflict\n\nFix a bug in\n\n    commit ba0a6c9f6fceed11c6a99e8326f0477fe383e6b5\n    Author:     Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\n    AuthorDate: Wed Sep 23 15:57:03 2009 -0700\n    Commit:     Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n    CommitDate: Thu Sep 24 07:21:01 2009 -0700\n\n        fcntl: add F_[SG]ETOWN_EX\n\nIn asm-generic/fcntl.h, F_SETOWN_EX and F_GETLK64 both have value 12, and\nF_GETOWN_EX and F_SETLK64 both have value 13.\n\nReported-by: \"Joseph S. Myers\" \u003cjoseph@codesourcery.com\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Andreas Schwab \u003cschwab@redhat.com\u003e\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nAcked-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f5c15d0b37ab1cd3969b8ce7828ab41c79f36f77",
      "tree": "a12aaef93ef8cc75eb5488294c64c5bf9d01546c",
      "parents": [
        "9d0ed60fe9cd1fbf57f755cd27a23ae9114d7210"
      ],
      "author": {
        "name": "Krzysztof Helt",
        "email": "krzysztof.h1@wp.pl",
        "time": "Wed Nov 11 14:26:22 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Nov 12 07:25:56 2009 -0800"
      },
      "message": "fb: remove fb_save_state() and fb_restore_state operations\n\nRemove fb_save_state() and fb_restore_state operations from frame buffer layer.\nThey are used only in two drivers:\n1. savagefb  - and cause bug #11248\n2. uvesafb\n\nUsage of these operations is misunderstood in both drivers so kill these\noperations, fix the bug #11248 and avoid confusion in the future.\n\nTested on Savage 3D/MV card and the patch fixes the bug #11248.\n\nThe frame buffer layer uses these funtions during switch between graphics\nand text mode of the console, but these drivers saves state before\nswitching of the frame buffer (in the fb_open) and after releasing it (in\nthe fb_release).  This defeats the purpose of these operations.\n\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d11248\n\nSigned-off-by: Krzysztof Helt \u003ckrzysztof.h1@wp.pl\u003e\nReported-by: Jochen Hein \u003cjochen@jochen.org\u003e\nTested-by: Jochen Hein \u003cjochen@jochen.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Michal Januszewski \u003cspock@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fe8bc91c4c30122b357d197117705cfd4fabaf28",
      "tree": "33e2895847d812204209444db4093af9a2c3623d",
      "parents": [
        "ea0174a7137c8ca9f130ca681f3a99c872da6778"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Fri Oct 16 19:26:15 2009 +0200"
      },
      "committer": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Nov 11 15:22:49 2009 +0100"
      },
      "message": "ext3: Wait for proper transaction commit on fsync\n\nWe cannot rely on buffer dirty bits during fsync because pdflush can come\nbefore fsync is called and clear dirty bits without forcing a transaction\ncommit. What we do is that we track which transaction has last changed\nthe inode and which transaction last changed allocation and force it to\ndisk on fsync.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nReviewed-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "bf3204cbff7d2606e758afb0994e8da6ae1c6c26",
      "tree": "01951b829d2af6a52b82bec35cc05261dcf77fe2",
      "parents": [
        "558a5e296a02266ef43d6e933ee35df9976de987"
      ],
      "author": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Fri Nov 06 21:39:07 2009 -0800"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Tue Nov 10 21:13:32 2009 -0800"
      },
      "message": "Input: fix locking in memoryless force-feedback devices\n\nNow that input core acquires dev-\u003eevent_lock spinlock and disables\ninterrupts when propagating input events, using spin_lock_bh() in\nff-memless driver is not allowed. Actually, the timer_lock itself\nis not needed anymore, we should simply use dev-\u003eevent_lock\nas well.\n\nAlso do a small cleanup in force-feedback core.\n\nReported-by: kerneloops.org\nReported-by: http://www.kerneloops.org/searchweek.php?search\u003dml_ff_set_gain\nReported-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "799dd75b1a8380a967c929a4551895788c374b31",
      "tree": "7132aafc4ade16fda136d63f1be6ea867edde79b",
      "parents": [
        "6bee58259fce0baad7b02c7a48146d50fa7f6c3c",
        "afa08974fe80c198b8650f73ed8ab59135ca10d0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:58:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:58:31 2009 -0800"
      },
      "message": "Merge branch \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging\n\n* \u0027i2c-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:\n  i2c: Add an interface to lock/unlock an I2C bus segment\n  i2c-piix4: Modify code name SB900 to Hudson-2\n"
    },
    {
      "commit": "1ce55238e2dd46b978b098a85cb3d3ea494e4a93",
      "tree": "523254dbb402b1850d693f0c1f1a1db6e865456d",
      "parents": [
        "aa907639f1d9fe0e3274b4f6c1088542f750a539",
        "2606289779cb297320a185db5997729d29b6700b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:51:42 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 09 09:51:42 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (34 commits)\n  net/fsl_pq_mdio: add module license GPL\n  can: fix WARN_ON dump in net/core/rtnetlink.c:rtmsg_ifinfo()\n  can: should not use __dev_get_by_index() without locks\n  hisax: remove bad udelay call to fix build error on ARM\n  ipip: Fix handling of DF packets when pmtudisc is OFF\n  qlge: Set PCIe reset type for EEH to fundamental.\n  qlge: Fix early exit from mbox cmd complete wait.\n  ixgbe: fix traffic hangs on Tx with ioatdma loaded\n  ixgbe: Fix checking TFCS register for TXOFF status when DCB is enabled\n  ixgbe: Fix gso_max_size for 82599 when DCB is enabled\n  macsonic: fix crash on PowerBook 520\n  NET: cassini, fix lock imbalance\n  ems_usb: Fix byte order issues on big endian machines\n  be2net: Bug fix to send config commands to hardware after netdev_register\n  be2net: fix to set proper flow control on resume\n  netfilter: xt_connlimit: fix regression caused by zero family value\n  rt2x00: Don\u0027t queue ieee80211 work after USB removal\n  Revert \"ipw2200: fix oops on missing firmware\"\n  decnet: netdevice refcount leak\n  netfilter: nf_nat: fix NAT issue in 2.6.30.4+\n  ...\n"
    },
    {
      "commit": "afa08974fe80c198b8650f73ed8ab59135ca10d0",
      "tree": "b649e06dc4cb9fa10b87f1914f05c6ca2ba0d910",
      "parents": [
        "3806e94b0148350c72f9a3214274026b6ca03f49"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "message": "i2c: Add an interface to lock/unlock an I2C bus segment\n\nSome drivers need to be able to prevent access to an I2C bus segment\nfor a specific period of time. Add an interface for them to do so\nwithout twiddling with i2c-core internals.\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nAcked-by: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\n"
    },
    {
      "commit": "3806e94b0148350c72f9a3214274026b6ca03f49",
      "tree": "a01e53ccbd4dd7a2871bd933d05a769351c64a3f",
      "parents": [
        "7c9abfb884b8737f0afdc8a88bcea77526f0da87"
      ],
      "author": {
        "name": "Crane Cai",
        "email": "crane.cai@amd.com",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Sat Nov 07 13:10:46 2009 +0100"
      },
      "message": "i2c-piix4: Modify code name SB900 to Hudson-2\n\nChange SB900 to its formal code name Hudson-2.\n\nSigned-off-by: Crane Cai \u003ccrane.cai@amd.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "b2b465e9280b739a528435d2916c0a5c1b4eb100",
      "tree": "003751e8ad8f85a7a68e317aa8820de91ee5429a",
      "parents": [
        "88197966e1eeee6547764fa49bfce7e57549acd2"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Oct 29 22:32:26 2009 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Nov 06 11:50:52 2009 -0600"
      },
      "message": "[SCSI] Fix incorrect reporting of host protection capabilities\n\nThe advent of DIF Type 2 devices exposed some missing break statements\nin the protection mask switch constructs.  However, rewriting the code\nto use an index into a small static array seemed like a more elegant\nsolution.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f9dd09c7f7199685601d75882447a6598be8a3e0",
      "tree": "98ab4a75ec6c74cdb4aa807c491002ba33de56c5",
      "parents": [
        "f5209b4446d185cc95f46363f8043a743530c15a"
      ],
      "author": {
        "name": "Jozsef Kadlecsik",
        "email": "kadlec@blackhole.kfki.hu",
        "time": "Fri Nov 06 00:43:42 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 06 00:43:42 2009 -0800"
      },
      "message": "netfilter: nf_nat: fix NAT issue in 2.6.30.4+\n\nVitezslav Samel discovered that since 2.6.30.4+ active FTP can not work\nover NAT. The \"cause\" of the problem was a fix of unacknowledged data\ndetection with NAT (commit a3a9f79e361e864f0e9d75ebe2a0cb43d17c4272).\nHowever, actually, that fix uncovered a long standing bug in TCP conntrack:\nwhen NAT was enabled, we simply updated the max of the right edge of\nthe segments we have seen (td_end), by the offset NAT produced with\nchanging IP/port in the data. However, we did not update the other parameter\n(td_maxend) which is affected by the NAT offset. Thus that could drift\naway from the correct value and thus resulted breaking active FTP.\n\nThe patch below fixes the issue by *not* updating the conntrack parameters\nfrom NAT, but instead taking into account the NAT offsets in conntrack in a\nconsistent way. (Updating from NAT would be more harder and expensive because\nit\u0027d need to re-calculate parameters we already calculated in conntrack.)\n\nSigned-off-by: Jozsef Kadlecsik \u003ckadlec@blackhole.kfki.hu\u003e\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5b8f0be0dce012d190a53d55240fe3fde6306476",
      "tree": "19fccf22b07730205e9b1d64e8e8f676a12b763a",
      "parents": [
        "43bcd61fae05fc6062b4f117c5adb1a72c9f8c57",
        "4fe9676d1ae6639b5749140eba052261d363366b"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Nov 05 15:04:06 2009 -0800"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Nov 05 15:04:06 2009 -0800"
      },
      "message": "Merge remote branch \u0027airlied/drm-next\u0027 into drm-intel-next\n"
    },
    {
      "commit": "02e792fbaadb75dec8e476a05b610e49908fc6a4",
      "tree": "3c813fbf64431827b0e56291c647e60443a52277",
      "parents": [
        "f0f8a9cecea322b215600d96cf0c1eb08343a4e9"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Sep 15 22:57:34 2009 +0200"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Nov 05 14:47:08 2009 -0800"
      },
      "message": "drm/i915: implement drmmode overlay support v4\n\nThis implements intel overlay support for kms via a device-specific\nioctl. Thomas Hellstrom brought up the idea of a general ioctl (on\ndri-devel). We\u0027ve reached the conclusion that such an infrastructure\nonly makes sense when multiple kms overlay implementations exists,\nwhich atm don\u0027t (and it doesn\u0027t look like this is gonna change).\n\nOpen issues:\n- Runs in sync with the gpu, i.e. unnecessary waiting. I\u0027ve decided\n  to wait on this because the hw tends to hang when changing something\n  in this area. I left some dummy functions as infrastructure.\n- polyphase filtering uses a static table.\n- uses uninterruptible sleeps. Unfortunately the alternatives may\n  unnecessarily wedged the hw if/when we timeout too early (and\n  userspace only overloaded the batch buffers with stuff worth a few\n  secs of gpu time).\n\nChanges since v1:\n- fix off-by-one misconception on my side. This fixes fullscreen\n  playback.\nChanges since v2:\n- add underrun detection as spec\u0027ed for i965.\n- flush caches properly, fixing visual corruptions.\nChanges since v4:\n- fix up cache flushing of overlay memory regs.\n- killed require_pipe_a logic - it hangs the chip.\n\nTested-By: diego.abelenda@gmail.com (on a 865G)\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\n[anholt: Resolved against the MADVISE ioctl going in before this one]\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "48764bf43f746113fc77877d7e80f2df23ca4cbb",
      "tree": "74f679459d3c1e6d5194ac7a4a55f9a347ea3647",
      "parents": [
        "7a9c906094de8b3dc227de448019dbc386cd25d4"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Sep 15 22:57:32 2009 +0200"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Nov 05 14:47:07 2009 -0800"
      },
      "message": "drm/i915: add i915_lp_ring_sync helper\n\nThis just waits until the hw passed the current ring position with\ncmd execution. This slightly changes the existing i915_wait_request\nfunction to make uninterruptible waiting possible - no point in\nreturning to userspace while mucking around with the overlay, that\npiece of hw is just too fragile.\n\nAlso replace a magic 0 with the symbolic constant (and kill the then\nsuperflous comment) while I was looking at the code.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "7a9c906094de8b3dc227de448019dbc386cd25d4",
      "tree": "bf7ebc3d31e27b449ec0e000bfd65eddf758fc6b",
      "parents": [
        "97f5ab6651a996ecefed73e41684422f3b29d9a8"
      ],
      "author": {
        "name": "Daniel Vetter",
        "email": "daniel.vetter@ffwll.ch",
        "time": "Tue Sep 15 22:57:31 2009 +0200"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Nov 05 14:47:06 2009 -0800"
      },
      "message": "drm: make drm_mode_object_find typesafe\n\nI\u0027ve wasted half a day hunting a bug that could easily be spotted by\ngcc. Prevent this from reoccurring.\n\nSigned-off-by: Daniel Vetter \u003cdaniel.vetter@ffwll.ch\u003e\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "38dc63459f185795b24a39f3f4921a433ea9980b",
      "tree": "205a8abc9b20c4f5573e4d2fbc03e74388cef2bc",
      "parents": [
        "1d510750941a53a1d3049c1d33c75d6dfcd78618",
        "2ddac2a6a8f13e95664fe7ad1b728ac84fb1bd07"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:52:57 2009 -0800"
      },
      "message": "Merge branch \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6\n\n* \u0027pm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:\n  PM: Remove some debug messages producing too much noise\n  PM: Fix warning on suspend errors\n  PM / Hibernate: Add newline to load_image() fail path\n  PM / Hibernate: Fix error handling in save_image()\n  PM / Hibernate: Fix blkdev refleaks\n  PM / yenta: Split resume into early and late parts (rev. 4)\n"
    },
    {
      "commit": "a84216e671c724e0920dfad2fb70828d428ff60a",
      "tree": "a39f53715c73d267d854653dfe275da5fc60e842",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
        "bcfe3c2046fc4f16544f2b127f1b159dd1fcad8b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Nov 03 07:44:01 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)\n  mac80211: check interface is down before type change\n  cfg80211: fix NULL ptr deref\n  libertas if_usb: Fix crash on 64-bit machines\n  mac80211: fix reason code output endianness\n  mac80211: fix addba timer\n  ath9k: fix misplaced semicolon on rate control\n  b43: Fix DMA TX bounce buffer copying\n  mac80211: fix BSS leak\n  rt73usb.c : more ids\n  ipw2200: fix oops on missing firmware\n  gre: Fix dev_addr clobbering for gretap\n  sky2: set carrier off in probe\n  net: fix sk_forward_alloc corruption\n  pcnet_cs: add cis of PreMax PE-200 ethernet pcmcia card\n  r8169: Fix card drop incoming VLAN tagged MTU byte large jumbo frames\n  ibmtr: possible Read buffer overflow?\n  net: Fix RPF to work with policy routing\n  net: fix kmemcheck annotations\n  e1000e: rework disable K1 at 1000Mbps for 82577/82578\n  e1000e: config PHY via software after resets\n  ...\n"
    },
    {
      "commit": "9905d1b411946fb3fb228e8c6529fd94afda8a92",
      "tree": "8257b26f4b3d7c2b8be082233ac9c294b5387f8b",
      "parents": [
        "1836d95928a0f41ada0cbb2a6c4e46b027db9491"
      ],
      "author": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 10:54:58 2009 +0100"
      },
      "committer": {
        "name": "Rafael J. Wysocki",
        "email": "rjw@sisk.pl",
        "time": "Tue Nov 03 10:54:58 2009 +0100"
      },
      "message": "PM / yenta: Split resume into early and late parts (rev. 4)\n\nCommit 0c570cdeb8fdfcb354a3e9cd81bfc6a09c19de0c\n(PM / yenta: Fix cardbus suspend/resume regression) caused resume to\nfail on systems with two CardBus bridges.  While the exact nature\nof the failure is not known at the moment, it can be worked around by\nsplitting the yenta resume into an early part, executed during the\nearly phase of resume, that will only resume the socket and power it\nup if there was a card in it during suspend, and a late part,\nexecuted during \"regular\" resume, that will carry out all of the\nremaining yenta resume operations.\n\nFixes http://bugzilla.kernel.org/show_bug.cgi?id\u003d14334, which is a\nlisted regression from 2.6.31.\n\nSigned-off-by: Rafael J. Wysocki \u003crjw@sisk.pl\u003e\nAcked-by: Dominik Brodowski \u003clinux@dominikbrodowski.net\u003e\nReported-by: Stephen J. Gowdy \u003cgowdy@cern.ch\u003e\nTested-by: Jose Marino \u003cbraket@hotmail.com\u003e\n"
    },
    {
      "commit": "1836d95928a0f41ada0cbb2a6c4e46b027db9491",
      "tree": "24ebf7cfd598dfef82247044fb3b65110fe22fc8",
      "parents": [
        "333a07437c31ea8c16a2b82071629a540ae1e50f",
        "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 12:23:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 12:23:21 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs:\n  9p: fix readdir corner cases\n  9p: fix readlink\n  9p: fix a small bug in readdir for long directories\n"
    },
    {
      "commit": "bce8fc4cb796dc77ea71699ef88802879a177474",
      "tree": "683ff9f2def12d390af0ae2dc2326b4d9f85a1cd",
      "parents": [
        "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
        "ec29b8d2af01912bb79adda8aeab4293539f29ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:46:06 2009 -0800"
      },
      "message": "Merge branch \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perf-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf tools: Remove -Wcast-align\n  perf tools: Fix compatibility with libelf 0.8 and autodetect\n  perf events: Don\u0027t generate events for the idle task when exclude_idle is set\n  perf events: Fix swevent hrtimer sampling by keeping track of remaining time when enabling/disabling swevent hrtimers\n"
    },
    {
      "commit": "a5e3013d6612d2ed4aefdcd7920ae01df3b63b3a",
      "tree": "89dce7d51c11ea56150e4f5613a28369e238f90e",
      "parents": [
        "efcd9e0b91bcb92a1dd530d1a1f26eb83a5d21e2",
        "6d3f1e12f46a2f9a1bb7e7aa433df8dd31ce5647"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Nov 02 09:45:44 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: Remove cpu arg from the rb_time_stamp() function\n  tracing: Fix comment typo and documentation example\n  tracing: Fix trace_seq_printf() return value\n  tracing: Update *ppos instead of filp-\u003ef_pos\n"
    }
  ],
  "next": "3e2796a90cf349527e50b3bc4d0b2f4019b1ce7a"
}
