)]}'
{
  "log": [
    {
      "commit": "dc36be4419311fd57becdf54bfeef6bd04a6741d",
      "tree": "179d34f4e56861b66142dd6c39dac1af1e1e10d9",
      "parents": [
        "b1420f1c8bfc30ecf6380a31d0f686884834b599",
        "048a0e8f5e1d94c01a5fc70f5b2f2fd2f4527326",
        "9dd8fb16c36178df2066387d2abd44d8b4dca8c8",
        "9fab97876af844c2abb7c39300bff34025926565"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri May 11 10:14:09 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri May 11 10:14:21 2012 -0700"
      },
      "message": "Merge branches \u0027barrier.2012.05.09a\u0027, \u0027fixes.2012.04.26a\u0027, \u0027inline.2012.05.02b\u0027 and \u0027srcu.2012.05.07b\u0027 into HEAD\n\nbarrier:  Reduce the amount of disturbance by rcu_barrier() to the rest of\n    \tthe system.  This branch also includes improvements to\n    \tRCU_FAST_NO_HZ, which are included here due to conflicts.\nfixes:  Miscellaneous fixes.\ninline:  Remaining changes from an abortive attempt to inline\n    \tpreemptible RCU\u0027s __rcu_read_lock().  These are (1) making\n    \texit_rcu() avoid unnecessary work and (2) avoiding having\n    \tpreemptible RCU record a blocked thread when the scheduler\n    \tdeclines to do a context switch.\nsrcu:\tLai Jiangshan\u0027s algorithmic implementation of SRCU, including\n    \tcall_srcu().\n"
    },
    {
      "commit": "b1420f1c8bfc30ecf6380a31d0f686884834b599",
      "tree": "56eb378bcd64175a7302a1031b388ecf569a30bb",
      "parents": [
        "98248a0e24327bc64eb7518145c44bff7bebebc3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Mar 01 13:18:08 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 09 14:27:54 2012 -0700"
      },
      "message": "rcu: Make rcu_barrier() less disruptive\n\nThe rcu_barrier() primitive interrupts each and every CPU, registering\na callback on every CPU.  Once all of these callbacks have been invoked,\nrcu_barrier() knows that every callback that was registered before\nthe call to rcu_barrier() has also been invoked.\n\nHowever, there is no point in registering a callback on a CPU that\ncurrently has no callbacks, most especially if that CPU is in a\ndeep idle state.  This commit therefore makes rcu_barrier() avoid\ninterrupting CPUs that have no callbacks.  Doing this requires reworking\nthe handling of orphaned callbacks, otherwise callbacks could slip through\nrcu_barrier()\u0027s net by being orphaned from a CPU that rcu_barrier() had\nnot yet interrupted to a CPU that rcu_barrier() had already interrupted.\nThis reworking was needed anyway to take a first step towards weaning\nRCU from the CPU_DYING notifier\u0027s use of stop_cpu().\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "98248a0e24327bc64eb7518145c44bff7bebebc3",
      "tree": "5ec88465d949558e42e83fd8321c725614c00269",
      "parents": [
        "21e52e15666323078b8517a4312712579176b56f"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu May 03 15:38:10 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 09 14:26:57 2012 -0700"
      },
      "message": "rcu: Explicitly initialize RCU_FAST_NO_HZ per-CPU variables\n\nThe current initialization of the RCU_FAST_NO_HZ per-CPU variables makes\nneedless and fragile assumptions about the initial value of things like\nthe jiffies counter.  This commit therefore explicitly initializes all of\nthem that are better started with a non-zero value.  It also adds some\ncomments describing the per-CPU state variables.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "21e52e15666323078b8517a4312712579176b56f",
      "tree": "6e9e75c6e1400e0426a7c7985a3f986fea5a7782",
      "parents": [
        "f511fc624642f0bb8cf65aaa28979737514d4746"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 30 14:16:19 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 09 14:26:56 2012 -0700"
      },
      "message": "rcu: Make RCU_FAST_NO_HZ handle timer migration\n\nThe current RCU_FAST_NO_HZ assumes that timers do not migrate unless a\nCPU goes offline, in which case it assumes that the CPU will have to come\nout of dyntick-idle mode (cancelling the timer) in order to go offline.\nThis is important because when RCU_FAST_NO_HZ permits a CPU to enter\ndyntick-idle mode despite having RCU callbacks pending, it posts a timer\non that CPU to force a wakeup on that CPU.  This wakeup ensures that the\nCPU will eventually handle the end of the grace period, including invoking\nits RCU callbacks.\n\nHowever, Pascal Chapperon\u0027s test setup shows that the timer handler\nrcu_idle_gp_timer_func() really does get invoked in some cases.  This is\nproblematic because this can cause the CPU that entered dyntick-idle\nmode despite still having RCU callbacks pending to remain in\ndyntick-idle mode indefinitely, which means that its RCU callbacks might\nnever be invoked.  This situation can result in grace-period delays or\neven system hangs, which matches Pascal\u0027s observations of slow boot-up\nand shutdown (https://lkml.org/lkml/2012/4/5/142).  See also the bugzilla:\n\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d806548\n\nThis commit therefore causes the \"should never be invoked\" timer handler\nrcu_idle_gp_timer_func() to use smp_call_function_single() to wake up\nthe CPU for which the timer was intended, allowing that CPU to invoke\nits RCU callbacks in a timely manner.\n\nReported-by: Pascal Chapperon \u003cpascal.chapperon@wanadoo.fr\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9fab97876af844c2abb7c39300bff34025926565",
      "tree": "3ea264d6331a62c5449f59b5c77edbd19fc07b4c",
      "parents": [
        "9059c94017f748d9e20c3b089188a7abb27f6233"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 07 09:36:34 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon May 07 09:36:34 2012 -0700"
      },
      "message": "rcu: Update RCU maintainership\n\nSplit SRCU out and add Lai Jiangshan as SRCU co-maintainer.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9dd8fb16c36178df2066387d2abd44d8b4dca8c8",
      "tree": "330ac5704044c12bcc94ec6bf96dbb27d1057f5d",
      "parents": [
        "616c310e83b872024271c915c1b9ab505b9efad9"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Apr 13 12:54:22 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 02 14:48:27 2012 -0700"
      },
      "message": "rcu: Make exit_rcu() more precise and consolidate\n\nWhen running preemptible RCU, if a task exits in an RCU read-side\ncritical section having blocked within that same RCU read-side critical\nsection, the task must be removed from the list of tasks blocking a\ngrace period (perhaps the current grace period, perhaps the next grace\nperiod, depending on timing).  The exit() path invokes exit_rcu() to\ndo this cleanup.\n\nHowever, the current implementation of exit_rcu() needlessly does the\ncleanup even if the task did not block within the current RCU read-side\ncritical section, which wastes time and needlessly increases the size\nof the state space.  Fix this by only doing the cleanup if the current\ntask is actually on the list of tasks blocking some grace period.\n\nWhile we are at it, consolidate the two identical exit_rcu() functions\ninto a single function.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\nConflicts:\n\n\tkernel/rcupdate.c\n"
    },
    {
      "commit": "616c310e83b872024271c915c1b9ab505b9efad9",
      "tree": "1339bc7b3bef920b4641a5af2f182e9dfa2a6632",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Mar 27 16:02:08 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed May 02 14:43:23 2012 -0700"
      },
      "message": "rcu: Move PREEMPT_RCU preemption to switch_to() invocation\n\nCurrently, PREEMPT_RCU readers are enqueued upon entry to the scheduler.\nThis is inefficient because enqueuing is required only if there is a\ncontext switch, and entry to the scheduler does not guarantee a context\nswitch.\n\nThe commit therefore moves the enqueuing to immediately precede the\ncall to switch_to() from the scheduler.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nTested-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f511fc624642f0bb8cf65aaa28979737514d4746",
      "tree": "db1395c5d33da33c8ea6c82f6e5b7346cc5beb91",
      "parents": [
        "79b9a75fb703b6a2670e46b9dc495af5bc7029b3"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Mar 15 12:16:26 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue May 01 08:22:50 2012 -0700"
      },
      "message": "rcu: Ensure that RCU_FAST_NO_HZ timers expire on correct CPU\n\nTimers are subject to migration, which can lead to the following\nsystem-hang scenario when CONFIG_RCU_FAST_NO_HZ\u003dy:\n\n1.\tCPU 0 executes synchronize_rcu(), which posts an RCU callback.\n\n2.\tCPU 0 then goes idle.  It cannot immediately invoke the callback,\n\tbut there is nothing RCU needs from ti, so it enters dyntick-idle\n\tmode after posting a timer.\n\n3.\tThe timer gets migrated to CPU 1.\n\n4.\tCPU 0 never wakes up, so the synchronize_rcu() never returns, so\n\tthe system hangs.\n\nThis commit fixes this problem by using mod_timer_pinned(), as suggested\nby Peter Zijlstra, to ensure that the timer is actually posted on the\nrunning CPU.\n\nReported-by: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "9059c94017f748d9e20c3b089188a7abb27f6233",
      "tree": "f4f4397f732ce690602519da8594fc5ac306b252",
      "parents": [
        "931ea9d1a6e06a5e3af03aa4aaaa7c7fd90e163f"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Mar 19 16:12:14 2012 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:26 2012 -0700"
      },
      "message": "rcu: Add rcutorture test for call_srcu()\n\nAdd srcu_torture_deferred_free() for srcu_ops so as to test the new\ncall_srcu().  Rename the original srcu_ops to srcu_sync_ops.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "931ea9d1a6e06a5e3af03aa4aaaa7c7fd90e163f",
      "tree": "d25495ccbf92d1ba720a945ac7fb4079b0434db4",
      "parents": [
        "d9792edd7a9a0858a3b1df92cf8beb31e4191e3c"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Mar 19 16:12:13 2012 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:25 2012 -0700"
      },
      "message": "rcu: Implement per-domain single-threaded call_srcu() state machine\n\nThis commit implements an SRCU state machine in support of call_srcu().\nThe state machine is preemptible, light-weight, and single-threaded,\nminimizing synchronization overhead.  In particular, there is no longer\nany need for synchronize_srcu() to be guarded by a mutex.\n\nExpedited processing is handled, at least in the absence of concurrent\ngrace-period operations on that same srcu_struct structure, by having\nthe synchronize_srcu_expedited() thread take on the role of the\nworkqueue thread for one iteration.\n\nThere is a reasonable probability that a given SRCU callback will\nbe invoked on the same CPU that registered it, however, there is no\nguarantee.  Concurrent SRCU grace-period primitives can cause callbacks\nto be executed elsewhere, even in absence of CPU-hotplug operations.\n\nCallbacks execute in process context, but under the influence of\nlocal_bh_disable(), so it is illegal to sleep in an SRCU callback\nfunction.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d9792edd7a9a0858a3b1df92cf8beb31e4191e3c",
      "tree": "149aa8e7fe288094129c94d02db2e2b64c6ff53c",
      "parents": [
        "dc87917501e324701dbfb249def44054b5220187"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Mar 19 16:12:12 2012 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:24 2012 -0700"
      },
      "message": "rcu: Use single value to handle expedited SRCU grace periods\n\nThe earlier algorithm used an \"expedited\" flag combined with a \"trycount\"\ncounter to differentiate between normal and expedited SRCU grace periods.\nHowever, the difference can be encoded into a single counter with a cutoff\nvalue and different initial values for expedited and normal SRCU grace\nperiods.  This commit makes that change.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n\nConflicts:\n\n\tkernel/srcu.c\n"
    },
    {
      "commit": "dc87917501e324701dbfb249def44054b5220187",
      "tree": "e39ebf104875f11b8f6fd56e98366918bacc4dca",
      "parents": [
        "966f58c2f6df826f385706673a9bb1edcfd3499a"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 06 17:57:34 2012 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:24 2012 -0700"
      },
      "message": "rcu: Improve srcu_readers_active_idx()\u0027s cache locality\n\nExpand the calls to srcu_readers_active_idx() from srcu_readers_active()\ninline.  This change improves cache locality by interating over the CPUs\nonce rather than twice.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "966f58c2f6df826f385706673a9bb1edcfd3499a",
      "tree": "c0c6701f8725a8675b3366d2fa24d86adedc34d4",
      "parents": [
        "b52ce066c55a6a53cf1f8d71308d74f908e31b99"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Tue Mar 06 17:57:33 2012 +0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:23 2012 -0700"
      },
      "message": "rcu: Remove unused srcu_barrier()\n\nThe old srcu_barrier() macro is now unused.  This commit removes it so\nthat it may be used for the SRCU flavor of rcu_barrier(), which will in\nturn be needed to allow the upcoming call_srcu() to be used from within\nmodules.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b52ce066c55a6a53cf1f8d71308d74f908e31b99",
      "tree": "e814e4e175f2bd8e1c0795247f413d711c7350df",
      "parents": [
        "18108ebfebe9e871d0a9af830baf8f5df69eb5fc"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Feb 27 09:29:09 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:22 2012 -0700"
      },
      "message": "rcu: Implement a variant of Peter\u0027s SRCU algorithm\n\nThis commit implements a variant of Peter\u0027s algorithm, which may be found\nat https://lkml.org/lkml/2012/2/1/119.\n\no\tMake the checking lock-free to enable parallel checking.\n\tParallel checking is required when (1) the original checking\n\ttask is preempted for a long time, (2) sychronize_srcu_expedited()\n\tstarts during an ongoing SRCU grace period, or (3) we wish to\n\tavoid acquiring a lock.\n\no\tSince the checking is lock-free, we avoid a mutex in state machine\n\tfor call_srcu().\n\no\tRemove the SRCU_REF_MASK and remove the coupling with the flipping.\n\tThis might allow us to remove the preempt_disable() in future\n\tversions, though such removal will need great care because it\n\trescinds the one-old-reader-per-CPU guarantee.\n\no\tRemove a smp_mb(), simplify the comments and make the smp_mb() pairs\n\tmore intuitive.\n\nInspired-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "18108ebfebe9e871d0a9af830baf8f5df69eb5fc",
      "tree": "363127aced66530e6c6808a55462e10c3e8fedb8",
      "parents": [
        "944ce9af4767ca085d465e4add69df11a8faa9ef"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Mon Feb 27 09:28:10 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:22 2012 -0700"
      },
      "message": "rcu: Improve SRCU\u0027s wait_idx() comments\n\nThe safety of SRCU is provided byy wait_idx() rather than flipping.\nThe flipping actually prevents starvation.\n\nThis commit therefore updates the comments to more accurately and\nprecisely describe what is going on.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "944ce9af4767ca085d465e4add69df11a8faa9ef",
      "tree": "2d2f695f15affe404efb1c0646e6d31ece677d62",
      "parents": [
        "440253c17fc4ed41d778492a7fb44dc0d756eccc"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 22 16:43:55 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:21 2012 -0700"
      },
      "message": "rcu: Flip -\u003ecompleted only once per SRCU grace period\n\nThis is an optimization of the SRCU grace period.  To guard against\npreempted readers with old values of the counter, it suffices to scan the\nold counters once more, then flip -\u003ecompleted only one time.  The reason\nthis works is that the old readers must have incremented the old set of\ncounters (if they have not yet incremented, then their critical section\nstarts after this grace period, so they may be safely ignored).\n\nThis commit therefore optimizes the second flip out in favor of a simple\nrescan.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "440253c17fc4ed41d778492a7fb44dc0d756eccc",
      "tree": "333cb87d73c154cdc82d2b08356a7337abec72e2",
      "parents": [
        "4b7a3e9e32114a09c61995048f055615b5d4c26d"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 22 13:29:06 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:20 2012 -0700"
      },
      "message": "rcu: Increment upper bit only for srcu_read_lock()\n\nThe purpose of the upper bit of SRCU\u0027s per-CPU counters is to guarantee\nthat no reasonable series of srcu_read_lock() and srcu_read_unlock()\noperations can return the value of the counter to its original value.\nThis guarantee is require only after the index has been switched to\nthe other set of counters, so at most one srcu_read_lock() can affect\na given CPU\u0027s counter.  The number of srcu_read_unlock() operations\non a given counter is limited to the number of tasks in the system,\nwhich given the Linux kernel\u0027s current structure is limited to far less\nthan 2^30 on 32-bit systems and far less than 2^62 on 64-bit systems.\n(Something about a limited number of bytes in the kernel\u0027s address space.)\n\nTherefore, if srcu_read_lock() increments the upper bits, then\nsrcu_read_unlock() need not do so.  In this case, an srcu_read_lock() and\nan srcu_read_unlock() will flip the lower bit of the upper field of the\ncounter.  An unreasonably large additional number of srcu_read_unlock()\noperations would be required to return the counter to its initial value,\nthus preserving the guarantee.\n\nThis commit takes this approach, which further allows it to shrink\nthe size of the upper field to one bit, making the number of\nsrcu_read_unlock() operations required to return the counter to its\ninitial value even more unreasonable than before.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4b7a3e9e32114a09c61995048f055615b5d4c26d",
      "tree": "562ff1829abb99e830b5e3b3719834b059376b03",
      "parents": [
        "cef50120b61c2af4ce34bc165e19cad66296f93d"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Wed Feb 22 13:06:51 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:20 2012 -0700"
      },
      "message": "rcu: Remove fast check path from __synchronize_srcu()\n\nThe fastpath in __synchronize_srcu() is designed to handle cases where\nthere are a large number of concurrent calls for the same srcu_struct\nstructure.  However, the Linux kernel currently does not use SRCU in\nthis manner, so remove the fastpath checks for simplicity.\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "cef50120b61c2af4ce34bc165e19cad66296f93d",
      "tree": "963a9473155bcf6a8aa12ce92ff842242c9c3575",
      "parents": [
        "fae4b54f28f034d228fa3bfc98858c698b64e89c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sun Feb 05 07:42:44 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:19 2012 -0700"
      },
      "message": "rcu: Direct algorithmic SRCU implementation\n\nThe current implementation of synchronize_srcu_expedited() can cause\nsevere OS jitter due to its use of synchronize_sched(), which in turn\ninvokes try_stop_cpus(), which causes each CPU to be sent an IPI.\nThis can result in severe performance degradation for real-time workloads\nand especially for short-interation-length HPC workloads.  Furthermore,\nbecause only one instance of try_stop_cpus() can be making forward progress\nat a given time, only one instance of synchronize_srcu_expedited() can\nmake forward progress at a time, even if they are all operating on\ndistinct srcu_struct structures.\n\nThis commit, inspired by an earlier implementation by Peter Zijlstra\n(https://lkml.org/lkml/2012/1/31/211) and by further offline discussions,\ntakes a strictly algorithmic bits-in-memory approach.  This has the\ndisadvantage of requiring one explicit memory-barrier instruction in\neach of srcu_read_lock() and srcu_read_unlock(), but on the other hand\ncompletely dispenses with OS jitter and furthermore allows SRCU to be\nused freely by CPUs that RCU believes to be idle or offline.\n\nThe update-side implementation handles the single read-side memory\nbarrier by rechecking the per-CPU counters after summing them and\nby running through the update-side state machine twice.\n\nThis implementation has passed moderate rcutorture testing on both\nx86 and Power.  Also updated to use this_cpu_ptr() instead of per_cpu_ptr(),\nas suggested by Peter Zijlstra.\n\nReported-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nReviewed-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\n"
    },
    {
      "commit": "fae4b54f28f034d228fa3bfc98858c698b64e89c",
      "tree": "1259258956ba9d30eba6360083214e145ec19813",
      "parents": [
        "37e377d2823e03528cb64f435d7c0e30b1c668eb"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Feb 20 17:51:45 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Mon Apr 30 10:48:18 2012 -0700"
      },
      "message": "rcu: Introduce rcutorture testing for rcu_barrier()\n\nAlthough rcutorture does invoke rcu_barrier() and friends, it cannot\nreally be called a torture test given that it invokes them only once\nat the end of the test.  This commit therefore introduces heavy-duty\nrcutorture testing for rcu_barrier(), which may be carried out\nconcurrently with normal rcutorture testing.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "048a0e8f5e1d94c01a5fc70f5b2f2fd2f4527326",
      "tree": "3168a6b6b26942cc39113c434ae10f3f960b88d3",
      "parents": [
        "6d8133919bac4270883b24328500875a49e71b36"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Apr 26 10:52:27 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 26 12:28:03 2012 -0700"
      },
      "message": "timer: Fix mod_timer_pinned() header comment\n\nThe mod_timer_pinned() header comment states that it prevents timers\nfrom being migrated to a different CPU.  This is not the case, instead,\nit ensures that the timer is posted to the current CPU, but does nothing\nto prevent CPU-hotplug operations from migrating the timer.\n\nThis commit therefore brings the comment header into alignment with\nreality.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "79b9a75fb703b6a2670e46b9dc495af5bc7029b3",
      "tree": "30d7d74e4af8af8c8d8b7cb00cf54b292d12c68e",
      "parents": [
        "c57afe80db4e169135eb675acc2d241e26cc064e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 23 10:06:39 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 26 08:49:05 2012 -0700"
      },
      "message": "rcu: Add warning for RCU_FAST_NO_HZ timer firing\n\nRCU_FAST_NO_HZ uses a timer to limit the time that a CPU with callbacks\ncan remain in dyntick-idle mode.  This timer is cancelled when the CPU\nexits idle, and therefore should never fire.  However, if the timer\nwere migrated to some other CPU for whatever reason (1) the timer could\nactually fire and (2) firing on some other CPU would fail to wake up the\nCPU with callbacks, possibly resulting in sluggishness or a system hang.\n\nThis commit therfore adds a WARN_ON_ONCE() to the timer handler in order\nto detect this condition.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "37e377d2823e03528cb64f435d7c0e30b1c668eb",
      "tree": "4cad4e769f6e244886649001a91de85a3a2c80ce",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Feb 17 22:12:18 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:55:39 2012 -0700"
      },
      "message": "rcu: Fixes to rcutorture error handling and cleanup\n\nThe rcutorture initialization code ignored the error returns from\nrcu_torture_onoff_init() and rcu_torture_stall_init().  The rcutorture\ncleanup code failed to NULL out a number of pointers.  These bugs will\nnormally have no effect, but this commit fixes them nevertheless.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "c57afe80db4e169135eb675acc2d241e26cc064e",
      "tree": "ec011600725a2884efdca6f4c187ea7e3fa4d277",
      "parents": [
        "2ee3dc80660ac8285a37e662fd91b2e45c46f06a"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Feb 28 11:02:21 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:55:20 2012 -0700"
      },
      "message": "rcu: Make RCU_FAST_NO_HZ account for pauses out of idle\n\nBoth Steven Rostedt\u0027s new idle-capable trace macros and the RCU_NONIDLE()\nmacro can cause RCU to momentarily pause out of idle without the rest\nof the system being involved.  This can cause rcu_prepare_for_idle()\nto run through its state machine too quickly, which can in turn result\nin needless scheduling-clock interrupts.\n\nThis commit therefore adds code to enable rcu_prepare_for_idle() to\ndistinguish between an initial entry to idle on the one hand (which needs\nto advance the rcu_prepare_for_idle() state machine) and an idle reentry\ndue to idle-capable trace macros and RCU_NONIDLE() on the other hand\n(which should avoid advancing the rcu_prepare_for_idle() state machine).\nAdditional state is maintained to allow the timer to be correctly reposted\nwhen returning after a momentary pause out of idle, and even more state\nis maintained to detect when new non-lazy callbacks have been enqueued\n(which may require re-evaluation of the approach to idleness).\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2ee3dc80660ac8285a37e662fd91b2e45c46f06a",
      "tree": "d6fcd186eabf672b7bc54bd2f04f1f7956f8afe1",
      "parents": [
        "2fdbb31b662787f78bb78b3e4e18f1a072058ffc"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 23 17:13:19 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:55:19 2012 -0700"
      },
      "message": "rcu: Make RCU_FAST_NO_HZ use timer rather than hrtimer\n\nThe RCU_FAST_NO_HZ facility uses an hrtimer to wake up a CPU when\nit is allowed to go into dyntick-idle mode, which is almost always\ncancelled soon after.  This is not what hrtimers are good at, so\nthis commit switches to the timer wheel.\n\nReported-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "2fdbb31b662787f78bb78b3e4e18f1a072058ffc",
      "tree": "c8dbe70ab53102acf7f802eb50c5262c82cd45aa",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 23 15:58:29 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:55:19 2012 -0700"
      },
      "message": "rcu: Add RCU_FAST_NO_HZ tracing for idle exit\n\nTraces of rcu_prep_idle events can be confusing because\nrcu_cleanup_after_idle() does no tracing.  This commit therefore adds\nthis tracing.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "6d8133919bac4270883b24328500875a49e71b36",
      "tree": "eae66c4640e429446ef254e468fafb9ceadb142b",
      "parents": [
        "dabb8aa96020bde8359bc73e76c484dd7ff9b7f2"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Feb 23 13:30:16 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:53 2012 -0700"
      },
      "message": "rcu: Document why rcu_blocking_is_gp() is safe\n\nThe rcu_blocking_is_gp() function tests to see if there is only one\nonline CPU, and if so, synchronize_sched() and friends become no-ops.\nHowever, for larger systems, num_online_cpus() scans a large vector,\nand might be preempted while doing so.  While preempted, any number\nof CPUs might come online and go offline, potentially resulting in\nnum_online_cpus() returning 1 when there never had only been one\nCPU online.  This could result in a too-short RCU grace period, which\ncould in turn result in total failure, except that the only way that\nthe grace period is too short is if there is an RCU read-side critical\nsection spanning it.  For RCU-sched and RCU-bh (which are the only\ncases using rcu_blocking_is_gp()), RCU read-side critical sections\nhave either preemption or bh disabled, which prevents CPUs from going\noffline.  This in turn prevents actual failures from occurring.\n\nThis commit therefore adds a large block comment to rcu_blocking_is_gp()\ndocumenting why it is safe.  This commit also moves rcu_blocking_is_gp()\ninto kernel/rcutree.c, which should help prevent unwary developers from\nmistaking it for a generally useful function.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "dabb8aa96020bde8359bc73e76c484dd7ff9b7f2",
      "tree": "75da355f3e9eb331e381ac1c6b0a641bd1768608",
      "parents": [
        "8932a63d5edb02f714d50c26583152fe0a97a69c"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Mon Apr 23 10:54:45 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:53 2012 -0700"
      },
      "message": "rcu: Document kernel command-line parameters\n\nBring RCU\u0027s kernel command-line parameter documentation up to date.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "8932a63d5edb02f714d50c26583152fe0a97a69c",
      "tree": "ec71159908f1a78eb21e736d284ffe7ed7584b6c",
      "parents": [
        "d8169d4c369e8aa2fda10df705a4957331b5a4db"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Apr 19 12:20:14 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:52 2012 -0700"
      },
      "message": "rcu: Reduce cache-miss initialization latencies for large systems\n\nCommit #0209f649 (rcu: limit rcu_node leaf-level fanout) set an upper\nlimit of 16 on the leaf-level fanout for the rcu_node tree.  This was\nneeded to reduce lock contention that was induced by the synchronization\nof scheduling-clock interrupts, which was in turn needed to improve\nenergy efficiency for moderate-sized lightly loaded servers.\n\nHowever, reducing the leaf-level fanout means that there are more\nleaf-level rcu_node structures in the tree, which in turn means that\nRCU\u0027s grace-period initialization incurs more cache misses.  This is\nnot a problem on moderate-sized servers with only a few tens of CPUs,\nbut becomes a major source of real-time latency spikes on systems with\nmany hundreds of CPUs.  In addition, the workloads running on these large\nsystems tend to be CPU-bound, which eliminates the energy-efficiency\nadvantages of synchronizing scheduling-clock interrupts.  Therefore,\nthese systems need maximal values for the rcu_node leaf-level fanout.\n\nThis commit addresses this problem by introducing a new kernel parameter\nnamed RCU_FANOUT_LEAF that directly controls the leaf-level fanout.\nThis parameter defaults to 16 to handle the common case of a moderate\nsized lightly loaded servers, but may be set higher on larger systems.\n\nReported-by: Mike Galbraith \u003cefault@gmx.de\u003e\nReported-by: Dimitri Sivanich \u003csivanich@sgi.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "d8169d4c369e8aa2fda10df705a4957331b5a4db",
      "tree": "ce8a08d5bd1a58f5e4703f39b2cc2033a8b03994",
      "parents": [
        "c9336643e1440f4dfc89ad4ac6185813619abb8c"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Thu Apr 19 11:44:39 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:51 2012 -0700"
      },
      "message": "rcu: Make __kfree_rcu() less dependent on compiler choices\n\nCurrently, __kfree_rcu() is implemented as an inline function, and\ncontains a BUILD_BUG_ON() that malfunctions if __kfree_rcu() is compiled\nas an out-of-line function.  Unfortunately, there are compiler settings\n(e.g., -O0) that can result in __kfree_rcu() being compiled out of line,\nresulting in annoying build breakage.  This commit therefore converts\nboth __kfree_rcu() and __is_kfree_rcu_offset() from inline functions to\nmacros to prevent such misbehavior on the part of the compiler.\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "c9336643e1440f4dfc89ad4ac6185813619abb8c",
      "tree": "1a32e3f08548a4b55cd2ec93b240c11a361e74ca",
      "parents": [
        "f88022a4f650ac1778cafcc17d2e522283bdf590"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Apr 18 16:20:18 2012 -0700"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:50 2012 -0700"
      },
      "message": "rcu: Clarify help text for RCU_BOOST_PRIO\n\nThe old text confused real-time applications with real-time threads, so\nthat you pretty much needed to understand how this kernel configuration\nparameter worked to understand the help text.  This commit therefore\nattempts to make the help text human-readable.\n\nReported-by: Jörn Engel \u003cjoern@purestorage.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "f88022a4f650ac1778cafcc17d2e522283bdf590",
      "tree": "650a2185c949330002bb4dce090f3257f2779ee6",
      "parents": [
        "559f9badd11ddf399f88b18b4c0f110fd511ae53"
      ],
      "author": {
        "name": "Michel Machado",
        "email": "michel@digirati.com.br",
        "time": "Tue Apr 10 14:07:40 2012 -0400"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:49 2012 -0700"
      },
      "message": "rcu: Replace list_first_entry_rcu() with list_first_or_null_rcu()\n\nThe list_first_entry_rcu() macro is inherently unsafe because it cannot\nbe applied to an empty list.  But because RCU readers do not exclude\nupdaters, a list might become empty between the time that list_empty()\nclaimed it was non-empty and the time that list_first_entry_rcu() is\ninvoked.  Therefore, the list_empty() test cannot be separated from the\nlist_first_entry_rcu() call.  This commit therefore combines these to\nmacros to create a new list_first_or_null_rcu() macro that replaces\nthe old (and unsafe) list_first_entry_rcu() macro.\n\nThis patch incorporates Paul\u0027s review comments on the previous version of\nthis patch available here:\n\nhttps://lkml.org/lkml/2012/4/2/536\n\nThis patch cannot break any upstream code because list_first_entry_rcu()\nis not being used anywhere in the kernel (tested with grep(1)), and any\nexternal code using it is probably broken as a result of using it.\n\nSigned-off-by: Michel Machado \u003cmichel@digirati.com.br\u003e\nCC: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCC: Dipankar Sarma \u003cdipankar@in.ibm.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "559f9badd11ddf399f88b18b4c0f110fd511ae53",
      "tree": "443f8c575362e19c01c07173c82b0fc3763ebc50",
      "parents": [
        "66f75a5d028beaf67c931435fdc3e7823125730c"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Wed Mar 14 22:17:39 2012 -0400"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Apr 24 20:54:49 2012 -0700"
      },
      "message": "rcu: List-debug variants of rcu list routines.\n\n* Make __list_add_rcu check the next-\u003eprev and prev-\u003enext pointers\n  just like __list_add does.\n* Make list_del_rcu use __list_del_entry, which does the same checking\n  at deletion time.\n\nHas been running for a week here without anything being tripped up,\nbut it seems worth adding for completeness just in case something\never does corrupt those lists.\n\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "66f75a5d028beaf67c931435fdc3e7823125730c",
      "tree": "f012c28e447ce6b960cb4b9755977d2ec365d83e",
      "parents": [
        "e9a5ea1852cd8d7e155d2e3a45e4a6ea25110f7d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 14:47:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 14:47:52 2012 -0700"
      },
      "message": "Linux 3.4-rc4\n"
    },
    {
      "commit": "e9a5ea1852cd8d7e155d2e3a45e4a6ea25110f7d",
      "tree": "105afb0311f8e1365c83c2b189479a89f6a0e5af",
      "parents": [
        "8f4f9d4d3cb84686a75f6195b8f8705376763fc7"
      ],
      "author": {
        "name": "Yong Zhang",
        "email": "yong.zhang@windriver.com",
        "time": "Thu Apr 19 20:28:32 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 21 16:35:06 2012 -0400"
      },
      "message": "sparc32,leon: add notify_cpu_starting()\n\nOtherwise cpu_active_mask will not set, which lead to other issue.\n\nSigned-off-by: Yong Zhang \u003cyong.zhang0@gmail.com\u003e\nSigned-off-by: Konrad Eisele \u003ckonrad@gaisler.com\u003e\nReviewed-by: Srivatsa S. Bhat \u003csrivatsa.bhat@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f4f9d4d3cb84686a75f6195b8f8705376763fc7",
      "tree": "ad54f9636ddc36d6033ef29be33b7ecf711c88b1",
      "parents": [
        "126a3483d6e3c3370a2c7976073a0f4a5c942318",
        "6842d4c2a980ce821cb20562f8df85bfcfd02012"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:45:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:45:52 2012 -0700"
      },
      "message": "Merge tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nPull \"ARM: SoC fixes\" from Olof Johansson:\n * at91, ux500, imx, omap and bcmring:\n  - at91 fixes for \u003dm driver build issues, irqdomain fixes and config\n    dependency fixes\n  - ux500 kconfig dependency fixes and a  smp wakeup bugfix\n  - imx idle bugfix and build fix due to irq domain changes\n  - omap uart pinmux fixes, softreset regression revert and misc fixes\n  - bcmring build error regression fix\n\n * ux500 and imx had some small defconfig updates in this branch\n\n* tag \u0027fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (27 commits)\n  ARM: bcmring: fix UART declarations\n  ARM: imx: Fix imx5 idle logic bug\n  ARM: imx27-dt: Fix build due to removal of irq_domain_add_simple()\n  ARM: imx_v4_v5_defconfig: Add support for CONFIG_REGULATOR_FIXED_VOLTAGE\n  ARM: OMAP1: DMTIMER: fix broken timer clock source selection\n  ARM: OMAP: serial: Fix the ocp smart idlemode handling bug\n  ARM: OMAP2+: UART: Fix incorrect population of default uart pads\n  ARM: OMAP: sram: fix BUG in dpll code for !PM case\n  dmaengine: Kconfig: fix Atmel at_hdmac entry\n  USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt\n  USB: ohci-at91: change annotations for probe/remove functions\n  leds-atmel-pwm.c: Make pwmled_probe() __devinit\n  ARM: at91: fix at91sam9261ek Ethernet dm9000 irq\n  ARM: at91: fix rm9200ek flash size\n  ARM: at91: remove empty at91_init_serial function\n  ARM: at91: fix typo in at91_pmc_base assembly declaration\n  ARM: at91: Export at91_matrix_base\n  ARM: at91: Export at91_pmc_base\n  ARM: at91: Export at91_ramc_base\n  ARM: at91: Export at91_st_base\n  ...\n"
    },
    {
      "commit": "126a3483d6e3c3370a2c7976073a0f4a5c942318",
      "tree": "1c176fe1ed331b93463440c50c249a9eb7ef2496",
      "parents": [
        "8898159650093e9eee8829e30a9139b4273a0ac4",
        "7c5709194096beea1ab6e6db46768d70a068efb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:44:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:44:37 2012 -0700"
      },
      "message": "Merge tag \u0027mmc-fixes-for-3.4-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\nPull MMC fixes from Chris Ball:\n - Build fix for omap_hsmmc with OF against 3.4-rc1.\n - Fix CONFIG_MMC_UNSAFE_RESUME semantics regression against 3.3, which\n   broke hotplug card detection when UNSAFE_RESUME is set.\n - Fix a race condition in omap_hsmmc with runtime PM.\n - Fix two libertas SDIO-powered-resume regressions.\n - Small fixes for discard/sanitize, dw_mmc, cd-gpio and esdhc-imx.\n\n* tag \u0027mmc-fixes-for-3.4-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: core: Do not pre-claim host in suspend\n  mmc: dw_mmc: prevent NULL dereference for dma_ops\n  mmc: unbreak sdhci-esdhc-imx on i.MX25\n  mmc: cd-gpio: Include header to pickup exported symbol prototypes\n  mmc: sdhci: refine non-removable card checking for card detection\n  mmc: dw_mmc: Fix switch from DMA to PIO\n  mmc: remove MMC bus legacy suspend/resume method\n  mmc: omap_hsmmc: Get rid of of_have_populated_dt() usage\n  mmc: omap_hsmmc: build fix for CONFIG_OF\u003dy and CONFIG_MMC_OMAP_HS\u003dm\n  mmc: fixes for eMMC v4.5 sanitize operation\n  mmc: fixes for eMMC v4.5 discard operation\n"
    },
    {
      "commit": "8898159650093e9eee8829e30a9139b4273a0ac4",
      "tree": "46c5d9660416d790951153ffd8ca1446a53e96dd",
      "parents": [
        "9f24ff6f4236f117729bdb2fe8b0c202ce86098f",
        "e631f578048e2afd8bfede2e9dc86aa4592def3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:43:23 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:43:23 2012 -0700"
      },
      "message": "Merge branch \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media\n\nPull media fixes from Mauro Carvalho Chehab:\n - Fixes a regression at DVB core when switching from DVB-S2 to DVB-S on\n   Kaffeine (Fedora 16 Bugzilla #812895);\n - Fixes a mutex unlock at an error condition at drx-k;\n - Fix winbond-cir set mode;\n - mt9m032: Fix a compilation breakage with some random Kconfig;\n - mt9m032: fix two dead locks;\n - xc5000: don\u0027t require an special firmware (that won\u0027t be provided by\n   the vendor) just because the xtal frequency is different;\n - V4L DocBook: fix some typos at multi-plane formats description.\n\n* \u0027v4l_for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:\n  [media] xc5000: support 32MHz \u0026 31.875MHz xtal using the 41.024.5 firmware\n  [media] V4L: mt9m032: fix compilation breakage\n  [media] V4L: DocBook: Fix typos in the multi-plane formats description\n  [media] V4L: mt9m032: fix two dead-locks\n  [media] rc-core: set mode for winbond-cir\n  [media] drxk: Does not unlock mutex if sanity check failed in scu_command()\n  [media] dvb_frontend: Fix a regression when switching back to DVB-S\n"
    },
    {
      "commit": "9f24ff6f4236f117729bdb2fe8b0c202ce86098f",
      "tree": "103ac64430efbb0340940fa95d5ad336b29b01de",
      "parents": [
        "bfce281c287a427d0841fadf5d59242757b4e620",
        "82ea267f7dc853a5e6a724916a70a10656efdfc2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:42:12 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 21 12:42:12 2012 -0700"
      },
      "message": "Merge tag \u0027mfd-for-linus-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6\n\nPull MFD fixes from Samuel Ortiz:\n \"We have 3 build fixes, a OMAP USB host PHY reset fix and the twl6040\n  conversion to an i2c driver.  The latter may not sound like a fix but\n  the twl6040 MFD driver won\u0027t probe without it, triggering an OMAP4\n  audio regression.\"\n\n* tag \u0027mfd-for-linus-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:\n  mfd: Fix modular builds of rc5t583 regulator support\n  mfd: Fix asic3_gpio_to_irq\n  ARM: OMAP3: USB: Fix the EHCI ULPI PHY reset issue\n  mfd: Convert twl6040 to i2c driver, and separate it from twl core\n  mfd : Fix dbx500 compilation error\n"
    },
    {
      "commit": "bfce281c287a427d0841fadf5d59242757b4e620",
      "tree": "abca9ebeef4c668021e85e4d54e6e779121e92cc",
      "parents": [
        "9f3a4afb276e4d8b3be7f3e678d4dbd11470416f"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 20 21:57:04 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 21 01:58:20 2012 -0400"
      },
      "message": "kill mm argument of vm_munmap()\n\nit\u0027s always current-\u003emm\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "9f3a4afb276e4d8b3be7f3e678d4dbd11470416f",
      "tree": "2f6587084a9e1356791d3db60e5e3018a93a5d9b",
      "parents": [
        "936af1576e4c24b466380fc2b8d93352161d13b0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 20 21:53:35 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 21 01:58:18 2012 -0400"
      },
      "message": "perfmon: kill some helpers and arguments\n\npfm_vm_munmap() is simply vm_munmap() and pfm_remove_smpl_mapping()\nalways get current as the first argument.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "936af1576e4c24b466380fc2b8d93352161d13b0",
      "tree": "b7ecc2a4706ab25b0d06af7bac5fdf5d0fc7acb5",
      "parents": [
        "6be5ceb02e98eaf6cfc4f8b12a896d04023f340d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Fri Apr 20 21:49:41 2012 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Apr 21 01:58:16 2012 -0400"
      },
      "message": "aio: don\u0027t bother with unmapping when aio_free_ring() is coming from exit_aio()\n\n... since exit_mmap() is coming and it will munmap() everything anyway.\nIn all other cases aio_free_ring() has ctx-\u003emm \u003d\u003d current-\u003emm; moreover,\nall other callers of vm_munmap() have mm \u003d\u003d current-\u003emm, so this will\nallow us to get rid of mm argument of vm_munmap().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "7c5709194096beea1ab6e6db46768d70a068efb0",
      "tree": "4f41be93cdcbaaeb32869c1a1e5e60f3597a6261",
      "parents": [
        "e1631f989e0c6c8d9b43a2dbdd1097f70da603a5"
      ],
      "author": {
        "name": "Ulf Hansson",
        "email": "ulf.hansson@stericsson.com",
        "time": "Thu Apr 19 11:55:25 2012 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 21:52:13 2012 -0400"
      },
      "message": "mmc: core: Do not pre-claim host in suspend\n\nSince SDIO drivers may want to do some SDIO operations in their suspend\ncallback functions, we must not keep the host claimed when calling them.\n\nDaniel Drake reported that libertas_sdio encountered a deadlock in its\nsuspend function.\n\nSigned-off-by: Ulf Hansson \u003culf.hansson@stericsson.com\u003e\nTested-by: Daniel Drake \u003cdsd@laptop.org\u003e\n[stable@: please apply to 3.2-stable and 3.3-stable]\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e1631f989e0c6c8d9b43a2dbdd1097f70da603a5",
      "tree": "4b258ea786edda6cc9903319459143cc10d50775",
      "parents": [
        "b89152824f993a9572b47eb31f4579feadeac34c"
      ],
      "author": {
        "name": "Jaehoon Chung",
        "email": "jh80.chung@samsung.com",
        "time": "Wed Apr 18 15:42:31 2012 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 21:52:05 2012 -0400"
      },
      "message": "mmc: dw_mmc: prevent NULL dereference for dma_ops\n\nNow, dma_ops is assumed that use the IDMAC.  But if dma_ops is assigned\nthe pdata-\u003edma_ops, we didn\u0027t ensure that callback function is defined.\n\nIf the callback isn\u0027t defined, then we should run in PIO mode.\n\nSigned-off-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nAcked-by: Will Newton \u003cwill.newton@imgtec.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b89152824f993a9572b47eb31f4579feadeac34c",
      "tree": "65f6369363c6305a1c203a57ea3a10174a23996d",
      "parents": [
        "5ca6518832ac913ac277b50ceddda8372dbf7bea"
      ],
      "author": {
        "name": "Eric Bénard",
        "email": "eric@eukrea.com",
        "time": "Wed Apr 18 02:30:20 2012 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:45:00 2012 -0400"
      },
      "message": "mmc: unbreak sdhci-esdhc-imx on i.MX25\n\nThis was broken by me in 37865fe91582582a6f6c00652f6a2b1ff71f8a78\n(\"mmc: sdhci-esdhc-imx: fix timeout on i.MX\u0027s sdhci\") where more\nextensive tests would have shown that read or write of data to the\ncard were failing (even if the partition table was correctly read).\n\nSigned-off-by: Eric Bénard \u003ceric@eukrea.com\u003e\nAcked-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "5ca6518832ac913ac277b50ceddda8372dbf7bea",
      "tree": "1b28f40c73312b2322046a4f0a9fd6ba4ca0e35a",
      "parents": [
        "87b87a3fc0eec58d95e4216392f889a26439ad22"
      ],
      "author": {
        "name": "H Hartley Sweeten",
        "email": "hartleys@visionengravers.com",
        "time": "Tue Apr 17 13:03:38 2012 -0700"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:45:00 2012 -0400"
      },
      "message": "mmc: cd-gpio: Include header to pickup exported symbol prototypes\n\nInclude the linux/mmc/cd-gpio.h header to pickup the prototypes\nfor the two exported symbols.\n\nThis quiets the sparse warnings:\n\nwarning: symbol \u0027mmc_cd_gpio_request\u0027 was not declared. Should it be static?\nwarning: symbol \u0027mmc_cd_gpio_free\u0027 was not declared. Should it be static?\n\nSigned-off-by: H Hartley Sweeten \u003chsweeten@visionengravers.com\u003e\nAcked-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Venkatraman S \u003csvenkatr@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "87b87a3fc0eec58d95e4216392f889a26439ad22",
      "tree": "a421538909a9649bdb595fc74c6dbe664432a247",
      "parents": [
        "a99aa9b9b4f4f3e496d17a1b4e0ff63fb0c9f31d"
      ],
      "author": {
        "name": "Daniel Drake",
        "email": "dsd@laptop.org",
        "time": "Tue Apr 10 00:14:20 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:44:25 2012 -0400"
      },
      "message": "mmc: sdhci: refine non-removable card checking for card detection\n\nCommit c79396c191bc19 (\"mmc: sdhci: prevent card detection activity\nfor non-removable cards\") disables card detection where the cards\nare marked as non-removable.\n\nThis makes sense, but the implementation detail of calling\nmmc_card_is_removable() causes some problems, because\nmmc_card_is_removable() is overloaded with CONFIG_MMC_UNSAFE_RESUME\nsemantics.\n\nIn the OLPC XO case, we need CONFIG_MMC_UNSAFE_RESUME because our root\nfilesystem is stored on SD, but we also have external SD card slots\nwhere we want automatic card detection.\n\nRefine the check to only apply to hosts marked as MMC_CAP_NONREMOVABLE,\nwhich is defined to mean that the card is *really* nonremovable. This\ncould be revisited in future if we find a way to improve\nCONFIG_MMC_UNSAFE_RESUME semantics.\n\nSigned-off-by: Daniel Drake \u003cdsd@laptop.org\u003e\nAcked-by: Chuanxiao Dong \u003cchuanxiao.dong@intel.com\u003e\n[stable@: please apply to 3.3-stable]\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "a99aa9b9b4f4f3e496d17a1b4e0ff63fb0c9f31d",
      "tree": "d3d7bb12cbabce20789671d07055e305b8138c1a",
      "parents": [
        "32d317c60e56c2a34463b51fc0336cc96b3e1735"
      ],
      "author": {
        "name": "Seungwon Jeon",
        "email": "tgih.jun@samsung.com",
        "time": "Tue Apr 10 09:53:32 2012 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:30:37 2012 -0400"
      },
      "message": "mmc: dw_mmc: Fix switch from DMA to PIO\n\nWhen dw_mci_pre_dma_transfer returns failure in some reasons,\ndw_mci_submit_data will prepare to switch the PIO mode from DMA.\nAfter switching to PIO mode, DMA(IDMAC in particular) is still\nenabled. This makes the corruption in handling interrupt and\nthe driver lock-up.\n\nSigned-off-by: Seungwon Jeon \u003ctgih.jun@samsung.com\u003e\nAcked-by: Will Newton \u003cwill.newton@imgtec.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "32d317c60e56c2a34463b51fc0336cc96b3e1735",
      "tree": "170c8d9ee71358a242fa1f7edb3fa073714eaacc",
      "parents": [
        "4d048f915f32c8455605b106aa0de2cf68a71903"
      ],
      "author": {
        "name": "Chuanxiao Dong",
        "email": "chuanxiao.dong@intel.com",
        "time": "Wed Apr 11 19:54:38 2012 +0800"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:30:19 2012 -0400"
      },
      "message": "mmc: remove MMC bus legacy suspend/resume method\n\nMMC bus is using legacy suspend/resume method, which is not compatible if\nruntime pm callbacks are used. In this scenario, MMC bus suspend/resume\ncallbacks cannot be called when system entering S3. So change to use the\nnew defined dev_pm_ops for system sleeping mode.\n\nTested on AM335x Platform. Solves major issue/crash reported at\nhttp://www.mail-archive.com/linux-omap@vger.kernel.org/msg65425.html\n\nSigned-off-by: Chuanxiao Dong \u003cchuanxiao.dong@intel.com\u003e\nTested-by: Hebbar, Gururaja \u003cgururaja.hebbar@ti.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nAcked-by: Ulf Hansson \u003culf.hansson@stericsson.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "6be5ceb02e98eaf6cfc4f8b12a896d04023f340d",
      "tree": "f34de1392300bbf63549f4eeb20f7606d6f7b1f9",
      "parents": [
        "a46ef99d80817a167477ed1c8b4d90ee0c2e726f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:13:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:29:13 2012 -0700"
      },
      "message": "VM: add \"vm_mmap()\" helper function\n\nThis continues the theme started with vm_brk() and vm_munmap():\nvm_mmap() does the same thing as do_mmap(), but additionally does the\nrequired VM locking.\n\nThis uninlines (and rewrites it to be clearer) do_mmap(), which sadly\nduplicates it in mm/mmap.c and mm/nommu.c.  But that way we don\u0027t have\nto export our internal do_mmap_pgoff() function.\n\nSome day we hopefully don\u0027t have to export do_mmap() either, if all\nmodular users can become the simpler vm_mmap() instead.  We\u0027re actually\nvery close to that already, with the notable exception of the (broken)\nuse in i810, and a couple of stragglers in binfmt_elf.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a46ef99d80817a167477ed1c8b4d90ee0c2e726f",
      "tree": "3d8c980c627e8b9c009dbf63628a9be8b8d1069f",
      "parents": [
        "e4eb1ff61b323d6141614e5458a1f53c7046ff8e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 16:20:01 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:29:13 2012 -0700"
      },
      "message": "VM: add \"vm_munmap()\" helper function\n\nLike the vm_brk() function, this is the same as \"do_munmap()\", except it\ndoes the VM locking for the caller.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d048f915f32c8455605b106aa0de2cf68a71903",
      "tree": "76ed575eb8785d6c23e429b8b253adfb04ff2004",
      "parents": [
        "b6d085f6f59108508c1eea9c5251deb765350c50"
      ],
      "author": {
        "name": "Rajendra Nayak",
        "email": "rnayak@ti.com",
        "time": "Wed Apr 11 15:33:13 2012 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:29:08 2012 -0400"
      },
      "message": "mmc: omap_hsmmc: Get rid of of_have_populated_dt() usage\n\nof_have_populated_dt() is not expected to be used in drivers but\ninstead only in early platform init code.\nDrivers on the other hand should rely on dev-\u003eof_node or of_match_device().\nBesides usage of of_have_populated_dt() also throws up build error as below\nwhich was reported by Balaji TK, when omap_hsmmc is built as a module.\n\nERROR: \"allnodes\" [drivers/mmc/host/omap_hsmmc.ko] undefined!\nmake[1]: *** [__modpost] Error 1\nmake: *** [modules] Error 2\n\nSo get rid of all of_have_populated_dt() usage in omap_hsmmc driver and\ninstead use dev-\u003eof_node to make the same dicisions as earlier.\n\nSigned-off-by: Rajendra Nayak \u003crnayak@ti.com\u003e\nReported-by: Benoit Cousson \u003cb-cousson@ti.com\u003e\nCc: Sebastian Andrzej Siewior \u003cbigeasy@linutronix.de\u003e\nAcked-by: Rob Herring \u003crob.herring@calxeda.com\u003e\nReviewed-by: Balaji T K \u003cbalajitk@ti.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "b6d085f6f59108508c1eea9c5251deb765350c50",
      "tree": "065924315671001eb28fe06ada7b60a205546912",
      "parents": [
        "283028122db37621b124f079ca8eae5b64807ad4"
      ],
      "author": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Tue Apr 10 09:57:36 2012 -0400"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:29:05 2012 -0400"
      },
      "message": "mmc: omap_hsmmc: build fix for CONFIG_OF\u003dy and CONFIG_MMC_OMAP_HS\u003dm\n\nCommit 46856a68dc (\"mmc: omap_hsmmc: Convert hsmmc driver to use device tree\")\nintroduced in 3.4-rc1 has a missing semi-colon, causing:\n\ndrivers/mmc/host/omap_hsmmc.c:1745: error: expected \u0027,\u0027 or \u0027;\u0027 before \u0027extern\u0027\n\nReported-by: Russell King \u003clinux@arm.linux.org.uk\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "283028122db37621b124f079ca8eae5b64807ad4",
      "tree": "54ffa48017525a2df2acd3404e43490c88b6c49a",
      "parents": [
        "7194efb8f063ee3aa0cb50d9002348887e68ec10"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Thu Apr 05 14:45:48 2012 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:28:58 2012 -0400"
      },
      "message": "mmc: fixes for eMMC v4.5 sanitize operation\n\neMMC v4.5 sanitize operation erases all copies of unmapped\ndata.  However trim or erase operations must be used first\nto unmap the required sectors.  That was not being done.\n\nFixes apply to linux 3.2 on.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nAcked-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "7194efb8f063ee3aa0cb50d9002348887e68ec10",
      "tree": "0802a06a24a1937858a60ee1596f622efc9f1330",
      "parents": [
        "3b422e9c2c020a1137349c614da7f9c9761a0922"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Thu Apr 05 14:45:47 2012 +0300"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Fri Apr 20 20:28:55 2012 -0400"
      },
      "message": "mmc: fixes for eMMC v4.5 discard operation\n\neMMC v4.5 discard operation is significantly different from the\nexisting trim operation because it is not guaranteed to work with\nthe new sanitize operation.  Consequently mmc_can_trim() is\nseparated from mmc_can_discard().\n\nAlso the new discard operation does not result in the sectors being\nset to all-zeros, so discard_zeroes_data must not be set.\n\nIn addition, the new discard has the same timeout as trim, but from\nv4.5 trim is defined to use the hc timeout.  The timeout calculation\nis adjusted accordingly.\n\nFixes apply to linux 3.2 on.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nAcked-by: Jaehoon Chung \u003cjh80.chung@samsung.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e4eb1ff61b323d6141614e5458a1f53c7046ff8e",
      "tree": "7a0251509c169b0df1a6bf4bc47c5bca709e06da",
      "parents": [
        "3b422e9c2c020a1137349c614da7f9c9761a0922"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 15:35:40 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 17:28:17 2012 -0700"
      },
      "message": "VM: add \"vm_brk()\" helper function\n\nIt does the same thing as \"do_brk()\", except it handles the VM locking\ntoo.\n\nIt turns out that all external callers want that anyway, so we can make\ndo_brk() static to just mm/mmap.c while at it.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3b422e9c2c020a1137349c614da7f9c9761a0922",
      "tree": "0bbcfa6ca3cbee25b1ef624d908704c2773d24dc",
      "parents": [
        "3a5374303923a543ff3e5f491030b21836d288f5",
        "f84cc342b1999db11ece939e1d2bf0743eb4578b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 12:28:06 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 12:28:06 2012 -0700"
      },
      "message": "Merge tag \u0027for-torvalds-20120418\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl\n\nPull pinctrl fixes from Linus Walleij:\n - Fixed compilation errors and warnings\n - Stricter checks on the ops vtable\n\n* tag \u0027for-torvalds-20120418\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:\n  pinctrl: implement pinctrl_check_ops\n  pinctrl: include \u003clinux/bug.h\u003e to prevent compile errors\n  pinctrl: fix compile error if not select PINMUX support\n"
    },
    {
      "commit": "3a5374303923a543ff3e5f491030b21836d288f5",
      "tree": "05664edf4a6f10bcb196c9e103eda60e8765334c",
      "parents": [
        "1cd653a665b08a3920e320a71b4ac5b80d36953c",
        "d3a7b83f865b46bb7b5e1ed18a129ce1af349db4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:40:43 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:40:43 2012 -0700"
      },
      "message": "Merge tag \u0027tty-3.4-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty\n\nPull 3 tiny tty bugfixes from Greg Kroah-Hartman.\n\n* tag \u0027tty-3.4-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:\n  drivers/tty/amiserial.c: add missing tty_unlock\n  pch_uart: Fix dma channel unallocated issue\n  ARM: clps711x: serial driver hungs are a result of call disable_irq within ISR\n"
    },
    {
      "commit": "1cd653a665b08a3920e320a71b4ac5b80d36953c",
      "tree": "f600a1885faeb16ddb54445235480ae56941a3e7",
      "parents": [
        "c1acb0ba330b3bcf4b110c4ae538f4f80b991fda",
        "2d5733fcd33dd451022d197cb6b476e970519ca7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:38:02 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:38:02 2012 -0700"
      },
      "message": "Merge tag \u0027usb-3.4-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb\n\nPull USB fixes from Greg Kroah-Hartman:\n \"Here are a number of tiny USB fixes for 3.4-rc4.\n\n  Most of them are in the USB gadget area, but a few other minor USB\n  driver and core fixes are here as well.\n\n  Signed-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\"\n\n* tag \u0027usb-3.4-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (36 commits)\n  USB: serial: cp210x: Fixed usb_control_msg timeout values\n  USB: ehci-tegra: don\u0027t call set_irq_flags(IRQF_VALID)\n  USB: yurex: Fix missing URB_NO_TRANSFER_DMA_MAP flag in urb\n  USB: yurex: Remove allocation of coherent buffer for setup-packet buffer\n  drivers/usb/misc/usbtest.c: add kfrees\n  USB: ehci-fsl: Fix kernel crash on mpc5121e\n  uwb: fix error handling\n  uwb: fix use of del_timer_sync() in interrupt\n  EHCI: always clear the STS_FLR status bit\n  EHCI: fix criterion for resuming the root hub\n  USB: sierra: avoid QMI/wwan interface on MC77xx\n  usb: usbtest: avoid integer overflow in alloc_sglist()\n  usb: usbtest: avoid integer overflow in test_ctrl_queue()\n  USB: fix deadlock in bConfigurationValue attribute method\n  usb: gadget: eliminate NULL pointer dereference (bugfix)\n  usb: gadget: uvc: Remove non-required locking from \u0027uvc_queue_next_buffer\u0027 routine\n  usb: gadget: rndis: fix Missing req-\u003econtext assignment\n  usb: musb: omap: fix the error check for pm_runtime_get_sync\n  usb: gadget: udc-core: fix asymmetric calls in remove_driver\n  usb: musb: omap: fix crash when musb glue (omap) gets initialized\n  ...\n"
    },
    {
      "commit": "c1acb0ba330b3bcf4b110c4ae538f4f80b991fda",
      "tree": "dd7d0de2f682b0e88c8636d1817f8f293cc76f5f",
      "parents": [
        "19244ad06b70ed84931df868583547ce1cd3a186",
        "3d81acb1cdb242378a1acb3eb1bc28c6bb5895f1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:31:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:31:00 2012 -0700"
      },
      "message": "Merge tag \u0027stable/for-linus-3.4-rc3-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nPull xen fixes from Konrad Rzeszutek Wilk:\n - mechanism to work with misconfigured backends (where they are\n   advertised but in reality don\u0027t exist).\n - two tiny compile warning fixes.\n - proper error handling in gnttab_resume\n - Not using VM_PFNMAP anymore to allow backends in the same domain.\n\n* tag \u0027stable/for-linus-3.4-rc3-tag\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  Revert \"xen/p2m: m2p_find_override: use list_for_each_entry_safe\"\n  xen/resume: Fix compile warnings.\n  xen/xenbus: Add quirk to deal with misconfigured backends.\n  xen/blkback: Fix warning error.\n  xen/p2m: m2p_find_override: use list_for_each_entry_safe\n  xen/gntdev: do not set VM_PFNMAP\n  xen/grant-table: add error-handling code on failure of gnttab_resume\n"
    },
    {
      "commit": "19244ad06b70ed84931df868583547ce1cd3a186",
      "tree": "5ebe6d43bd493f61492ff92fe957c7a44418fa8f",
      "parents": [
        "b3dc627cabb33fc95f93da78457770c1b2a364d2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:19:35 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:19:35 2012 -0700"
      },
      "message": "Revert \"ACPI: ignore FADT reset-reg-sup flag\"\n\nThis reverts commit cf450136bfde77c7f95065c91bffded4aa7fa731.\n\nIt breaks reboot on at least one Thinkpad T43, as reported by Jörg Otte:\n \"On reboot it shuts down as normal.\n  The last lines displayed are:\n\n  \u003eUnmounting temporary filesystems.. [OK]\n  \u003eDeactivating swap...               [OK]\n  \u003eUnmounting local filesystems...    [OK]\n  \u003eWill now restart\n  \u003e    Restarting system\n\n  Then I hear it accessing the cd-drive, but then it\u0027s being stuck.\"\n\nJörg bisected the regression to this commit.\n\nThat commit fixes another machine (see\n\n  https://bugzilla.kernel.org/show_bug.cgi?id\u003d11533\n\nfor details) that has a BIOS bug and doesn\u0027t support ACPI reset.\nHowever, at least one of those other reporters no longer even has the\nmachine in question, and had a different workaround to begin with.\nBesides, it clearly was a buggy BIOS.  Let\u0027s not break the correct case\nto fix that case.\n\nReported-and-bisected-by: Jörg Otte \u003cjrg.otte@googlemail.com\u003e\nCc: linux-acpi@vger.kernel.org\nCc: Len Brown \u003clenb@kernel.org\u003e\nCc: Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3dc627cabb33fc95f93da78457770c1b2a364d2",
      "tree": "e37cae7a574b808b6da48e4c93e81f170efce078",
      "parents": [
        "310eb776501af8412c570c4bcddc9ab5cecf3d7a"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Apr 20 08:31:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:18:46 2012 -0700"
      },
      "message": "memblock: memblock should be able to handle zero length operations\n\nCommit 24aa07882b (\"memblock, x86: Replace memblock_x86_reserve/\nfree_range() with generic ones\") replaced x86 specific memblock\noperations with the generic ones; unfortunately, it lost zero length\noperation handling in the process making the kernel panic if somebody\ntries to reserve zero length area.\n\nThere isn\u0027t much to be gained by being cranky to zero length operations\nand panicking is almost the worst response.  Drop the BUG_ON() in\nmemblock_reserve() and update memblock_add_region/isolate_range() so\nthat all zero length operations are handled as noops.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: stable@vger.kernel.org\nReported-by: Valere Monseur \u003cvalere.monseur@ymail.com\u003e\nBisected-by: Joseph Freeman \u003cjfree143dev@gmail.com\u003e\nTested-by: Joseph Freeman \u003cjfree143dev@gmail.com\u003e\nBugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\u003d43098\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "310eb776501af8412c570c4bcddc9ab5cecf3d7a",
      "tree": "26c205905566fabbae0559605c46df3efb086fb8",
      "parents": [
        "277b5fb35b770792f89fbe50df03daddb3fa9521",
        "1196573fe493aeeb826468157313ee84ffbc59f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:16:53 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:16:53 2012 -0700"
      },
      "message": "Merge tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging\n\nPyll hwmon fixes from Guenter Roeck:\n \"Two patches: Fix build warning in ads1015 driver, and fix bogus power\n  values with current BIOSes in fam15h_power driver.\"\n\n* tag \u0027hwmon-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:\n  hwmon: (ads1015) Fix build warning\n  hwmon: fam15h_power: fix bogus values with current BIOSes\n"
    },
    {
      "commit": "277b5fb35b770792f89fbe50df03daddb3fa9521",
      "tree": "1b5558cff414274bbc07d1df6ca7cd743df20c4c",
      "parents": [
        "a54769c505db4bdf01d19dca64d15cb303503d71",
        "511d63cb19329235bc9298b64010ec494b5e1408"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:14:58 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 11:14:58 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nPull crypto fixes from Herbert Xu:\n - Locking fix for talitos driver\n - Fix 64-bit counter overflow in SHA-512\n - Build fix for ixp4xx.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: talitos - properly lock access to global talitos registers\n  crypto: ixp4xx - include fix\n  crypto: sha512 - Fix byte counter overflow in SHA-512\n"
    },
    {
      "commit": "a54769c505db4bdf01d19dca64d15cb303503d71",
      "tree": "ad1c425e5a96962a5ded0740de75bab5e2e0dea1",
      "parents": [
        "73bebc8bafb6a880a4db63d60bc4b8d9d6879c9e",
        "c817eebec5971febab86d397582954bd52f403a8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 10:41:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 10:41:00 2012 -0700"
      },
      "message": "Merge tag \u0027sound-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nPull sound fixes from Takashi Iwai:\n \"Fixes for a few regressions of HD-audio, originated partly from 3.4\n  and partly 3.3.\n\n  The fixes for ThinkPad docking-station are for 3.3 kernels, thus they\n  are based on 3.3 then merged back to 3.4, so that they can be merged\n  to stable tree cleanly.  The non-trivial merge conflicts are because\n  of this action.\n\n  In addition, a couple of trivial fixes for documentation and a long-\n  standing issue in the listing of built-in sound driver at boot time.\"\n\n* tag \u0027sound-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ALSA: hda/conexant - Set up the missing docking-station pins\n  ALSA: hda/conexant - Don\u0027t set HP pin-control bit unconditionally\n  ALSA: workaround: change the timing of alsa_sound_last_init()\n  ALSA: hda/sigmatel - Fix inverted mute LED\n  ALSA: hda/realtek - Fix regression on Quanta/Gericom KN1\n  ALSA: fix core/vmaster.c kernel-doc warning\n"
    },
    {
      "commit": "73bebc8bafb6a880a4db63d60bc4b8d9d6879c9e",
      "tree": "94c107c369f0334b67649711d4b019abbb3e5382",
      "parents": [
        "edaf6c38344b026aec8be852bf7ddd9916eedf9e",
        "2198edddd8f0245d4c47419310c6cfb0f4e1a197"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 10:39:33 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 10:39:33 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid\n\nPull HID fixes from Jiri Kosina:\n \"Fix for one particular device (bluetooth Tivo Slide) and change of\n  \u0027default y\u0027 -\u003e \u0027default n\u0027 for CONFIG_HID_BATTERY_STRENGTH which I\n  overlooked in the initial merge of the battery support\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:\n  HID: default HID_BATTERY_STRENGTH to no\n  HID: tivo: fix support for bluetooth version of tivo Slide\n"
    },
    {
      "commit": "edaf6c38344b026aec8be852bf7ddd9916eedf9e",
      "tree": "f558196ccd4e5331f2fd71e9d4beb999730cbb8a",
      "parents": [
        "c6f5c93098f5577210f8f3ea22209b3f266c66af",
        "938ed25008d665d1dd937ca251d1aabb363113c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 10:38:08 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 20 10:38:08 2012 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu\n\nPull m68k arch fixes from Greg Ungerer:\n \"This contains four fixes for 3.4.  Two fix and clean up compilation\n  for the nommu 68x328 CPU targets.  The other two fix the platform\n  definition and multi-function pin setup of the second eth interface\n  on the ColdFire 5275 SoC.\"\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:\n  m68knommu: make sure 2nd FEC eth interface pins are enabled on 5275 ColdFire\n  m68knommu: fix id number for second eth device on 5275 ColdFire\n  m68knommu: move and fix the 68VZ328 platform bootlogo.h\n  m68knommu: remove the unused bootlogo.h processing for 68EZ328 and 68VZ328\n"
    },
    {
      "commit": "3d81acb1cdb242378a1acb3eb1bc28c6bb5895f1",
      "tree": "74a155c6e4e051cf7322168c7293fbee543131c2",
      "parents": [
        "186bab1ce04f99153b7eeb3348438b654c24c24b"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Apr 20 11:50:30 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Fri Apr 20 11:56:00 2012 -0400"
      },
      "message": "Revert \"xen/p2m: m2p_find_override: use list_for_each_entry_safe\"\n\nThis reverts commit b960d6c43a63ebd2d8518b328da3816b833ee8cc.\n\nIf we have another thread (very likely) touched the list, we\nend up hitting a problem \"that the next element is wrong because\nwe should be able to cope with that. The problem is that the\nnext-\u003enext pointer would be set LIST_POISON1. \" (Stefano\u0027s\ncomment on the patch).\n\nReverting for now.\n\nSuggested-by: Dan Carpenter \u003cdan.carpenter@oracle.com\u003e\nAcked-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "2d5733fcd33dd451022d197cb6b476e970519ca7",
      "tree": "353926a97842cc4c345081e9e9609802e8a32cd2",
      "parents": [
        "8034761c219ce545a9f4d3b23cfda47a0027cc8c"
      ],
      "author": {
        "name": "Yuri Matylitski",
        "email": "ym@tekinsoft.com",
        "time": "Fri Apr 20 12:38:32 2012 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Fri Apr 20 08:44:24 2012 -0700"
      },
      "message": "USB: serial: cp210x: Fixed usb_control_msg timeout values\n\nFixed too small hardcoded timeout values for usb_control_msg\nin driver for SiliconLabs cp210x-based usb-to-serial adapters.\nReplaced with USB_CTRL_GET_TIMEOUT/USB_CTRL_SET_TIMEOUT.\n\nSigned-off-by: Yuri Matylitski \u003cym@tekinsoft.com\u003e\nAcked-by: Kirill A. Shutemov \u003ckirill@shutemov.name\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "d3a7b83f865b46bb7b5e1ed18a129ce1af349db4",
      "tree": "92f4c1c7ca160b2788a27ae10e1b6c5fdfa64efc",
      "parents": [
        "af6d17cdc8c89aeb3101f0d27cd32fc0592b40b2"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "Julia.Lawall@lip6.fr",
        "time": "Thu Apr 19 18:12:40 2012 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@linuxfoundation.org",
        "time": "Thu Apr 19 19:15:35 2012 -0700"
      },
      "message": "drivers/tty/amiserial.c: add missing tty_unlock\n\ntty_unlock is used on all other exits from the function.\n\nSigned-off-by: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: Jiri Slaby \u003cjslaby@suse.cz\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n"
    },
    {
      "commit": "c6f5c93098f5577210f8f3ea22209b3f266c66af",
      "tree": "bc641dfb6f71b6584cedde4b6721ca716f8bf3d0",
      "parents": [
        "19853301ef3289bda2d5264c1093e74efddaeab9",
        "d22053cdbd914a6c97ea101adf411a8fd7e282ad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 19 14:54:52 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 19 14:54:52 2012 -0700"
      },
      "message": "Merge branch \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux\n\nPull nfsd bugfixes from J. Bruce Fields:\n \"One bugfix, and one minor header fix from Jeff Layton while we\u0027re\n  here\"\n\n* \u0027for-3.4\u0027 of git://linux-nfs.org/~bfields/linux:\n  nfsd: include cld.h in the headers_install target\n  nfsd: don\u0027t fail unchecked creates of non-special files\n"
    },
    {
      "commit": "e631f578048e2afd8bfede2e9dc86aa4592def3a",
      "tree": "bbcd566965133fc3cdade713acd967393aaeb8b3",
      "parents": [
        "18311c5395ca4d0c3fefa406da87a9d16efaca46"
      ],
      "author": {
        "name": "Michael Krufky",
        "email": "mkrufky@kernellabs.com",
        "time": "Mon Apr 16 14:59:32 2012 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Apr 19 16:13:15 2012 -0300"
      },
      "message": "[media] xc5000: support 32MHz \u0026 31.875MHz xtal using the 41.024.5 firmware\n\nRather than loading firmware specific for the xtal frequency, just use\nthe standard firmware and set the xtal frequency after firmware upload.\n\nThe modified firmware will never be released, so we\u0027re better off\nmerging this now rather than waiting for v3.5.\n\nSigned-off-by: Michael Krufky \u003cmkrufky@kernellabs.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "186bab1ce04f99153b7eeb3348438b654c24c24b",
      "tree": "824b57e459b848e0aef94ef98ecf79c4b5c93381",
      "parents": [
        "3066616ce23aad5719c23a0f21f32676402cb44b"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 17 14:35:49 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Apr 19 15:12:49 2012 -0400"
      },
      "message": "xen/resume: Fix compile warnings.\n\nlinux/drivers/xen/manage.c: In function \u0027do_suspend\u0027:\nlinux/drivers/xen/manage.c:160:5: warning: \u0027si.cancelled\u0027 may be used uninitialized in this function\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "19853301ef3289bda2d5264c1093e74efddaeab9",
      "tree": "494e340a7d7302b3331cebe51a6c4415889bff16",
      "parents": [
        "9e01297ee1ada71e621c8b58a80a28a421a00471",
        "273a50fbcd2d2c0652bbda58dd1985f932ce6d75"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 19 12:08:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 19 12:08:11 2012 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux\n\nPull drm fixes from Dave Airlie:\n \"It\u0027s like a grab bag of one liners:\n\n  - core: fix page flip error path, reorder object teardown.\n  - usb: fix the drm_usb module license.\n  - i915: VT switch on SNB with non-native modes fix, and a regression\n    fix from 3.3.\n  - radeon: missing unreserve on SI, AGP/VRAM setup fix (fixes radeon on\n    IA64, but its a generic bug), an rn50 regression from 3.3, turn off\n    MSIs on rv515 (it loses rearms every so often).\"\n\n* \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux:\n  nouveau: Set special lane map for the right chipset\n  drm/radeon: fix load detect on rn50 with hardcoded EDIDs.\n  drm: Releasing FBs before releasing GEM objects during drm_release\n  drm/nouveau/pm: don\u0027t read/write beyond end of stack buffer\n  drivers: gpu: drm: gma500: mdfld_dsi_output.h: Remove not unneeded include of version.h\n  radeon: fix r600/agp when vram is after AGP (v3)\n  drm: fix page_flip error handling\n  drm/radeon/kms: fix the regression of DVI connector check\n  drm/usb: fix module license on drm/usb layer.\n  drm/i915: Do not set \"Enable Panel Fitter\" on SNB pageflips\n  drm/i915: Hold mode_config lock whilst changing mode for lastclose()\n  drm/radeon/si: add missing radeon_bo_unreserve in si_rlc_init() v2\n  drm/radeon: disable MSI on RV515\n  drm/i915: don\u0027t clobber the special upscaling lvds timings\n"
    },
    {
      "commit": "18311c5395ca4d0c3fefa406da87a9d16efaca46",
      "tree": "fc8287206996d30f9239f4f8ab11706b583af73f",
      "parents": [
        "3bc86c624fe48864cd6e3738d5ff35d1fe31fa6c"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Wed Apr 18 03:59:01 2012 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Apr 19 15:39:07 2012 -0300"
      },
      "message": "[media] V4L: mt9m032: fix compilation breakage\n\nFix the following compilation failure:\n\nlinux-2.6/drivers/media/video/mt9m032.c: In function \u0027__mt9m032_get_pad_crop\u0027:\nlinux-2.6/drivers/media/video/mt9m032.c:337: error: implicit declaration of function \u0027v4l2_subdev_get_try_crop\u0027\nlinux-2.6/drivers/media/video/mt9m032.c:337: warning: return makes pointer from integer without a cast\nlinux-2.6/drivers/media/video/mt9m032.c: In function \u0027__mt9m032_get_pad_format\u0027:\nlinux-2.6/drivers/media/video/mt9m032.c:359: error: implicit declaration of function \u0027v4l2_subdev_get_try_format\u0027\nlinux-2.6/drivers/media/video/mt9m032.c:359: warning: return makes pointer from integer without a cast\nlinux-2.6/drivers/media/video/mt9m032.c: In function \u0027mt9m032_probe\u0027:\nlinux-2.6/drivers/media/video/mt9m032.c:767: error: \u0027struct v4l2_subdev\u0027 has no member named \u0027entity\u0027\nlinux-2.6/drivers/media/video/mt9m032.c:826: error: \u0027struct v4l2_subdev\u0027 has no member named \u0027entity\u0027\nlinux-2.6/drivers/media/video/mt9m032.c: In function \u0027mt9m032_remove\u0027:\nlinux-2.6/drivers/media/video/mt9m032.c:842: error: \u0027struct v4l2_subdev\u0027 has no member named \u0027entity\u0027\nmake[4]: *** [drivers/media/video/mt9m032.o] Error 1\n\nby adding a dependency on VIDEO_V4L2_SUBDEV_API.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "9e01297ee1ada71e621c8b58a80a28a421a00471",
      "tree": "b62959354c0b514d95b9829b8395aae12869d3e0",
      "parents": [
        "9b7f43afd417a6feb80841d30ced4051c362eb5d",
        "21a1416a1c945c5aeaeaf791b63c64926018eb77"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 19 10:28:59 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 19 10:28:59 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/virt/kvm/kvm\n\nPull KVM updates from Marcelo Tosatti.\n\n* git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: lock slots_lock around device assignment\n  KVM: VMX: Fix kvm_set_shared_msr() called in preemptible context\n  KVM: unmap pages from the iommu when slots are removed\n  KVM: PMU emulation: GLOBAL_CTRL MSR should be enabled on reset\n"
    },
    {
      "commit": "3066616ce23aad5719c23a0f21f32676402cb44b",
      "tree": "879ecb6cc4f131e4db209cd13b16d109a279800f",
      "parents": [
        "a71e23d9925517e609dfcb72b5874f33cdb0d2ad"
      ],
      "author": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Tue Apr 17 22:21:38 2012 -0400"
      },
      "committer": {
        "name": "Konrad Rzeszutek Wilk",
        "email": "konrad.wilk@oracle.com",
        "time": "Thu Apr 19 12:45:01 2012 -0400"
      },
      "message": "xen/xenbus: Add quirk to deal with misconfigured backends.\n\nA rather annoying and common case is when booting a PVonHVM guest\nand exposing the PV KBD and PV VFB - as broken toolstacks don\u0027t\nalways initialize the backends correctly.\n\nNormally The HVM guest is using the VGA driver and the emulated\nkeyboard for this (though upstream version of QEMU implements\nPV KBD, but still uses a VGA driver). We provide a very basic\ntwo-stage wait mechanism - where we wait for 30 seconds for all\ndevices, and then for 270 for all them except the two mentioned.\n\nThat allows us to wait for the essential devices, like network\nor disk for the full 6 minutes.\n\nTo trigger this, put this in your guest config:\n\nvfb \u003d [ \u0027vnc\u003d1, vnclisten\u003d0.0.0.0 ,vncunused\u003d1\u0027]\n\ninstead of this:\nvnc\u003d1\nvnclisten\u003d\"0.0.0.0\"\n\nCC: stable@kernel.org\nAcked-by: Stefano Stabellini \u003cstefano.stabellini@eu.citrix.com\u003e\n[v3: Split delay in non-essential (30 seconds) and essential\n devices per Ian and Stefano suggestion]\n[v4: Added comments per Stefano suggestion]\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n"
    },
    {
      "commit": "273a50fbcd2d2c0652bbda58dd1985f932ce6d75",
      "tree": "374e749b12767ebd585730552cb7d8ccb4b244f6",
      "parents": [
        "a09d431f344d854e4fe9cfac44f78cb8202f3eb7"
      ],
      "author": {
        "name": "Henrik Rydberg",
        "email": "rydberg@euromail.se",
        "time": "Fri Apr 13 00:37:00 2012 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 16:37:53 2012 +0100"
      },
      "message": "nouveau: Set special lane map for the right chipset\n\nThe refactoring of the nv50 logic, introduced in 8663bc7c, modified the\ntest for the special lane map used on some Apple computers with Nvidia\nchipsets. The tested MBA3,1 would still boot, but resume from suspend\nstopped working. This patch restores the old test, which fixes the problem.\n\nSigned-off-by: Henrik Rydberg \u003crydberg@euromail.se\u003e\nAcked-by: Ben Skeggs \u003cbskeggs@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "c817eebec5971febab86d397582954bd52f403a8",
      "tree": "ea7b918873ff5c47e6213a7958c9623605382244",
      "parents": [
        "590b4775d6b628c7ad215fd0335a0a787032e2dd",
        "d70f363222ef373c2037412f09a600357cfa1c7a"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 17:13:03 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 17:13:03 2012 +0200"
      },
      "message": "Merge branch \u0027fix/cxt-stable\u0027 into fix/hda\n\nMerge fixes for Thinkpad docking-station regressions for 3.3 kernels\nback to 3.4.  These were committed in that branch to make the stable\nmerging easier.\n\nConflicts:\n\tsound/pci/hda/patch_conexant.c\n"
    },
    {
      "commit": "d70f363222ef373c2037412f09a600357cfa1c7a",
      "tree": "805db3f9361a33a736cecfd373fbfe88f589aafc",
      "parents": [
        "ca3649de026ff95c6f2847e8d096cf2f411c02b3"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 15:18:08 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 17:10:34 2012 +0200"
      },
      "message": "ALSA: hda/conexant - Set up the missing docking-station pins\n\nThinkPad 410,420,510,520 and X201 with cx50585 \u0026 co chips have the\ndocking-station ports, but BIOS doesn\u0027t initialize for these pins.\nThus, like the former X200, we need to set up the pins manually in the\ndriver.\n\nThe odd part is that the same PCI SSID is used for X200 and T400, thus\nwe need to prepare individual fixup tables for cx5051 and others.\n\nBugzilla entries:\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d808559\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d806217\n\thttps://bugzilla.redhat.com/show_bug.cgi?id\u003d810697\n\nReported-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nReported-by: Jens Taprogge \u003cjens.taprogge@taprogge.org\u003e\nTested-by: Jens Taprogge \u003cjens.taprogge@taprogge.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "a09d431f344d854e4fe9cfac44f78cb8202f3eb7",
      "tree": "615e865c8b18250218a6a6209573ae8960b74f0b",
      "parents": [
        "4e47e02d1ac47b6eb591b2a632a6c059ce3e5002"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 15:42:58 2012 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 16:02:18 2012 +0100"
      },
      "message": "drm/radeon: fix load detect on rn50 with hardcoded EDIDs.\n\nWhen the force changes went in back in 3.3.0, we ended up returning\ndisconnected in the !force case, and the connected in when forced,\nas it hit the hardcoded check.\n\nFix it so all exits go via the hardcoded check and stop spurious\nmodesets on platforms with hardcoded EDIDs.\n\nReported-by: Evan McNabb (Red Hat)\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: stable@vger.kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "4e47e02d1ac47b6eb591b2a632a6c059ce3e5002",
      "tree": "e9f67b84304f3fbe4dc54c16251ea21646c0db76",
      "parents": [
        "5799d9e2eab20ef694fb92a7636f451e1b0e456c"
      ],
      "author": {
        "name": "Prathyush",
        "email": "prathyush.k@samsung.com",
        "time": "Sat Apr 14 17:22:13 2012 +0530"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:40:41 2012 +0100"
      },
      "message": "drm: Releasing FBs before releasing GEM objects during drm_release\n\nDuring DRM release, all the FBs and gem objects are released. If\na gem object is being used as a FB and set to a crtc, it must not\nbe freed before releasing the framebuffer first.\n\nIf FBs are released first, the crtc using the FB is disabled first\nso now the GEM object can be freed safely. The CRTC will be enabled\nagain when the driver restores fbdev mode.\n\nSigned-off-by: Prathyush K \u003cprathyush.k@samsung.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5799d9e2eab20ef694fb92a7636f451e1b0e456c",
      "tree": "2146fbc6521a354b9194bc46954a394802a6e68e",
      "parents": [
        "5edaad87000a143504a8f8e2864bb415a9287d94"
      ],
      "author": {
        "name": "Jim Meyering",
        "email": "jim@meyering.net",
        "time": "Tue Apr 17 21:27:54 2012 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:38:54 2012 +0100"
      },
      "message": "drm/nouveau/pm: don\u0027t read/write beyond end of stack buffer\n\nNUL-terminate after strncpy.\n\nIf the parameter \"profile\" has length 16 or more, then strncpy\nleaves \"string\" with no NUL terminator, so the following search\nfor \u0027\\n\u0027 may read beyond the end of that 16-byte buffer.\nIf it finds a newline there, then it will also write beyond the\nend of that stack buffer.\n\nSigned-off-by: Jim Meyering \u003cmeyering@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "5edaad87000a143504a8f8e2864bb415a9287d94",
      "tree": "c8898bd1612617d0b1a571fd42100448eb915aae",
      "parents": [
        "dfc6ae5bd70d3a22a0e977943c31f6d55fc32820"
      ],
      "author": {
        "name": "Marcos Paulo de Souza",
        "email": "marcos.souza.org@gmail.com",
        "time": "Wed Apr 18 01:30:02 2012 -0300"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:38:02 2012 +0100"
      },
      "message": "drivers: gpu: drm: gma500: mdfld_dsi_output.h: Remove not unneeded include of version.h\n\nThe output of \"make versioncheck\" points a incorrect include of\nversion.h in the drivers/gpu/drm/gma500/mdfld_dsi_output.h:\n\ndrivers/gpu/drm/gma500/mdfld_dsi_output.h: 32 linux/version.h not needed.\n\nIf we take a look in the file, we can agree to remove it.\n\nCc: David Airlie \u003cairlied@linux.ie\u003e\nCc: \u003cdri-devel@lists.freedesktop.org\u003e\nSigned-off-by: Marcos Paulo de Souza \u003cmarcos.souza.org@gmail.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "dfc6ae5bd70d3a22a0e977943c31f6d55fc32820",
      "tree": "48bf399247ccdbd4f9b6917fa52eee3c52f5c634",
      "parents": [
        "aef6a7eeac6fd867eda415f65a7f0247fb82baf4"
      ],
      "author": {
        "name": "Jerome Glisse",
        "email": "jglisse@redhat.com",
        "time": "Tue Apr 17 16:51:38 2012 -0400"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:37:42 2012 +0100"
      },
      "message": "radeon: fix r600/agp when vram is after AGP (v3)\n\nIf AGP is placed in the middle, the size_af is off-by-one, it results\nin VRAM being placed at 0x7fffffff instead of 0x8000000.\n\nv2: fix the vram_start setup.\nv3: also fix r7xx \u0026 newer ASIC\n\nReported-by: russiane39 on #radeon\n\nSigned-off-by: Jerome Glisse \u003cjglisse@redhat.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "aef6a7eeac6fd867eda415f65a7f0247fb82baf4",
      "tree": "af52dcf49550f4791e02296e49af1f0c6ca15536",
      "parents": [
        "d6b8395262a9d90e4ab11b614a5fb8f858e2b3df"
      ],
      "author": {
        "name": "Joonyoung Shim",
        "email": "jy0922.shim@samsung.com",
        "time": "Wed Apr 18 13:47:02 2012 +0900"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:36:51 2012 +0100"
      },
      "message": "drm: fix page_flip error handling\n\nFree event and restore event_space only when page_flip-\u003eflags has\nDRM_MODE_PAGE_FLIP_EVENT if page_flip() is failed.\n\nSigned-off-by: Joonyoung Shim \u003cjy0922.shim@samsung.com\u003e\nSigned-off-by: Kyungmin Park \u003ckyungmin.park@samsung.com\u003e\nReviewed-by: Michel Dänzer \u003cmichel.daenzer@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "ca3649de026ff95c6f2847e8d096cf2f411c02b3",
      "tree": "86bea3f1897ea8860dc80275bf1a2942d68eab12",
      "parents": [
        "c16fa4f2ad19908a47c63d8fa436a1178438c7e7"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 15:15:25 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 15:15:25 2012 +0200"
      },
      "message": "ALSA: hda/conexant - Don\u0027t set HP pin-control bit unconditionally\n\nSome output pins on Conexant chips have no HP control bit, but the\nauto-parser initializes these pins unconditionally with PIN_HP.\n\nCheck the pin-capability and avoid the HP bit if not supported.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "d6b8395262a9d90e4ab11b614a5fb8f858e2b3df",
      "tree": "afe4b8ae6affe84e95169bcc0c3bf1c32004a568",
      "parents": [
        "e36325071832f1ba96ac54fb8ba1459f08b05dd8",
        "99d9acdd0c5ce970eaf8e8671c0bc4cb7c6fb0c1"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:13:52 2012 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:13:52 2012 +0100"
      },
      "message": "Merge branch \u0027drm-intel-fixes\u0027 of git://people.freedesktop.org/~danvet/drm-intel into drm-fixes\n\n* \u0027drm-intel-fixes\u0027 of git://people.freedesktop.org/~danvet/drm-intel:\n  drm/i915: Do not set \"Enable Panel Fitter\" on SNB pageflips\n  drm/i915: Hold mode_config lock whilst changing mode for lastclose()\n  drm/i915: don\u0027t clobber the special upscaling lvds timings\n"
    },
    {
      "commit": "e36325071832f1ba96ac54fb8ba1459f08b05dd8",
      "tree": "a08edb9a701651f007c750ab8b1c55ed5d7a6ff7",
      "parents": [
        "b10c6d4b50cbbdccce2187c1ccc516a9c7335835"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Wed Apr 18 15:21:07 2012 +0200"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 14:01:10 2012 +0100"
      },
      "message": "drm/radeon/kms: fix the regression of DVI connector check\n\nThe check of the encoder type in the commit [e00e8b5e: drm/radeon/kms:\nfix analog load detection on DVI-I connectors] is obviously wrong, and\nit\u0027s the culprit of the regression on my workstation with DVI-analog\nconnection resulting in the blank output.\n\nFixed the typo now.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nReviewed-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "2198edddd8f0245d4c47419310c6cfb0f4e1a197",
      "tree": "ea26397f8d9ae753366bf517cc48b0e02bb6af19",
      "parents": [
        "2cee5715a926ad23d3f52ffd7da3ad38f54664dd"
      ],
      "author": {
        "name": "Josh Boyer",
        "email": "jwboyer@redhat.com",
        "time": "Wed Apr 18 10:05:17 2012 -0400"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Thu Apr 19 14:16:43 2012 +0200"
      },
      "message": "HID: default HID_BATTERY_STRENGTH to no\n\nCommit 4f5ca836b \"HID: hid-input: add support for HID devices reporting\nBattery Strength\" added the CONFIG_HID_BATTERY_STRENGTH option to report\nthe battery strength of HID devices.  The commit log explicitly mentions\nit not working properly with recent userspace, but it is default y\nanyway.  This is rather odd, and actually causes problems on real\nsystems.\n\nThis works around Fedora bug\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d806295\n\nSigned-off-by: Josh Boyer \u003cjwboyer@redhat.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "3bc86c624fe48864cd6e3738d5ff35d1fe31fa6c",
      "tree": "d1f8ec0e2a04bb862d7b70cee77fe30fdc42061c",
      "parents": [
        "cd90491bcd63af3f1505de76aa82d5884f1d16e7"
      ],
      "author": {
        "name": "Sylwester Nawrocki",
        "email": "sylvester.nawrocki@gmail.com",
        "time": "Mon Apr 09 09:31:56 2012 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Apr 19 09:05:51 2012 -0300"
      },
      "message": "[media] V4L: DocBook: Fix typos in the multi-plane formats description\n\nSigned-off-by: Sylwester Nawrocki \u003csylvester.nawrocki@gmail.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "cd90491bcd63af3f1505de76aa82d5884f1d16e7",
      "tree": "e6294b8fea412efa8bdbc5a473b2624b9a53025c",
      "parents": [
        "d9b786955f80fb306471fdb9ea24c6d03af6ca36"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Sun Apr 08 16:31:24 2012 -0300"
      },
      "committer": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab@redhat.com",
        "time": "Thu Apr 19 09:04:09 2012 -0300"
      },
      "message": "[media] V4L: mt9m032: fix two dead-locks\n\nFix a copy-paste typo and a nested locking function call in mt9m032.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nAcked-by: Laurent Pinchart \u003claurent.pinchart@ideasonboard.com\u003e\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab@redhat.com\u003e\n"
    },
    {
      "commit": "590b4775d6b628c7ad215fd0335a0a787032e2dd",
      "tree": "7f0deac6f7f777b6a4663b12e3f7dd8cc2f51a6e",
      "parents": [
        "3e843196c697ee2c319d96e861980fb4c3e04e24"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "kuninori.morimoto.gx@renesas.com",
        "time": "Thu Apr 19 00:00:27 2012 -0700"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 13:51:54 2012 +0200"
      },
      "message": "ALSA: workaround: change the timing of alsa_sound_last_init()\n\nCurrent alsa_sound_last_init() was called as __initcall().\nSo, on current ALSA, only devices that had been properly\nregistered at this point were shown.\nSo, it will show \"No soundcards found\" if driver requests\nprobe deferment. it\u0027s often misleading.\nThis patch delays the timing of alsa_sound_last_init()\nas workaround.\n\nSigned-off-by: Kuninori Morimoto \u003ckuninori.morimoto.gx@renesas.com\u003e\nReviwed-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "3e843196c697ee2c319d96e861980fb4c3e04e24",
      "tree": "9a065c1dfe64353d9954bafd9ffbf647c8d783f0",
      "parents": [
        "118cb4a408e1c4021ac85d6c05da66bb6f57e556"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 12:04:03 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 12:04:03 2012 +0200"
      },
      "message": "ALSA: hda/sigmatel - Fix inverted mute LED\n\nWhile refactoring the mute-LED handling for HP laptops, I messed up\nthe polarity check in a wrong way.  The red (or the mute-LED if any)\nshould appear in the muted state, corresponding to GPIO on.\n\nReported-by: Mikko Vinni \u003cmmvinni@yahoo.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "b10c6d4b50cbbdccce2187c1ccc516a9c7335835",
      "tree": "d4c91637312c1621835142e866db1d7aa6b070d0",
      "parents": [
        "5273db706f8b673902638fee7f907909ed6ae3f9"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 09:33:32 2012 +0100"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Thu Apr 19 09:33:32 2012 +0100"
      },
      "message": "drm/usb: fix module license on drm/usb layer.\n\nAllows this module to load correctly with certain debugging options on.\n\nReported on irc by scientes\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "9b7f43afd417a6feb80841d30ced4051c362eb5d",
      "tree": "695f97a4d028a3463c8e7edaa4c6d410a941d0bb",
      "parents": [
        "932e9f352b5d685725076f21b237f7c7d804b29c"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hughd@google.com",
        "time": "Wed Apr 18 23:34:46 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 18 23:40:57 2012 -0700"
      },
      "message": "memcg: fix Bad page state after replace_page_cache\n\nMy 9ce70c0240d0 \"memcg: fix deadlock by inverting lrucare nesting\" put a\nnasty little bug into v3.3\u0027s version of mem_cgroup_replace_page_cache(),\nsometimes used for FUSE.  Replacing __mem_cgroup_commit_charge_lrucare()\nby __mem_cgroup_commit_charge(), I used the \"pc\" pointer set up earlier:\nbut it\u0027s for oldpage, and needs now to be for newpage.  Once oldpage was\nfreed, its PageCgroupUsed bit (cleared above but set again here) caused\n\"Bad page state\" messages - and perhaps worse, being missed from newpage.\n(I didn\u0027t find this by using FUSE, but in reusing the function for tmpfs.)\n\nSigned-off-by: Hugh Dickins \u003chughd@google.com\u003e\nCc: stable@vger.kernel.org [v3.3 only]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "118cb4a408e1c4021ac85d6c05da66bb6f57e556",
      "tree": "8e8a03f502b5d9b206204eb509e70662668c4954",
      "parents": [
        "f2ec52d4c3698c995c89c579c34d818eab589d8b"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 07:33:27 2012 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Thu Apr 19 07:33:27 2012 +0200"
      },
      "message": "ALSA: hda/realtek - Fix regression on Quanta/Gericom KN1\n\nThrough the transition to the auto-parser, the support for\nQuanta/Gericom KN1 got broken.  There are two problems behind it:\n\n- This machine doesn\u0027t like the default COEF setup for ALC260 we take\n  now as default\n\n- BIOS doesn\u0027t set the pins correctly at all; especially the machine\n  uses only the pin 0x0f for both headphone and speaker\n\nThis patch adds the fixup as a workaround for these issues.\n\nReported-and-tested-by: Uros Vampl \u003cmobile.leecher@gmail.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "6842d4c2a980ce821cb20562f8df85bfcfd02012",
      "tree": "d16b350b36a4cac4cc19993fb612e45cdad2b7c9",
      "parents": [
        "ea53671a70cc983419247e2f216fbf48eeaa9fa5",
        "f898fed0c27b2d46c3d8331e7825c25b6432b9f4"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Apr 18 21:30:16 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Apr 18 21:30:16 2012 -0700"
      },
      "message": "Merge tag \u0027at91-fixes\u0027 of git://github.com/at91linux/linux-at91 into fixes\n\nHere is another fixes series for AT91 designed for 3.4-rc.\n\nWe experienced some issues while compiling some drivers as modules: Joachim has\ncorrected several of them. We may reduce this number of exported values by\nreworking some drivers, in the future.\n\nSome drivers are also modified here, I would like to keep them in the series\nas the modifications are really related with our recent move to irqdomains or\nsimply related with compiler annotations.\n\nI keep dmaengine Kconfig modification in this \"fixes\" series. The DMA\ndriver will not be available for 9x5 SoC family otherwise.\n\n* tag \u0027at91-fixes\u0027 of git://github.com/at91linux/linux-at91:\n  dmaengine: Kconfig: fix Atmel at_hdmac entry\n  USB: gadget/at91_udc: add gpio_to_irq() function to vbus interrupt\n  USB: ohci-at91: change annotations for probe/remove functions\n  leds-atmel-pwm.c: Make pwmled_probe() __devinit\n  ARM: at91: fix at91sam9261ek Ethernet dm9000 irq\n  ARM: at91: fix rm9200ek flash size\n  ARM: at91: remove empty at91_init_serial function\n  ARM: at91: fix typo in at91_pmc_base assembly declaration\n  ARM: at91: Export at91_matrix_base\n  ARM: at91: Export at91_pmc_base\n  ARM: at91: Export at91_ramc_base\n  ARM: at91: Export at91_st_base\n"
    },
    {
      "commit": "ea53671a70cc983419247e2f216fbf48eeaa9fa5",
      "tree": "e978a222b3bd8bcfa59f0c81a5982147b202b65e",
      "parents": [
        "b462fca45dc1823105e7ada58085fa890f531b67",
        "f27962ac68a9b4cf17958522ecd7c10ce2375ee1"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Apr 18 21:28:16 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Apr 18 21:28:16 2012 -0700"
      },
      "message": "Merge branch \u0027fixes-for-arm-soc-20120416\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into fixes\n\n* \u0027fixes-for-arm-soc-20120416\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson:\n  ARM: ux500: update defconfig\n  ARM: ux500: Fix unmet direct dependency\n  ARM: ux500: wake secondary cpu via resched\n"
    },
    {
      "commit": "b462fca45dc1823105e7ada58085fa890f531b67",
      "tree": "9a1c980bcba2919b95dc02c8fe00710715191a16",
      "parents": [
        "1c2e1fd1ca4a342a9727c7184703e1d9b03c9720",
        "4659b7f1fa3eb33a8f9a9dd209a5823602dc6dcf"
      ],
      "author": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Apr 18 21:25:52 2012 -0700"
      },
      "committer": {
        "name": "Olof Johansson",
        "email": "olof@lixom.net",
        "time": "Wed Apr 18 21:25:52 2012 -0700"
      },
      "message": "Merge tag \u0027v3.4-rc3-imx-fixes\u0027 of git://git.pengutronix.de/git/imx/linux-2.6 into fixes\n\nARM i.MX misc fixes for -rc\n\n* tag \u0027v3.4-rc3-imx-fixes\u0027 of git://git.pengutronix.de/git/imx/linux-2.6:\n  ARM: imx: Fix imx5 idle logic bug\n  ARM: imx27-dt: Fix build due to removal of irq_domain_add_simple()\n  ARM: imx_v4_v5_defconfig: Add support for CONFIG_REGULATOR_FIXED_VOLTAGE\n"
    }
  ],
  "next": "1c2e1fd1ca4a342a9727c7184703e1d9b03c9720"
}
