)]}'
{
  "log": [
    {
      "commit": "13cfcca0e4e2d4cee1d0183c049eb34e54ac976e",
      "tree": "2aa48f0db717ae7741602022e4020f22cc3cea7f",
      "parents": [
        "27565d64a4e564e72c22d8c91a3cfcb9442383e8"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Fri Jan 13 15:32:18 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:48 2012 -0800"
      },
      "message": "rcu: Set RCU CPU stall times via sysfs\n\nThe default CONFIG_RCU_CPU_STALL_TIMEOUT value of 60 seconds has served\nLinux users well for production use for quite some time.  However, for\ndebugging, there will be more than three minutes between subsequent\nstall-warning messages.  This can be an annoyingly long wait if you\nare trying to work out where the offending infinite loop is hiding.\n\nTherefore, this commit provides a rcu_cpu_stall_timeout sysfs\nparameter that may be adjusted at boot time and at runtime to speed\nup debugging.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "27565d64a4e564e72c22d8c91a3cfcb9442383e8",
      "tree": "699319f63f6c1cddc04ce85e77b3718361bbe03f",
      "parents": [
        "5e1ee6e1016763812018bf5c5e966992821dc47e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jan 12 19:35:08 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:47 2012 -0800"
      },
      "message": "rcu: Remove #ifdef CONFIG_SMP from TREE_RCU\n\nNow that both TINY_RCU and TINY_PREEMPT_RCU have been in place for awhile,\nit is time to remove UP support from TREE_RCU, which is what this commit\ndoes.\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": "5e1ee6e1016763812018bf5c5e966992821dc47e",
      "tree": "f2acb5d76a39da392d1f43e5c78a5ffc1482ef71",
      "parents": [
        "50406b98b6372e7de21d903d2cf3914e9d64e094"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Jan 12 17:21:20 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:46 2012 -0800"
      },
      "message": "rcu: Note that rcu_access_pointer() can be used for teardown\n\nThere is no convenient expression for rcu_deference_protected()\nwhen it is used in tearing down multilinked structures following\na grace period.  For example, suppose that an element containing an\nRCU-protected pointer to a second element is removed from an enclosing\nRCU-protected data structure, then the write-side lock is released,\nand finally synchronize_rcu() is invoked to wait for a grace period.\nThen it is necessary to traverse the pointer in order to free up the\nsecond element.  But we are not in an RCU read-side critical section\nand we are holding no locks, so the usual rcu_dereference_check() and\nrcu_dereference_protected() primitives are not appropriate.  Neither\nis rcu_dereference_raw(), as it is intended for use in data structures\nwhere the user defines the locking design (for example, list_head).\n\nSo this responsibility is added to rcu_access_pointer()\u0027s list, and\nthis commit updates rcu_assign_pointer()\u0027s header comment accordingly.\n\nSuggested-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "50406b98b6372e7de21d903d2cf3914e9d64e094",
      "tree": "d53077fbca12714e1af5f9982e08efb923a550c6",
      "parents": [
        "c44e2cddacc2cf299186bad5697d738ea19668b7"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jan 12 13:49:19 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:46 2012 -0800"
      },
      "message": "rcu: Make rcu_sleep_check() also check rcu_lock_map\n\nAlthough it is OK to be preempted in an RCU read-side critical section\nfor TREE_PREEMPT_RCU, it is definitely not OK to be preempted, block,\nor might_sleep() within an RCU read-side critical section for TREE_RCU.\nUnfortunately, rcu_might_sleep() currently only checks for RCU-bh and\nRCU-sched read-side critical sections.  This commit therefore makes\nrcu_might_sleep() check for RCU read-side critical sections, but only\nin TREE_RCU builds.\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": "c44e2cddacc2cf299186bad5697d738ea19668b7",
      "tree": "5346f0dbee43202bf4049e3cda955f3d0cf97cfb",
      "parents": [
        "30fbcc90b02187c55c57ff0ecf57cecbd487d694"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jan 12 13:08:18 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:45 2012 -0800"
      },
      "message": "rcu: Check for idle-loop entry while in RCU read-side critical section\n\nThe inner idle loop is an extended quiescent state for all flavors\nof RCU, but there have been recent bug involving use of RCU read-side\nprimitives from within the idle loop.  Therefore, this commit enlists\nlockdep-RCU to detect attempts to enter the inner idle loop while in\nan RCU read-side critical section, emitting a lockdep-RCU splat if so.\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": "30fbcc90b02187c55c57ff0ecf57cecbd487d694",
      "tree": "866824e1972d900ceda045c93a3958c74ffbf1e9",
      "parents": [
        "1aa03f1188f7b0b85df2de602b33ee7b6fab8e00"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jan 12 11:01:14 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:44 2012 -0800"
      },
      "message": "rcu: Clean up straggling rcu_preempt_needs_cpu() name\n\nThe recent updates to RCU_CPU_FAST_NO_HZ have an rcu_needs_cpu() that\ndoes more than just check for callbacks, so get the name for\nrcu_preempt_needs_cpu() consistent with that change, now calling it\nrcu_preempt_cpu_has_callbacks().\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": "1aa03f1188f7b0b85df2de602b33ee7b6fab8e00",
      "tree": "20ee8fc1aa5bccc8d8cf53c705d9cc766058eaf5",
      "parents": [
        "8762705ad4ac860bb78434409df463d02ac8f027"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 11 17:25:17 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:43 2012 -0800"
      },
      "message": "rcu: Simplify unboosting checks\n\nThis is a port of commit #82e78d80 from TREE_PREEMPT_RCU to\nTINY_PREEMPT_RCU.\n\nThis commit uses the fact that current-\u003ercu_boost_mutex is set\nany time that the RCU_READ_UNLOCK_BOOSTED flag is set in the\ncurrent-\u003ercu_read_unlock_special bitmask.  This allows tests of\nthe bit to be changed to tests of the pointer, which in turn allows\nthe RCU_READ_UNLOCK_BOOSTED flag to be eliminated.\n\nPlease note that the check of current-\u003ercu_read_unlock_special need not\nchange because any time that RCU_READ_UNLOCK_BOOSTED was set, so was\nRCU_READ_UNLOCK_BLOCKED.  Therefore, __rcu_read_unlock() can continue\ntesting current-\u003ercu_read_unlock_special for non-zero, as before.\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": "8762705ad4ac860bb78434409df463d02ac8f027",
      "tree": "bee2328400565018e85c262d93f857cc497b72c1",
      "parents": [
        "768dfffdffbfcc07d6927bdd642c714c0dd64c99"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 11 16:59:01 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:42 2012 -0800"
      },
      "message": "rcu: Inform RCU of irq_exit() activity\n\nThis is a port to TINY_RCU of Peter Zijlstra\u0027s commit #ec433f0c5\n\nThe rcu_read_unlock_special() function relies on in_irq() to exclude\nscheduler activity from interrupt level.  This fails because exit_irq()\ncan invoke the scheduler after clearing the preempt_count() bits that\nin_irq() uses to determine that it is at interrupt level.  This situation\ncan result in failures as follows:\n\n     $task\t\t\tIRQ\t\tSoftIRQ\n\n     rcu_read_lock()\n\n     /* do stuff */\n\n     \u003cpreempt\u003e |\u003d UNLOCK_BLOCKED\n\n     rcu_read_unlock()\n       --t-\u003ercu_read_lock_nesting\n\n    \t\t\tirq_enter();\n    \t\t\t/* do stuff, don\u0027t use RCU */\n    \t\t\tirq_exit();\n    \t\t\t  sub_preempt_count(IRQ_EXIT_OFFSET);\n    \t\t\t  invoke_softirq()\n\n    \t\t\t\t\tttwu();\n    \t\t\t\t\t  spin_lock_irq(\u0026pi-\u003elock)\n    \t\t\t\t\t  rcu_read_lock();\n    \t\t\t\t\t  /* do stuff */\n    \t\t\t\t\t  rcu_read_unlock();\n    \t\t\t\t\t    rcu_read_unlock_special()\n    \t\t\t\t\t      rcu_report_exp_rnp()\n    \t\t\t\t\t        ttwu()\n    \t\t\t\t\t          spin_lock_irq(\u0026pi-\u003elock) /* deadlock */\n\n       rcu_read_unlock_special(t);\n\nThis can be triggered \u0027easily\u0027 because invoke_softirq() immediately does\na ttwu() of ksoftirqd/# instead of doing the in-place softirq stuff first,\nbut even without that the above happens.\n\nCure this by also excluding softirqs from the rcu_read_unlock_special()\nhandler and ensuring the force_irqthreads ksoftirqd/# wakeup is done\nfrom full softirq context.\n\nIt is also necessary to delay the -\u003ercu_read_lock_nesting decrement until\nafter rcu_read_unlock_special().  This delay is handled by the commit\n\"Protect __rcu_read_unlock() against scheduler-using irq handlers\".\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\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": "768dfffdffbfcc07d6927bdd642c714c0dd64c99",
      "tree": "3f559e37c0ff2ae59af963024c0d3595fa3d4b8e",
      "parents": [
        "afef20540f7cd1ea91bc1ac20be238389eee4003"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 11 16:33:17 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:41 2012 -0800"
      },
      "message": "rcu: Prevent RCU callbacks from executing before scheduler initialized\n\nThis is a port of commit #b0d3041 from TREE_RCU to TREE_PREEMPT_RCU.\n\nUnder some rare but real combinations of configuration parameters, RCU\ncallbacks are posted during early boot that use kernel facilities that are\nnot yet initialized.  Therefore, when these callbacks are invoked, hard\nhangs and crashes ensue.  This commit therefore prevents RCU callbacks\nfrom being invoked until after the scheduler is fully up and running,\nas in after multiple tasks have been spawned.\n\nIt might well turn out that a better approach is to identify the specific\nRCU callbacks that are causing this problem, but that discussion will\nwait until such time as someone really needs an RCU callback to be invoked\n(as opposed to merely registered) during early boot.\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": "afef20540f7cd1ea91bc1ac20be238389eee4003",
      "tree": "876449c4304fe57004f3c057777c728ed443113b",
      "parents": [
        "26861faf896a4cfdc4243281e5c305755f4bad52"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jan 11 15:30:36 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:40 2012 -0800"
      },
      "message": "rcu: Streamline code produced by __rcu_read_unlock()\n\nThis is a port of commit #be0e1e21 to TINY_PREEMPT_RCU.  This uses\nnoinline to prevent rcu_read_unlock_special() from being inlined into\n__rcu_read_unlock().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "26861faf896a4cfdc4243281e5c305755f4bad52",
      "tree": "c93082f55b437b3b949b4bf0207d9be1a6fcd1fd",
      "parents": [
        "f38bd1020f797694b6b5e06f5f06c87688fc84c0"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Wed Jan 11 14:40:20 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:39 2012 -0800"
      },
      "message": "rcu: Protect __rcu_read_unlock() against scheduler-using irq handlers\n\nThis commit ports commit #10f39bb1b2 (rcu: protect __rcu_read_unlock()\nagainst scheduler-using irq handlers) from TREE_PREEMPT_RCU to\nTINY_PREEMPT_RCU.  The following is a corresponding port of that\ncommit message.\n\nThe addition of RCU read-side critical sections within runqueue and\npriority-inheritance critical sections introduced some deadlocks,\nfor example, involving interrupts from __rcu_read_unlock() where the\ninterrupt handlers call wake_up().  This situation can cause the\ninstance of __rcu_read_unlock() invoked from interrupt to do some\nof the processing that would otherwise have been carried out by the\ntask-level instance of __rcu_read_unlock().  When the interrupt-level\ninstance of __rcu_read_unlock() is called with a scheduler lock held from\ninterrupt-entry/exit situations where in_irq() returns false, deadlock can\nresult.  Of course, in a UP kernel, there are not really any deadlocks,\nbut the upper-level critical section can still be be fatally confused\nby the lower-level critical section changing things out from under it.\n\nThis commit resolves these deadlocks by using negative values of the\nper-task -\u003ercu_read_lock_nesting counter to indicate that an instance of\n__rcu_read_unlock() is in flight, which in turn prevents instances from\ninterrupt handlers from doing any special processing.  Note that nested\nrcu_read_lock()/rcu_read_unlock() pairs are still permitted, but they will\nnever see -\u003ercu_read_lock_nesting go to zero, and will therefore never\ninvoke rcu_read_unlock_special(), thus preventing them from seeing the\nRCU_READ_UNLOCK_BLOCKED bit should it be set in -\u003ercu_read_unlock_special.\nThis patch also adds a check for -\u003ercu_read_unlock_special being negative\nin rcu_check_callbacks(), thus preventing the RCU_READ_UNLOCK_NEED_QS\nbit from being set should a scheduling-clock interrupt occur while\n__rcu_read_unlock() is exiting from an outermost RCU read-side critical\nsection.\n\nOf course, __rcu_read_unlock() can be preempted during the time that\n-\u003ercu_read_lock_nesting is negative.  This could result in the setting\nof the RCU_READ_UNLOCK_BLOCKED bit after __rcu_read_unlock() checks it,\nand would also result it this task being queued on the corresponding\nrcu_node structure\u0027s blkd_tasks list.  Therefore, some later RCU read-side\ncritical section would enter rcu_read_unlock_special() to clean up --\nwhich could result in deadlock (OK, OK, fatal confusion) if that RCU\nread-side critical section happened to be in the scheduler where the\nrunqueue or priority-inheritance locks were held.\n\nTo prevent the possibility of fatal confusion that might result from\npreemption during the time that -\u003ercu_read_lock_nesting is negative,\nthis commit also makes rcu_preempt_note_context_switch() check for\nnegative -\u003ercu_read_lock_nesting, thus refraining from queuing the task\n(and from setting RCU_READ_UNLOCK_BLOCKED) if we are already exiting\nfrom the outermost RCU read-side critical section (in other words,\nwe really are no longer actually in that RCU read-side critical\nsection).  In addition, rcu_preempt_note_context_switch() invokes\nrcu_read_unlock_special() to carry out the cleanup in this case, which\nclears out the -\u003ercu_read_unlock_special bits and dequeues the task\n(if necessary), in turn avoiding needless delay of the current RCU grace\nperiod and needless RCU priority boosting.\n\nIt is still illegal to call rcu_read_unlock() while holding a scheduler\nlock if the prior RCU read-side critical section has ever had both\npreemption and irqs enabled.  However, the common use case is legal,\nnamely where then entire RCU read-side critical section executes with\nirqs disabled, for example, when the scheduler lock is held across the\nentire lifetime of the RCU read-side critical section.\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": "f38bd1020f797694b6b5e06f5f06c87688fc84c0",
      "tree": "3239e0ca21784cf3109933e35db81e2f451a0f8c",
      "parents": [
        "a50c3af910e06f35bc0c68f89d8fef98c0fec0ea"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jan 11 11:34:50 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:38 2012 -0800"
      },
      "message": "rcu: Remove single-rcu_node optimization in rcu_start_gp()\n\nThe grace-period initialization sequence in rcu_start_gp() has a special\ncase for systems where the rcu_node tree is a single rcu_node structure.\nThis made sense some years ago when systems were smaller and up to 64\nCPUs could share a single rcu_node structure, but now that large systems\nare common and a given leaf rcu_node structure can support only 16 CPUs\n(due to lock contention on the rcu_node\u0027s -\u003elock field), this optimization\nis almost never taken.  And even the small mobile platforms that might\nmake use of it might rather have the kernel text reduction.\n\nTherefore, this commit removes the check for single-rcu_node trees.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n"
    },
    {
      "commit": "a50c3af910e06f35bc0c68f89d8fef98c0fec0ea",
      "tree": "bbd86e30567d25dcea2faedf5990d8d0453465aa",
      "parents": [
        "8146c4e2e2c1972216afece5c50e072e86120e42"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jan 10 17:52:31 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:37 2012 -0800"
      },
      "message": "rcu: Don\u0027t make callbacks go through second full grace period\n\nRCU\u0027s current CPU-offline code path dumps all of the outgoing CPU\u0027s\ncallbacks onto the RCU_NEXT_TAIL portion of the surviving CPU\u0027s\ncallback list.  This means that all the ready-to-invoke callbacks from\nthe outgoing CPU must wait for another full RCU grace period.  This was\njust fine when CPU-hotplug events were rare, but there is increasing\nevidence that users are planning to make increasing use of CPU hotplug.\n\nTherefore, this commit changes the callback-dumping procedure so that\ncallbacks that are ready to invoke are moved to the RCU_DONE_TAIL\nportion of the surviving CPU\u0027s callback list.  This avoids running\nthese callbacks through a second unnecessary grace period.\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": "8146c4e2e2c1972216afece5c50e072e86120e42",
      "tree": "df8707527f59534595edb0be4f69255d4dff40c8",
      "parents": [
        "778d250a29224795e6320b58928bafa6b6104a06"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jan 10 14:23:29 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:37 2012 -0800"
      },
      "message": "rcu: Check for callback invocation from offline CPUs\n\nBecause quiescent states are now reported from offline CPUs in\nCPU_DYING state, there is some possibility that such a CPU might\nnote the end of a grace period and attempt to start invoking\ncallbacks.  This would be a very bad thing, and is supposed to\nbe prevented by the fact that the CPU_DYING CPU gets rid of all\nits callbacks before reporting the quiescent state.  However,\nthere is other CPU-offline code in the kernel, and it is quite\npossible that someone will invoke RCU core processing from that\ncode.  Therefore, this commit adds a warning for this case.\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": "778d250a29224795e6320b58928bafa6b6104a06",
      "tree": "51eaa45a16731b22797ed88d34584c8b6d55cc01",
      "parents": [
        "091541bbdb9906349481a504e7d8e7fa89f6b6bb"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jan 10 14:13:24 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:36 2012 -0800"
      },
      "message": "rcu: Limit lazy-callback duration\n\nCurrently, a given CPU is permitted to remain in dyntick-idle mode\nindefinitely if it has only lazy RCU callbacks queued.  This is vulnerable\nto corner cases in NUMA systems, so limit the time to six seconds by\ndefault.  (Currently controlled by a cpp macro.)\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": "091541bbdb9906349481a504e7d8e7fa89f6b6bb",
      "tree": "3f5b1ed2f617583d090dbceb903c99f7eeaa989f",
      "parents": [
        "e5601400081651060a59bd1f45f2821bb8e97f95"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Tue Jan 10 12:51:14 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:35 2012 -0800"
      },
      "message": "rcu: Make rcutorture flag online/offline failures\n\nMake rcutorture check for CPU-hotplug failures and complain if there\nwere any.\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": "e5601400081651060a59bd1f45f2821bb8e97f95",
      "tree": "391e7e0b08d8b642eca260950c7f052832411aa9",
      "parents": [
        "ae1f18e480c83d15539fb234a2dc5f0aa04cb119"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Sat Jan 07 11:03:57 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:34 2012 -0800"
      },
      "message": "rcu: Simplify offline processing\n\nMove -\u003eqsmaskinit and blkd_tasks[] manipulation to the CPU_DYING\nnotifier.  This simplifies the code by eliminating a potential\ndeadlock and by reducing the responsibilities of force_quiescent_state().\nAlso rename functions to make their connection to the CPU-hotplug\nstages explicit.\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": "ae1f18e480c83d15539fb234a2dc5f0aa04cb119",
      "tree": "7caaf3d0cbc08b455fa3851f305a0187b4a617da",
      "parents": [
        "605b4afec8e51d0603089eac01a3ca9dd919e909"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 17:10:37 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:33 2012 -0800"
      },
      "message": "mac80211: Convert call_rcu() to kfree_rcu(), drop mesh_gate_node_reclaim()\n\nThe call_rcu() in mesh_gate_del() invokes mesh_gate_node_reclaim(),\nwhich simply calls kfree().  So convert the call_rcu() to kfree_rcu(),\nallowing mesh_gate_node_reclaim() to be eliminated.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCc: linux-wireless@vger.kernel.org\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "605b4afec8e51d0603089eac01a3ca9dd919e909",
      "tree": "7b57719cd58c9cbce4294eaa7c58afb09fce3829",
      "parents": [
        "4f9c8c1b091628a550b70ee51d7d729187f5c290"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 17:08:33 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:32 2012 -0800"
      },
      "message": "ipv4: Convert call_rcu() to kfree_rcu(), drop opt_kfree_rcu\n\nThe call_rcu() in do_ip_setsockopt() invokes opt_kfree_rcu(), which just\ncalls kfree().  So convert the call_rcu() to kfree_rcu(), which allows\nopt_kfree_rcu() to be eliminated.\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: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "4f9c8c1b091628a550b70ee51d7d729187f5c290",
      "tree": "2ce74534f850815825cd047882a166d17e82f028",
      "parents": [
        "a6c76da8f8b4549ccec7425ba94d8395d68a2e56"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 17:06:11 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:31 2012 -0800"
      },
      "message": "ipv4: Convert call_rcu() to kfree_rcu(), drop opt_kfree_rcu()\n\nBecause opt_kfree_rcu() just calls kfree(), all call_rcu() uses of it\nmay be converted to kfree_rcu().  This permits opt_kfree_rcu() to\nbe eliminated.\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: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Alexey Kuznetsov \u003ckuznet@ms2.inr.ac.ru\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nCc: Hideaki YOSHIFUJI \u003cyoshfuji@linux-ipv6.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: netdev@vger.kernel.org\n"
    },
    {
      "commit": "a6c76da8f8b4549ccec7425ba94d8395d68a2e56",
      "tree": "ac2c59a5f20fa26c75e7193cbd0257554fb3b723",
      "parents": [
        "bc399d6e6ed8615007110f5e438886ffd236760e"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 17:02:13 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:29 2012 -0800"
      },
      "message": "tcm_fc: Convert call_rcu() to kfree_rcu(), drop ft_tport_rcu_free()\n\nThe call_rcu() in ft_tport_delete() invokes ft_tport_rcu_free(),\nwhich just does a kfree().  So convert the call_rcu() to kfree_rcu(),\nallowing ft_tport_rcu_free() to be eliminated.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: \"Nicholas A. Bellinger\" \u003cnab@linux-iscsi.org\u003e\nCc: Jiri Kosina \u003cjkosina@suse.cz\u003e\nCc: Jesper Juhl \u003cjj@chaosbits.net\u003e\nCc: linux-scsi@vger.kernel.org\nCc: target-devel@vger.kernel.org\n"
    },
    {
      "commit": "bc399d6e6ed8615007110f5e438886ffd236760e",
      "tree": "f1ed750763453e0dfbe80b4d40b09338559aeb4e",
      "parents": [
        "5c8806a037ad4f53259146060b32600566475e29"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 16:59:51 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:27 2012 -0800"
      },
      "message": "s390: Convert call_rcu() to kfree_rcu(), drop ext_int_hash_update()\n\nThe call_rcu() in unregister_external_interrupt() invokes\next_int_hash_update(), which just does a kfree().  Convert the\ncall_rcu() to kfree_rcu(), allowing ext_int_hash_update() to\nbe eliminated.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "5c8806a037ad4f53259146060b32600566475e29",
      "tree": "72537f97d6af9e826f3872b20872b575eebb099a",
      "parents": [
        "486e259340fc4c60474f2c14703e3b3634bb58ca"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 15:10:44 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:26 2012 -0800"
      },
      "message": "rcu: Move RCU_TRACE to lib/Kconfig.debug\n\nThe RCU_TRACE kernel parameter has always been intended for debugging,\nnot for production use.  Formalize this by moving RCU_TRACE from\ninit/Kconfig to lib/Kconfig.debug.\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": "486e259340fc4c60474f2c14703e3b3634bb58ca",
      "tree": "70a58702194588fa0773463523f72c682785d040",
      "parents": [
        "0bb7b59d6e2b8440cd7097097dd4bbfc4d76ed07"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Fri Jan 06 14:11:30 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:25 2012 -0800"
      },
      "message": "rcu: Avoid waking up CPUs having only kfree_rcu() callbacks\n\nWhen CONFIG_RCU_FAST_NO_HZ is enabled, RCU will allow a given CPU to\nenter dyntick-idle mode even if it still has RCU callbacks queued.\nRCU avoids system hangs in this case by scheduling a timer for several\njiffies in the future.  However, if all of the callbacks on that CPU\nare from kfree_rcu(), there is no reason to wake the CPU up, as it is\nnot a problem to defer freeing of memory.\n\nThis commit therefore tracks the number of callbacks on a given CPU\nthat are from kfree_rcu(), and avoids scheduling the timer if all of\na given CPU\u0027s callbacks are from kfree_rcu().\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": "0bb7b59d6e2b8440cd7097097dd4bbfc4d76ed07",
      "tree": "f0f36a0a5b6ea4ffd1a43e0c7bb5e90803076746",
      "parents": [
        "fe15d706cfc1cb321dbe2329b04b5ca185edff60"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paul.mckenney@linaro.org",
        "time": "Thu Jan 05 14:44:39 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:24 2012 -0800"
      },
      "message": "rcu: Add diagnostic for misaligned rcu_head structures\n\nThe push for energy efficiency will require that RCU tag rcu_head\nstructures to indicate whether or not their invocation is time critical.\nThis tagging is best carried out in the bottom bits of the -\u003enext\npointers in the rcu_head structures.  This tagging requires that the\nrcu_head structures be properly aligned, so this commit adds the required\ndiagnostics.\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": "fe15d706cfc1cb321dbe2329b04b5ca185edff60",
      "tree": "bec14ab52167f4f0210e8c207c93922c8270402f",
      "parents": [
        "18fec7d8758dd416904da205375e6fa667defc80"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Wed Jan 04 13:30:33 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:23 2012 -0800"
      },
      "message": "rcu: Add lockdep-RCU checks for simple self-deadlock\n\nIt is illegal to have a grace period within a same-flavor RCU read-side\ncritical section, so this commit adds lockdep-RCU checks to splat when\nsuch abuse is encountered.  This commit does not detect more elaborate\nRCU deadlock situations.  These situations might be a job for lockdep\nenhancements.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "18fec7d8758dd416904da205375e6fa667defc80",
      "tree": "768f505120e075d9f93b83d0657dcaf712ea18e0",
      "parents": [
        "4c62abc90bea439a4b50aad9f67a310fb9c392e1"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Jan 04 11:44:57 2012 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:22 2012 -0800"
      },
      "message": "rcu: Improve synchronize_rcu() diagnostics\n\nAlthough TREE_PREEMPT_RCU indirectly uses might_sleep() to detect illegal\nuse of synchronize_sched() and synchronize_rcu_bh() from within an RCU\nread-side critical section, this might_sleep() check is bypassed when\nthere is only a single CPU (for example, when running an SMP kernel on\na single-CPU system).  This patch therefore adds a might_sleep() call\nto the rcu_blocking_is_gp() check that is unconditionally invoked from\nboth synchronize_sched() and synchronize_rcu_bh().\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "4c62abc90bea439a4b50aad9f67a310fb9c392e1",
      "tree": "aaa191da6df1e98e0b450f2288462d8a610a207c",
      "parents": [
        "b01543dfe67bb1d191998e90d20534dc354de059"
      ],
      "author": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Thu Dec 29 10:45:24 2011 -0800"
      },
      "committer": {
        "name": "Paul E. McKenney",
        "email": "paulmck@linux.vnet.ibm.com",
        "time": "Tue Feb 21 09:03:21 2012 -0800"
      },
      "message": "rcu: Bring RTFP.txt up to date.\n\nAdd publications from 2010 and 2011 to RTFP.txt.\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n"
    },
    {
      "commit": "b01543dfe67bb1d191998e90d20534dc354de059",
      "tree": "15103cae057915a9f20bd2ba91f06ae754d4e9ff",
      "parents": [
        "be2874cb4e625716fa9758ad122084da7764cad0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:53:33 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:53:33 2012 -0800"
      },
      "message": "Linux 3.3-rc4\n"
    },
    {
      "commit": "be2874cb4e625716fa9758ad122084da7764cad0",
      "tree": "68966366c698bac9e4fd5dc5d12aa4bc3aad98fc",
      "parents": [
        "584216b79ca684431ac6f961ae5cf0bb1d31024f",
        "a5368e770c9ec58b9d18378844c149df8513e7b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:40:00 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:40:00 2012 -0800"
      },
      "message": "Merge tag \u0027fixes-3.3-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc\n\nThese are the bug fixes that have accumulated since 3.3-rc3 in arm-soc.\nThe majority of them are regression fixes for stuff that broke during\nthe merge 3.3 window.\n\nThe notable ones are:\n\n* The at91 ata drivers both broke because of an earlier cleanup patch that\n  some other patches were based on. Jean-Christophe decided to remove\n  the legacy at91_ide driver and fix the new-style at91-pata driver while\n  keeping the cleanup patch. I almost rejected the patches for being too\n  late and too big but in the end decided to accept them because they\n  fix a regression.\n\n* A patch fixing build breakage from the sysdev-to-device conversion\n  colliding with other changes touches a number of mach-s3c files.\n\n* b0654037 \"ARM: orion: Fix Orion5x GPIO regression from MPP cleanup\"\n  is a mechanical change that unfortunately touches a lot of lines\n  that should up in the diffstat.\n\n* tag \u0027fixes-3.3-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (28 commits)\n  ARM: at91: drop ide driver in favor of the pata one\n  pata/at91: use newly introduced SMC accessors\n  ARM: at91: add accessor to manage SMC\n  ARM: at91:rtc/rtc-at91sam9: ioremap register bank\n  ARM: at91: USB AT91 gadget registration for module\n  ep93xx: fix build of vision_ep93xx.c\n  ARM: OMAP2xxx: PM: fix OMAP2xxx-specific UART idle bug in v3.3\n  ARM: orion: Fix USB phy for orion5x.\n  ARM: orion: Fix Orion5x GPIO regression from MPP cleanup\n  ARM: EXYNOS: Add cpu-offset property in gic device tree node\n  ARM: EXYNOS: Bring exynos4-dt up to date\n  ARM: OMAP3: cm-t35: fix section mismatch warning\n  ARM: OMAP2: Fix the OMAP2 only build break seen with 2011+ ARM tool-chains\n  ARM: tegra: paz00: fix wrong UART port on mini-pcie plug\n  ARM: tegra: paz00: fix wrong SD1 power gpio\n  i2c: tegra: Add devexit_p() for remove\n  ARM: EXYNOS: Correct M-5MOLS sensor clock frequency on Universal C210 board\n  ARM: EXYNOS: Correct framebuffer window size on Nuri board\n  ARM: SAMSUNG: Fix missing api-change from subsys_interface change\n  ARM: EXYNOS: Fix \"warning: initialization from incompatible pointer type\"\n  ...\n"
    },
    {
      "commit": "584216b79ca684431ac6f961ae5cf0bb1d31024f",
      "tree": "263853bef1aacfd7626ef7471faccbe0ffb9626d",
      "parents": [
        "bff98bfcdb2124e4e640fa6d7c9c7c3d21362760",
        "6c23e4132258be41218584cfb37a43d9346cdd64"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:38:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:38:12 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n1) VETH_INFO_PEER netlink attribute needs to have it\u0027s size validated,\n   from Thomas Graf.\n\n2) \u0027poll\u0027 module option of bnx2x driver crashes the machine, just remove\n   it.  From Michal Schmidt.\n\n3) ks8851_mll driver reads the irq number from two places, but only\n   initializes one of them, oops.  Use only one location and fix this\n   problem, from Jan Weitzel.\n\n4) Fix buffer overrun and unicast sterring bugs in mellanox mlx4 driver,\n   from Eugenia Emantayev.\n\n5) Swapped kcalloc() args in RxRPC and mlx4, from Axel Lin.\n\n6) PHY MDIO device name regression fixes from Florian Fainelli.\n\n7) If the wake event IRQ line is different from the netdevice one, we\n   have to properly route it to the stmmac interrupt handler.  From\n   Francesco Virlinzi.\n\n8) Fix rwlock lock initialization ordering bug in mac80211, from\n   Mohammed Shafi Shajakhan.\n\n9) TCP lost_cnt can get out of sync, and in fact go negative, in certain\n   circumstances.  Fix the way we specify what sequence range to operate\n   on in tcp_sacktag_one() to fix this bug.  From Neal Cardwell.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (27 commits)\n  net/ethernet: ks8851_mll fix irq handling\n  veth: Enforce minimum size of VETH_INFO_PEER\n  stmmac: update the driver version to Feb 2012 (v2)\n  stmmac: move hw init in the probe (v2)\n  stmmac: request_irq when use an ext wake irq line (v2)\n  stmmac: do not discard frame on dribbling bit assert\n  ipheth: Add iPhone 4S\n  mlx4: add unicast steering entries to resource_tracker\n  mlx4: fix QP tree trashing\n  mlx4: fix buffer overrun\n  3c59x: shorten timer period for slave devices\n  netpoll: netpoll_poll_dev() should access dev-\u003eflags\n  RxRPC: Fix kcalloc parameters swapped\n  bnx2x: remove the \u0027poll\u0027 module option\n  tcp: fix tcp_shifted_skb() adjustment of lost_cnt_hint for FACK\n  ks8851: Fix NOHZ local_softirq_pending 08 warning\n  bnx2x: fix bnx2x_storm_stats_update() on big endian\n  ixp4xx-eth: fix PHY name to match MDIO bus name\n  octeon: fix PHY name to match MDIO bus name\n  fec: fix PHY name to match fixed MDIO bus name\n  ...\n"
    },
    {
      "commit": "bff98bfcdb2124e4e640fa6d7c9c7c3d21362760",
      "tree": "6d94d9e8ab057fb85cd634e15a1ddd15df554d30",
      "parents": [
        "4686066689482214781573fcb42300f713d0210c",
        "61cddc57dc14a5dffa0921d9a24fd68edbb374ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:37:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:37:25 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nFixes a bootstrapping issue for some registers when a less commonly used\nmethod for register cache initialisation is used.  Only affects a fairly\nsmall proportion of users that both don\u0027t use explicit register defaults\nand do use the cache.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:\n  regmap: Fix cache defaults initialization from raw cache defaults\n"
    },
    {
      "commit": "4686066689482214781573fcb42300f713d0210c",
      "tree": "dd84c7533f4931d9eb6cb5ecea2f054851fc9fce",
      "parents": [
        "7857b996c28c70e7a2c25930602f5fae4fe2b091",
        "465c9343c5b746ec2325a220fa3e50cc647d2db7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:28:56 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:28:56 2012 -0800"
      },
      "message": "Merge tag \u0027ecryptfs-3.3-rc4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs\n\nFixes maximum filename length and filesystem type reporting in statfs() calls\nand also fixes stale inode mode bits on eCryptfs inodes after a POSIX ACL was\nset on the lower filesystem\u0027s inode.\n\n* tag \u0027ecryptfs-3.3-rc4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tyhicks/ecryptfs:\n  ecryptfs: remove the second argument of k[un]map_atomic()\n  eCryptfs: Copy up lower inode attrs after setting lower xattr\n  eCryptfs: Improve statfs reporting\n"
    },
    {
      "commit": "7857b996c28c70e7a2c25930602f5fae4fe2b091",
      "tree": "3011fd3dd7be12b4811ee8ae73b154a8dc202944",
      "parents": [
        "06ca7c4376b779e6cb11527abc4f609ddca35b58",
        "8dc6ae4d448758a30cf5fa822d6fe6f4e15a04c6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:27:40 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:27:40 2012 -0800"
      },
      "message": "Merge tag \u0027pinctrl\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl\n\npinctrl fixes for v3.3\n\n* tag \u0027pinctrl-for-torvalds-20120216\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:\n  pinctrl: restore pin naming\n"
    },
    {
      "commit": "06ca7c4376b779e6cb11527abc4f609ddca35b58",
      "tree": "3762945d93d82c1489d1ef254941d2af0c5fdc57",
      "parents": [
        "7bcd5b4671c3aa9185a7e6f76ee12e392070ddea",
        "9a45a9407c69d068500923480884661e2b9cc421"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:37 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:37 2012 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nHere are a few more fixes for powerpc.  Some are regressions, the rest\nis simple/obvious/nasty enough that I deemed it good to go now.\n\nHere\u0027s also step one of deprecating legacy iSeries support: we are\nremoving it from the main defconfig.\n\nNobody seems to be using it anymore and the code is nasty to maintain,\n(involves horrible hacks in various low level areas of the kernel) so we\nplan to actually rip it out at some point.  For now let\u0027s just avoid\nbuilding it by default.  Stephen will proceed to do the actual removal\nlater (probably 3.4 or 3.5).\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events\n  powerpc/adb: Use set_current_state()\n  powerpc: Disable interrupts early in Program Check\n  powerpc: Remove legacy iSeries from ppc64_defconfig\n  powerpc/fsl/pci: Fix PCIe fixup regression\n  powerpc: Fix kernel log of oops/panic instruction dump\n"
    },
    {
      "commit": "7bcd5b4671c3aa9185a7e6f76ee12e392070ddea",
      "tree": "db80f1cc57cdec18e46bf8e37691b02f9a2ce35e",
      "parents": [
        "58e44bafbb601b5abc250cdbb032b1f4022ef30a",
        "3682a3946d2b0bad621db871e3bead83e523a238"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:26:11 2012 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci\n\nOne regression fix for SR-IOV on PPC and a couple of misc fixes from\nYinghai.\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci:\n  PCI: Fix pci cardbus removal\n  PCI: set pci sriov page size before reading SRIOV BAR\n  PCI: workaround hard-wired bus number V2\n"
    },
    {
      "commit": "58e44bafbb601b5abc250cdbb032b1f4022ef30a",
      "tree": "e0b618339c64cf1a372e299a9f262dd7670c0b6e",
      "parents": [
        "a18d3afefa0104419b5e069af5922bb57a302426",
        "b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:25:39 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:25:39 2012 -0800"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux\n\n3 radeon fixes, I have some exynos fixes to push later but I\u0027ll queue\nthem separately once I\u0027ve looked them over a bit.\n\n* \u0027drm-fixes\u0027 of git://people.freedesktop.org/~airlied/linux:\n  drm/radeon/kms: fix MSI re-arm on rv370+\n  drm/radeon/kms/atom: bios scratch reg handling updates\n  drm/radeon/kms: drop lock in return path of radeon_fence_count_emitted.\n"
    },
    {
      "commit": "a18d3afefa0104419b5e069af5922bb57a302426",
      "tree": "4bcc6010e2eb46d5d40454c4c9276f1ec6c7fd73",
      "parents": [
        "34ddc81a230b15c0e345b6b253049db731499f7e",
        "f2ea0f5f04c97b48c88edccba52b0682fbe45087"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:24:05 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 15:24:05 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: sha512 - use standard ror64()\n"
    },
    {
      "commit": "34ddc81a230b15c0e345b6b253049db731499f7e",
      "tree": "0c3afd68071ec1a8a1d8724ef9a42ef845ecf402",
      "parents": [
        "f94edacf998516ac9d849f7bc6949a703977a7f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 12:56:35 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 14:03:48 2012 -0800"
      },
      "message": "i387: re-introduce FPU state preloading at context switch time\n\nAfter all the FPU state cleanups and finally finding the problem that\ncaused all our FPU save/restore problems, this re-introduces the\npreloading of FPU state that was removed in commit b3b0870ef3ff (\"i387:\ndo not preload FPU state at task switch time\").\n\nHowever, instead of simply reverting the removal, this reimplements\npreloading with several fixes, most notably\n\n - properly abstracted as a true FPU state switch, rather than as\n   open-coded save and restore with various hacks.\n\n   In particular, implementing it as a proper FPU state switch allows us\n   to optimize the CR0.TS flag accesses: there is no reason to set the\n   TS bit only to then almost immediately clear it again.  CR0 accesses\n   are quite slow and expensive, don\u0027t flip the bit back and forth for\n   no good reason.\n\n - Make sure that the same model works for both x86-32 and x86-64, so\n   that there are no gratuitous differences between the two due to the\n   way they save and restore segment state differently due to\n   architectural differences that really don\u0027t matter to the FPU state.\n\n - Avoid exposing the \"preload\" state to the context switch routines,\n   and in particular allow the concept of lazy state restore: if nothing\n   else has used the FPU in the meantime, and the process is still on\n   the same CPU, we can avoid restoring state from memory entirely, just\n   re-expose the state that is still in the FPU unit.\n\n   That optimized lazy restore isn\u0027t actually implemented here, but the\n   infrastructure is set up for it.  Of course, older CPU\u0027s that use\n   \u0027fnsave\u0027 to save the state cannot take advantage of this, since the\n   state saving also trashes the state.\n\nIn other words, there is now an actual _design_ to the FPU state saving,\nrather than just random historical baggage.  Hopefully it\u0027s easier to\nfollow as a result.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f94edacf998516ac9d849f7bc6949a703977a7f3",
      "tree": "4a5c5487d86f3b3873b8ca1ba1c0b00b832870ad",
      "parents": [
        "4903062b5485f0e2c286a23b44c9b59d9b017d53"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 17 21:48:54 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Feb 18 10:19:41 2012 -0800"
      },
      "message": "i387: move TS_USEDFPU flag from thread_info to task_struct\n\nThis moves the bit that indicates whether a thread has ownership of the\nFPU from the TS_USEDFPU bit in thread_info-\u003estatus to a word of its own\n(called \u0027has_fpu\u0027) in task_struct-\u003ethread.has_fpu.\n\nThis fixes two independent bugs at the same time:\n\n - changing \u0027thread_info-\u003estatus\u0027 from the scheduler causes nasty\n   problems for the other users of that variable, since it is defined to\n   be thread-synchronous (that\u0027s what the \"TS_\" part of the naming was\n   supposed to indicate).\n\n   So perfectly valid code could (and did) do\n\n\tti-\u003estatus |\u003d TS_RESTORE_SIGMASK;\n\n   and the compiler was free to do that as separate load, or and store\n   instructions.  Which can cause problems with preemption, since a task\n   switch could happen in between, and change the TS_USEDFPU bit. The\n   change to TS_USEDFPU would be overwritten by the final store.\n\n   In practice, this seldom happened, though, because the \u0027status\u0027 field\n   was seldom used more than once, so gcc would generally tend to\n   generate code that used a read-modify-write instruction and thus\n   happened to avoid this problem - RMW instructions are naturally low\n   fat and preemption-safe.\n\n - On x86-32, the current_thread_info() pointer would, during interrupts\n   and softirqs, point to a *copy* of the real thread_info, because\n   x86-32 uses %esp to calculate the thread_info address, and thus the\n   separate irq (and softirq) stacks would cause these kinds of odd\n   thread_info copy aliases.\n\n   This is normally not a problem, since interrupts aren\u0027t supposed to\n   look at thread information anyway (what thread is running at\n   interrupt time really isn\u0027t very well-defined), but it confused the\n   heck out of irq_fpu_usable() and the code that tried to squirrel\n   away the FPU state.\n\n   (It also caused untold confusion for us poor kernel developers).\n\nIt also turns out that using \u0027task_struct\u0027 is actually much more natural\nfor most of the call sites that care about the FPU state, since they\ntend to work with the task struct for other reasons anyway (ie\nscheduling).  And the FPU data that we are going to save/restore is\nfound there too.\n\nThanks to Arjan Van De Ven \u003carjan@linux.intel.com\u003e for pointing us to\nthe %esp issue.\n\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nReported-and-tested-by: Raphael Prevost \u003craphael@buro.asia\u003e\nAcked-and-tested-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nTested-by: Peter Anvin \u003chpa@zytor.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4903062b5485f0e2c286a23b44c9b59d9b017d53",
      "tree": "c521dd28c5aa409dcd76ca8a522886fa3c272a31",
      "parents": [
        "b3b0870ef3ffed72b92415423da864f440f57ad6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 19:11:15 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 19:11:15 2012 -0800"
      },
      "message": "i387: move AMD K7/K8 fpu fxsave/fxrstor workaround from save to restore\n\nThe AMD K7/K8 CPUs don\u0027t save/restore FDP/FIP/FOP unless an exception is\npending.  In order to not leak FIP state from one process to another, we\nneed to do a floating point load after the fxsave of the old process,\nand before the fxrstor of the new FPU state.  That resets the state to\nthe (uninteresting) kernel load, rather than some potentially sensitive\nuser information.\n\nWe used to do this directly after the FPU state save, but that is\nactually very inconvenient, since it\n\n (a) corrupts what is potentially perfectly good FPU state that we might\n     want to lazy avoid restoring later and\n\n (b) on x86-64 it resulted in a very annoying ordering constraint, where\n     \"__unlazy_fpu()\" in the task switch needs to be delayed until after\n     the DS segment has been reloaded just to get the new DS value.\n\nCoupling it to the fxrstor instead of the fxsave automatically avoids\nboth of these issues, and also ensures that we only do it when actually\nnecessary (the FP state after a save may never actually get used).  It\u0027s\nsimply a much more natural place for the leaked state cleanup.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b3b0870ef3ffed72b92415423da864f440f57ad6",
      "tree": "b3e128019581669d44e6634d3b1bfb169c73598d",
      "parents": [
        "6d59d7a9f5b723a7ac1925c136e93ec83c0c3043"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 15:45:23 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 15:45:23 2012 -0800"
      },
      "message": "i387: do not preload FPU state at task switch time\n\nYes, taking the trap to re-load the FPU/MMX state is expensive, but so\nis spending several days looking for a bug in the state save/restore\ncode.  And the preload code has some rather subtle interactions with\nboth paravirtualization support and segment state restore, so it\u0027s not\nnearly as simple as it should be.\n\nAlso, now that we no longer necessarily depend on a single bit (ie\nTS_USEDFPU) for keeping track of the state of the FPU, we migth be able\nto do better.  If we are really switching between two processes that\nkeep touching the FP state, save/restore is inevitable, but in the case\nof having one process that does most of the FPU usage, we may actually\nbe able to do much better than the preloading.\n\nIn particular, we may be able to keep track of which CPU the process ran\non last, and also per CPU keep track of which process\u0027 FP state that CPU\nhas.  For modern CPU\u0027s that don\u0027t destroy the FPU contents on save time,\nthat would allow us to do a lazy restore by just re-enabling the\nexisting FPU state - with no restore cost at all!\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "465c9343c5b746ec2325a220fa3e50cc647d2db7",
      "tree": "fbff1765ebac62a5910ba34c15deeb8729fce1be",
      "parents": [
        "545d680938be1e86a6c5250701ce9abaf360c495"
      ],
      "author": {
        "name": "Cong Wang",
        "email": "amwang@redhat.com",
        "time": "Fri Feb 10 13:39:50 2012 +0800"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Feb 16 16:06:27 2012 -0600"
      },
      "message": "ecryptfs: remove the second argument of k[un]map_atomic()\n\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\n"
    },
    {
      "commit": "545d680938be1e86a6c5250701ce9abaf360c495",
      "tree": "c2cb3c9cfbee7c041d137296b72f311179a41f0c",
      "parents": [
        "4a26620df451ad46151ad21d711ed43e963c004e"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Tue Feb 07 17:55:40 2012 -0600"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Feb 16 16:06:27 2012 -0600"
      },
      "message": "eCryptfs: Copy up lower inode attrs after setting lower xattr\n\nAfter passing through a -\u003esetxattr() call, eCryptfs needs to copy the\ninode attributes from the lower inode to the eCryptfs inode, as they\nmay have changed in the lower filesystem\u0027s -\u003esetxattr() path.\n\nOne example is if an extended attribute containing a POSIX Access\nControl List is being set. The new ACL may cause the lower filesystem to\nmodify the mode of the lower inode and the eCryptfs inode would need to\nbe updated to reflect the new mode.\n\nhttps://launchpad.net/bugs/926292\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Sebastien Bacher \u003cseb128@ubuntu.com\u003e\nCc: John Johansen \u003cjohn.johansen@canonical.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "4a26620df451ad46151ad21d711ed43e963c004e",
      "tree": "bf035ea6a656b3e19fe93bf37991632cad96d971",
      "parents": [
        "c38e23456278e967f094b08247ffc3711b1029b2"
      ],
      "author": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Sat Nov 05 13:45:08 2011 -0400"
      },
      "committer": {
        "name": "Tyler Hicks",
        "email": "tyhicks@canonical.com",
        "time": "Thu Feb 16 16:06:21 2012 -0600"
      },
      "message": "eCryptfs: Improve statfs reporting\n\nstatfs() calls on eCryptfs files returned the wrong filesystem type and,\nwhen using filename encryption, the wrong maximum filename length.\n\nIf mount-wide filename encryption is enabled, the cipher block size and\nthe lower filesystem\u0027s max filename length will determine the max\neCryptfs filename length. Pre-tested, known good lengths are used when\nthe lower filesystem\u0027s namelen is 255 and a cipher with 8 or 16 byte\nblock sizes is used. In other, less common cases, we fall back to a safe\nrounded-down estimate when determining the eCryptfs namelen.\n\nhttps://launchpad.net/bugs/885744\n\nSigned-off-by: Tyler Hicks \u003ctyhicks@canonical.com\u003e\nReported-by: Kees Cook \u003ckeescook@chromium.org\u003e\nReviewed-by: Kees Cook \u003ckeescook@chromium.org\u003e\nReviewed-by: John Johansen \u003cjohn.johansen@canonical.com\u003e\n"
    },
    {
      "commit": "6d59d7a9f5b723a7ac1925c136e93ec83c0c3043",
      "tree": "9478d5c1cc3a3f85cc937d8d6ddaad926af7e830",
      "parents": [
        "b6c66418dcad0fcf83cd1d0a39482db37bf4fc41"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 13:33:12 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 13:33:12 2012 -0800"
      },
      "message": "i387: don\u0027t ever touch TS_USEDFPU directly, use helper functions\n\nThis creates three helper functions that do the TS_USEDFPU accesses, and\nmakes everybody that used to do it by hand use those helpers instead.\n\nIn addition, there\u0027s a couple of helper functions for the \"change both\nCR0.TS and TS_USEDFPU at the same time\" case, and the places that do\nthat together have been changed to use those.  That means that we have\nfewer random places that open-code this situation.\n\nThe intent is partly to clarify the code without actually changing any\nsemantics yet (since we clearly still have some hard to reproduce bug in\nthis area), but also to make it much easier to use another approach\nentirely to caching the CR0.TS bit for software accesses.\n\nRight now we use a bit in the thread-info \u0027status\u0027 variable (this patch\ndoes not change that), but we might want to make it a full field of its\nown or even make it a per-cpu variable.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b6c66418dcad0fcf83cd1d0a39482db37bf4fc41",
      "tree": "0a23207a2ab766341fbf60d76b2c10984ec6e5ca",
      "parents": [
        "15d8791cae75dca27bfda8ecfe87dca9379d6bb0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 12:22:48 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 12:22:48 2012 -0800"
      },
      "message": "i387: move TS_USEDFPU clearing out of __save_init_fpu and into callers\n\nTouching TS_USEDFPU without touching CR0.TS is confusing, so don\u0027t do\nit.  By moving it into the callers, we always do the TS_USEDFPU next to\nthe CR0.TS accesses in the source code, and it\u0027s much easier to see how\nthe two go hand in hand.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15d8791cae75dca27bfda8ecfe87dca9379d6bb0",
      "tree": "e8e2cd53544eda0644ee141b6b0414e34d96f6be",
      "parents": [
        "c38e23456278e967f094b08247ffc3711b1029b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 09:15:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 16 09:15:04 2012 -0800"
      },
      "message": "i387: fix x86-64 preemption-unsafe user stack save/restore\n\nCommit 5b1cbac37798 (\"i387: make irq_fpu_usable() tests more robust\")\nadded a sanity check to the #NM handler to verify that we never cause\nthe \"Device Not Available\" exception in kernel mode.\n\nHowever, that check actually pinpointed a (fundamental) race where we do\ncause that exception as part of the signal stack FPU state save/restore\ncode.\n\nBecause we use the floating point instructions themselves to save and\nrestore state directly from user mode, we cannot do that atomically with\ntesting the TS_USEDFPU bit: the user mode access itself may cause a page\nfault, which causes a task switch, which saves and restores the FP/MMX\nstate from the kernel buffers.\n\nThis kind of \"recursive\" FP state save is fine per se, but it means that\nwhen the signal stack save/restore gets restarted, it will now take the\n\u0027#NM\u0027 exception we originally tried to avoid.  With preemption this can\nhappen even without the page fault - but because of the user access, we\ncannot just disable preemption around the save/restore instruction.\n\nThere are various ways to solve this, including using the\n\"enable/disable_page_fault()\" helpers to not allow page faults at all\nduring the sequence, and fall back to copying things by hand without the\nuse of the native FP state save/restore instructions.\n\nHowever, the simplest thing to do is to just allow the #NM from kernel\nspace, but fix the race in setting and clearing CR0.TS that this all\nexposed: the TS bit changes and the TS_USEDFPU bit absolutely have to be\natomic wrt scheduling, so while the actual state save/restore can be\ninterrupted and restarted, the act of actually clearing/setting CR0.TS\nand the TS_USEDFPU bit together must not.\n\nInstead of just adding random \"preempt_disable/enable()\" calls to what\nis already excessively ugly code, this introduces some helper functions\nthat mostly mirror the \"kernel_fpu_begin/end()\" functionality, just for\nthe user state instead.\n\nThose helper functions should probably eventually replace the other\nad-hoc CR0.TS and TS_USEDFPU tests too, but I\u0027ll need to think about it\nsome more: the task switching functionality in particular needs to\nexpose the difference between the \u0027prev\u0027 and \u0027next\u0027 threads, while the\nnew helper functions intentionally were written to only work with\n\u0027current\u0027.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a45a9407c69d068500923480884661e2b9cc421",
      "tree": "8ff43b5fd98ab68352dc4dd0823401a5736afab2",
      "parents": [
        "64f8c13561fbd2f1a8b4a8975b2aee73b561093e"
      ],
      "author": {
        "name": "Anton Blanchard",
        "email": "anton@samba.org",
        "time": "Wed Feb 15 18:48:22 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:24:35 2012 +1100"
      },
      "message": "powerpc/perf: power_pmu_start restores incorrect values, breaking frequency events\n\nperf on POWER stopped working after commit e050e3f0a71b (perf: Fix\nbroken interrupt rate throttling). That patch exposed a bug in\nthe POWER perf_events code.\n\nSince the PMCs count upwards and take an exception when the top bit\nis set, we want to write 0x80000000 - left in power_pmu_start. We were\ninstead programming in left which effectively disables the counter\nuntil we eventually hit 0x80000000. This could take seconds or longer.\n\nWith the patch applied I get the expected number of samples:\n\n          SAMPLE events:       9948\n\nSigned-off-by: Anton Blanchard \u003canton@samba.org\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: \u003cstable@kernel.org\u003e\n"
    },
    {
      "commit": "64f8c13561fbd2f1a8b4a8975b2aee73b561093e",
      "tree": "96a397f590a064de9987ff1144a293fc2bf3602f",
      "parents": [
        "54321242afe6fcf8b7e589bc21ecf832bc5a206a"
      ],
      "author": {
        "name": "majianpeng",
        "email": "majianpeng@gmail.com",
        "time": "Fri Feb 03 14:35:59 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:12 2012 +1100"
      },
      "message": "powerpc/adb: Use set_current_state()\n\nSigned-off-by: majianpeng \u003cmajianpeng@gmail.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "54321242afe6fcf8b7e589bc21ecf832bc5a206a",
      "tree": "dfc1d3bd73cd1c28421e27bbbbcad60368a69907",
      "parents": [
        "a1a1d1bfc9be2a5ea8cce78ebd0f17c79489f053"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Mon Feb 13 20:42:18 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:10 2012 +1100"
      },
      "message": "powerpc: Disable interrupts early in Program Check\n\nProgram Check exceptions are the result of WARNs, BUGs, some\ntype of breakpoints, kprobe, and other illegal instructions.\n\nWe want interrupts (and thus preemption) to remain disabled\nwhile doing the initial stage of testing the reason and\nbranching off to a debugger or kprobe, so we are still on\nthe original CPU which makes debugging easier in various cases.\n\nThis is how the code was intended, hence the local_irq_enable()\nright in the middle of program_check_exception().\n\nHowever, the assembly exception prologue for that exception was\nincorrectly marked as enabling interrupts, which defeats that\n(and records a redundant enable with lockdep).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "a1a1d1bfc9be2a5ea8cce78ebd0f17c79489f053",
      "tree": "78a3d679a281096d34c8437e38547d3fcb0e3b2c",
      "parents": [
        "13635dfdc6aa8d2890e02dc441decfcb4ae63e14"
      ],
      "author": {
        "name": "Stephen Rothwell",
        "email": "sfr@canb.auug.org.au",
        "time": "Tue Feb 14 16:31:09 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:08 2012 +1100"
      },
      "message": "powerpc: Remove legacy iSeries from ppc64_defconfig\n\nSince we are heading towards removing the Legacy iSeries platform, start\nby no longer building it for ppc64_defconfig.\n\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "13635dfdc6aa8d2890e02dc441decfcb4ae63e14",
      "tree": "817d08d8b06183bccb28e0c829213f1fceab3b3a",
      "parents": [
        "40c8cefaaf12734327db7199a56e60058d98e7b6"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 18:22:20 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:15:03 2012 +1100"
      },
      "message": "powerpc/fsl/pci: Fix PCIe fixup regression\n\nUpstream changes to the way PHB resources are registered\nbroke the resource fixup for FSL boards.\n\nWe can no longer rely on the resource pointer array for the PHB\u0027s\npci_bus structure, so let\u0027s leave it alone and go straight for\nthe PHB resources instead. This also makes the code generally\nmore readable.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "40c8cefaaf12734327db7199a56e60058d98e7b6",
      "tree": "639b20e1e2229f3bcc03c5ef92dcfa7ca784cd65",
      "parents": [
        "778a785f02ad846446e91dab49331bd7d853c514"
      ],
      "author": {
        "name": "Ira Snyder",
        "email": "iws@ovro.caltech.edu",
        "time": "Fri Jan 06 12:34:07 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Thu Feb 16 16:11:23 2012 +1100"
      },
      "message": "powerpc: Fix kernel log of oops/panic instruction dump\n\nA kernel oops/panic prints an instruction dump showing several\ninstructions before and after the instruction which caused the\noops/panic.\n\nThe code intended that the faulting instruction be enclosed in angle\nbrackets, however a bug caused the faulting instruction to be\ninterpreted by printk() as the message log level.\n\nTo fix this, the KERN_CONT log level is added before the actual text of\nthe printed message.\n\n\u003d\u003d\u003d Before the patch \u003d\u003d\u003d\n\n[ 1081.587266] Instruction dump:\n[ 1081.590236] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n[ 1081.598034] 3d20c03a 9009a114 7c0004ac 39200000\n[ 1081.602500]  4e800020 3803ffd0 2b800009\n\n\u003c4\u003e[ 1081.587266] Instruction dump:\n\u003c4\u003e[ 1081.590236] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n\u003c4\u003e[ 1081.598034] 3d20c03a 9009a114 7c0004ac 39200000\n\u003c98090000\u003e[ 1081.602500]  4e800020 3803ffd0 2b800009\n\n\u003d\u003d\u003d After the patch \u003d\u003d\u003d\n\n[   51.385216] Instruction dump:\n[   51.388186] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n[   51.395986] 3d20c03a 9009a114 7c0004ac 39200000 \u003c98090000\u003e 4e800020 3803ffd0 2b800009\n\n\u003c4\u003e[   51.385216] Instruction dump:\n\u003c4\u003e[   51.388186] 7c000110 7c0000f8 5400077c 552907f6 7d290378 992b0003 4e800020 38000001\n\u003c4\u003e[   51.395986] 3d20c03a 9009a114 7c0004ac 39200000 \u003c98090000\u003e 4e800020 3803ffd0 2b800009\n\nSigned-off-by: Ira W. Snyder \u003ciws@ovro.caltech.edu\u003e\nCc: Paul Mackerras \u003cpaulus@samba.org\u003e\nCc: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nCc: linuxppc-dev@lists.ozlabs.org\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f2ea0f5f04c97b48c88edccba52b0682fbe45087",
      "tree": "53ee15dd4d1a2122d0e571dc8263353acb54f333",
      "parents": [
        "3a92d687c8015860a19213e3c102cad6b722f83c"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sat Jan 14 21:44:49 2012 +0300"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 16 12:12:33 2012 +0800"
      },
      "message": "crypto: sha512 - use standard ror64()\n\nUse standard ror64() instead of hand-written.\nThere is no standard ror64, so create it.\n\nThe difference is shift value being \"unsigned int\" instead of uint64_t\n(for which there is no reason). gcc starts to emit native ROR instructions\nwhich it doesn\u0027t do for some reason currently. This should make the code\nfaster.\n\nPatch survives in-tree crypto test and ping flood with hmac(sha512) on.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6c23e4132258be41218584cfb37a43d9346cdd64",
      "tree": "2121139424540e89e1f5b2ead40c96db5cc0b12b",
      "parents": [
        "237114384ab22c174ec4641e809f8e6cbcfce774"
      ],
      "author": {
        "name": "Jan Weitzel",
        "email": "j.weitzel@phytec.de",
        "time": "Tue Feb 14 21:35:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 15:41:10 2012 -0500"
      },
      "message": "net/ethernet: ks8851_mll fix irq handling\n\nThere a two different irq variables ks-\u003eirq and netdev-\u003eirq.\nOnly ks-\u003eirq is set on probe, so disabling irq in ks_start_xmit fails.\n\nThis patches remove ks-\u003eirq from private data and use only netdev-\u003eirq.\n\nTested on a kernel 3.0 based OMAP4430 SMP Board\n\nSigned-off-by: Jan Weitzel \u003cj.weitzel@phytec.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "237114384ab22c174ec4641e809f8e6cbcfce774",
      "tree": "9571ac28f82724a140367ad754b4946a889f2b70",
      "parents": [
        "78a5249fc9dc0f8c70221751dc79b6d918e5ee9a"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Wed Feb 15 04:09:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:59:20 2012 -0500"
      },
      "message": "veth: Enforce minimum size of VETH_INFO_PEER\n\nVETH_INFO_PEER carries struct ifinfomsg plus optional IFLA\nattributes. A minimal size of sizeof(struct ifinfomsg) must be\nenforced or we may risk accessing that struct beyond the limits\nof the netlink message.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78a5249fc9dc0f8c70221751dc79b6d918e5ee9a",
      "tree": "96b29593a2c9042cd42e38e4f40f84b1ddf7afad",
      "parents": [
        "cf3f047b9af49d4ee8abfa31b0ef0e99cbcaf17d"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Wed Feb 15 00:10:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:52:10 2012 -0500"
      },
      "message": "stmmac: update the driver version to Feb 2012 (v2)\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf3f047b9af49d4ee8abfa31b0ef0e99cbcaf17d",
      "tree": "695883ca9df55d62ee83d35fc86a37e47bcb04f6",
      "parents": [
        "7a13f8f5b63652c035147aab5fcba7ee9101f1fb"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Wed Feb 15 00:10:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:52:10 2012 -0500"
      },
      "message": "stmmac: move hw init in the probe (v2)\n\nThis patch moves the MAC HW initialization and\nthe HW feature verification from the open to the probe\nfunction as D. Miller suggested.\nSo the patch actually reorganizes and tidies-up some parts of\nthe driver and indeed fixes some problem when tune its HW features.\nThese can be overwritten by looking at the HW cap register at\nrun-time and that generated problems.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nReviewed-by: Francesco Virlinzi \u003cfrancesco.virlinzi@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a13f8f5b63652c035147aab5fcba7ee9101f1fb",
      "tree": "7fab8140357475616df961b140a7e4d402231938",
      "parents": [
        "1cc5a735185a963ed9324a65e1f2db02bf52c0d4"
      ],
      "author": {
        "name": "Francesco Virlinzi",
        "email": "francesco.virlinzi@st.com",
        "time": "Wed Feb 15 00:10:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:52:10 2012 -0500"
      },
      "message": "stmmac: request_irq when use an ext wake irq line (v2)\n\nIn case of we use an external Wake-Up IRQ line\n(priv-\u003ewol_irq !\u003d dev-\u003eirq) we need to invoke the\nrequest_irq.\n\nSigned-off-by: Francesco Virlinzi \u003cfrancesco.virlinzi@st.com\u003e\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1cc5a735185a963ed9324a65e1f2db02bf52c0d4",
      "tree": "5e280cb7f6626080ab4ab8e2be01841fbaf6c4f6",
      "parents": [
        "72ba009b8a159e995e40d3b4e5d7d265acead983"
      ],
      "author": {
        "name": "Giuseppe CAVALLARO",
        "email": "peppe.cavallaro@st.com",
        "time": "Wed Feb 15 00:10:37 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:52:10 2012 -0500"
      },
      "message": "stmmac: do not discard frame on dribbling bit assert\n\nIf this bit is set and the CRC error is reset, then the packet is valid.\nOnly report this as stat info.\n\nSigned-off-by: Giuseppe Cavallaro \u003cpeppe.cavallaro@st.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "72ba009b8a159e995e40d3b4e5d7d265acead983",
      "tree": "bed23845d49de76c6ce0507b28c3b7ab38fbed91",
      "parents": [
        "9f5b6c632eb3b495d5ae701c43e67da930b1f637"
      ],
      "author": {
        "name": "Tim Gardner",
        "email": "tim.gardner@canonical.com",
        "time": "Wed Feb 15 07:50:15 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:50:16 2012 -0500"
      },
      "message": "ipheth: Add iPhone 4S\n\nBugLink: http://bugs.launchpad.net/bugs/900802\n\nCc: stable@vger.kernel.org 3.2+\nSigned-off-by: Till Kamppeter \u003ctill.kamppeter@gmail.com\u003e\nSigned-off-by: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9f5b6c632eb3b495d5ae701c43e67da930b1f637",
      "tree": "7898b3b5db0f0f8fe08eca1c2ea01372777593ee",
      "parents": [
        "2531188b476c83fe29b1d3498a76e329f4b6f16b"
      ],
      "author": {
        "name": "Eugenia Emantayev",
        "email": "eugenia@mellanox.co.il",
        "time": "Wed Feb 15 06:23:16 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:50:16 2012 -0500"
      },
      "message": "mlx4: add unicast steering entries to resource_tracker\n\nAdd unicast steering entries to resource tracker.\nDo qp_detach also for these entries when VF doesn\u0027t shut down gracefully.\nOtherwise there is leakage of these resources, since they are not tracked.\n\nSigned-off-by: Eugenia Emantayev \u003ceugenia@mellanox.co.il\u003e\nReviewed-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2531188b476c83fe29b1d3498a76e329f4b6f16b",
      "tree": "304f540bab2412ce662ab35b3f7d9d08ed2e42f6",
      "parents": [
        "75c6062cb797afe624d65c955eb867035622e782"
      ],
      "author": {
        "name": "Eugenia Emantayev",
        "email": "eugenia@mellanox.co.il",
        "time": "Wed Feb 15 06:22:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:50:16 2012 -0500"
      },
      "message": "mlx4: fix QP tree trashing\n\nWhen adding new unicast steer entry, before moving qp to state ready,\nactually before calling mlx4_RST2INIT_QP_wrapper(), there were added\na lot of entries with local_qpn\u003d0 into radix tree.\nThis fact impacted the get_res() function and proper functioning\nof resource tracker in addition to adding trash entries into radix tree.\n\nSigned-off-by: Eugenia Emantayev \u003ceugenia@mellanox.co.il\u003e\nReviewed-by: Yevgeny Petrilin \u003cyevgenyp@melllanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "75c6062cb797afe624d65c955eb867035622e782",
      "tree": "756b4b28f3316befae7dcd6d540eb9924a87031d",
      "parents": [
        "33b5d30cd8b200024d55ac5830c9efde1102ef4c"
      ],
      "author": {
        "name": "Eugenia Emantayev",
        "email": "eugenia@mellanox.co.il",
        "time": "Wed Feb 15 06:22:49 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 14:50:15 2012 -0500"
      },
      "message": "mlx4: fix buffer overrun\n\nWhen passing MLX4_UC_STEER\u003d1 it was translated to value 2\nafter mlx4_QP_ATTACH_wrapper. Therefore in new_steering_entry()\nunicast steer entries were added to index 2 of array of size 2.\nFixing this bug by shift right to one position.\n\nSigned-off-by: Eugenia Emantayev \u003ceugenia@mellanox.co.il\u003e\nReviewed-by: Yevgeny Petrilin \u003cyevgenyp@mellanox.co.il\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "33b5d30cd8b200024d55ac5830c9efde1102ef4c",
      "tree": "4788d50ad6994a40bda8e146db4ca9674a482b92",
      "parents": [
        "3013dc0cceb9baaf25d5624034eeaa259bf99004",
        "c27111e5b8d6b1e9296f7075cdc35872f672b524"
      ],
      "author": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 13:41:52 2012 -0500"
      },
      "committer": {
        "name": "John W. Linville",
        "email": "linville@tuxdriver.com",
        "time": "Wed Feb 15 13:41:52 2012 -0500"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem\n"
    },
    {
      "commit": "61cddc57dc14a5dffa0921d9a24fd68edbb374ac",
      "tree": "f909dda9bab29b39cecbd67bc9af008a0cf1ec03",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Feb 15 10:23:25 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 15 08:31:32 2012 -0800"
      },
      "message": "regmap: Fix cache defaults initialization from raw cache defaults\n\nCurrently registers with a value of 0 are ignored when initializing the register\ndefaults from raw defaults. This worked in the past, because registers without a\nexplicit default were assumed to have a default value of 0. This was changed in\ncommit b03622a8 (\"regmap: Ensure rbtree syncs registers set to zero properly\").\nAs a result registers, which have a raw default value of 0 are now assumed to\nhave no default. This again can result in unnecessary writes when syncing the\ncache. It will also result in unnecessary reads for e.g. the first update\noperation. In the case where readback is not possible this will even let the\nupdate operation fail, if the register has not been written to before.\n\nSo this patch removes the check. Instead it adds a check to ignore raw defaults\nfor registers which are volatile, since those registers are not cached.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "c38e23456278e967f094b08247ffc3711b1029b2",
      "tree": "ecd87e1fcd9c4e397d531081e45718cae132f7c1",
      "parents": [
        "7ada1dd62804ca9ce1cb8666c6e563cd92fa50c1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 15 08:05:18 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 15 08:05:18 2012 -0800"
      },
      "message": "i387: fix sense of sanity check\n\nThe check for save_init_fpu() (introduced in commit 5b1cbac37798: \"i387:\nmake irq_fpu_usable() tests more robust\") was the wrong way around, but\nI hadn\u0027t noticed, because my \"tests\" were bogus: the FPU exceptions are\ndisabled by default, so even doing a divide by zero never actually\ntriggers this code at all unless you do extra work to enable them.\n\nSo if anybody did enable them, they\u0027d get one spurious warning.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7ada1dd62804ca9ce1cb8666c6e563cd92fa50c1",
      "tree": "210489b69f5db64fb0450a310ce9f8762121a66f",
      "parents": [
        "ebf4bcbd5f249afc8f48a7aa32255f8ebbff5876",
        "9fc886a1880766fb91cb27c2e96bd814cef640d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:26:42 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:26:42 2012 -0800"
      },
      "message": "Merge tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator\n\nOne small bug fix from Axel plus a fix for a build failure in unrealistic\nbut commonly built configs which for some reason manage to survive for\nan awfully long time in -next without any reports.\n\n* tag \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:\n  regulator: Fix getting voltage in max8649_enable_time()\n  regulator: Fix mc13xxx regulator modular build (again)\n"
    },
    {
      "commit": "ebf4bcbd5f249afc8f48a7aa32255f8ebbff5876",
      "tree": "47fdb196fc109411d4524bf2c25d88a6d5470477",
      "parents": [
        "8b36ac50da8e12d0469a7268ddbd6cab29307deb",
        "778a785f02ad846446e91dab49331bd7d853c514"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:21:25 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:21:25 2012 -0800"
      },
      "message": "Merge branch \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc\n\nQuoth BenH:\n \"Here are a few powerpc fixes for 3.3, all pretty trivial.  I also\n  added the patch to define GET_IP/SET_IP so we can use some more\n  asm-generic goodness.\"\n\n* \u0027merge\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:\n  powerpc/pseries/eeh: Fix crash when error happens during device probe\n  powerpc/pseries: Fix partition migration hang in stop_topology_update\n  powerpc/powernv: Disable interrupts while taking phb-\u003elock\n  powerpc: Fix WARN_ON in decrementer_check_overflow\n  powerpc/wsp: Fix IRQ affinity setting\n  powerpc: Implement GET_IP/SET_IP\n  powerpc/wsp: Permanently enable PCI class code workaround\n"
    },
    {
      "commit": "8b36ac50da8e12d0469a7268ddbd6cab29307deb",
      "tree": "4a48e1ea476dc4753f139eac01be0c4c576810fc",
      "parents": [
        "694ce18ec3485f5b0a4f3820073f5e2b0b4e0870",
        "f9c2a0dc42a6938ff2a80e55ca2bbd1d5581c72e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:50 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:50 2012 -0800"
      },
      "message": "Merge tag \u0027mmc-fixes-for-3.3-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc\n\nMMC fixes for 3.3-rc4:\n * The most visible fix here is against a regression introduced in 3.3-rc1\n   that ran cards in Ultra High Speed mode even when they failed to initialize\n   in that mode, leading to lower-speed cards failing to mount.\n * A lockdep warning introduced in 3.3-rc1 is fixed.\n * Various other small driver fixes, most notably for a NULL dereference\n   when using highmem with dw_mmc.\n\n* tag \u0027mmc-fixes-for-3.3-rc4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc:\n  mmc: dw_mmc: Fix PIO mode with support of highmem\n  mmc: atmel-mci: save and restore sdioirq when soft reset is performed\n  mmc: block: Init ro_lock sysfs attr to fix lockdep warnings\n  mmc: sh_mmcif: fix late delayed work initialisation\n  mmc: tmio_mmc: fix card eject during IO with DMA\n  mmc: core: Fix comparison issue in mmc_compare_ext_csds\n  mmc: core: Fix PowerOff Notify suspend/resume\n  mmc: sdhci-pci: set Medfield SDIO as non-removable\n  mmc: core: add the capability for broken voltage\n  mmc: core: Fix low speed mmc card detection failure\n  mmc: esdhc: set the timeout to the max value\n  mmc: esdhc: add PIO mode support\n  mmc: core: Ensure clocks are always enabled before host interaction\n  mmc: of_mmc_spi: fix little endian support\n  mmc: core: UHS sdio card that fails should not exceed 50MHz\n  mmc: esdhc: fix errors when booting kernel on Freescale eSDHC version 2.3\n"
    },
    {
      "commit": "694ce18ec3485f5b0a4f3820073f5e2b0b4e0870",
      "tree": "e979926df34b41e17024107ee4731739608d8b51",
      "parents": [
        "13d261932bbfff7f45f288c5c8cce43177cccd3b",
        "a43a5ccdfa5bd5b2f00aa9b2321df268c2e5d6e2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:11 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 15:20:11 2012 -0800"
      },
      "message": "Merge tag \u0027stable/for-linus-fixes-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen\n\nTwo fixes for VCPU offlining; One to fix the string format exposed\nby the xen-pci[front|back] to conform to the one used in majority of\nPCI drivers; Two fixes to make the code more resilient to invalid\nconfigurations.\n\nSigned-off-by: Konrad Rzeszutek Wilk \u003ckonrad.wilk@oracle.com\u003e\n\n* tag \u0027stable/for-linus-fixes-3.3-rc3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:\n  xenbus_dev: add missing error check to watch handling\n  xen/pci[front|back]: Use %d instead of %1x for displaying PCI devfn.\n  xen pvhvm: do not remap pirqs onto evtchns if !xen_have_vector_callback\n  xen/smp: Fix CPU online/offline bug triggering a BUG: scheduling while atomic.\n  xen/bootup: During bootup suppress XENBUS: Unable to read cpu state\n"
    },
    {
      "commit": "3013dc0cceb9baaf25d5624034eeaa259bf99004",
      "tree": "2e02935bf2ddbcfc3f398484228b146000ef8eb9",
      "parents": [
        "58e05f357a039a94aa36475f8c110256f693a239"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Feb 14 10:27:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 14 16:28:23 2012 -0500"
      },
      "message": "3c59x: shorten timer period for slave devices\n\nJean Delvare reported bonding on top of 3c59x adapters was not detecting\nnetwork cable removal fast enough.\n\n3c59x indeed uses a 60 seconds timer to check link status if carrier is\non, and 5 seconds if carrier is off.\n\nThis patch reduces timer period to 5 seconds if device is a bonding\nslave.\n\nReported-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nAcked-by: Jean Delvare \u003cjdelvare@suse.de\u003e\nAcked-by: Steffen Klassert \u003csteffen.klassert@secunet.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58e05f357a039a94aa36475f8c110256f693a239",
      "tree": "c9f03ac6514a6e4de646880be1f2e6d7764b8fea",
      "parents": [
        "f65bd5ec47a4461bc575d5d34902fd18b6ec5542"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Feb 14 10:11:59 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 14 15:24:26 2012 -0500"
      },
      "message": "netpoll: netpoll_poll_dev() should access dev-\u003eflags\n\ncommit 5a698af53f (bond: service netpoll arp queue on master device)\ntested IFF_SLAVE flag against dev-\u003epriv_flags instead of dev-\u003eflags\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: WANG Cong \u003camwang@redhat.com\u003e\nAcked-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f65bd5ec47a4461bc575d5d34902fd18b6ec5542",
      "tree": "a3620efc993f54214badf3c9b738a00aab840087",
      "parents": [
        "fc543637525b59af38af2ce09a4dbdd7d5eb27bf"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Mon Feb 13 20:19:14 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 14 14:41:55 2012 -0500"
      },
      "message": "RxRPC: Fix kcalloc parameters swapped\n\nThe first parameter should be \"number of elements\" and the second parameter\nshould be \"element size\".\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc543637525b59af38af2ce09a4dbdd7d5eb27bf",
      "tree": "e40c1d57c91650beded648cc2716bb6738797d75",
      "parents": [
        "0af2a0d0576205dda778d25c6c344fc6508fc81d"
      ],
      "author": {
        "name": "Michal Schmidt",
        "email": "mschmidt@redhat.com",
        "time": "Tue Feb 14 09:05:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 14 14:39:45 2012 -0500"
      },
      "message": "bnx2x: remove the \u0027poll\u0027 module option\n\n\u0027poll\u0027 was a debugging option, but turning it on these days leads to\nkernel panic. Remove it.\n\nSigned-off-by: Michal Schmidt \u003cmschmidt@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0af2a0d0576205dda778d25c6c344fc6508fc81d",
      "tree": "3f3b3d70ed8d614c2b64ddeaaac27f526e844497",
      "parents": [
        "fbcf88b8833ce2c404b9a0e7caab82b20312cbbc"
      ],
      "author": {
        "name": "Neal Cardwell",
        "email": "ncardwell@google.com",
        "time": "Mon Feb 13 20:22:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 14 14:38:57 2012 -0500"
      },
      "message": "tcp: fix tcp_shifted_skb() adjustment of lost_cnt_hint for FACK\n\nThis commit ensures that lost_cnt_hint is correctly updated in\ntcp_shifted_skb() for FACK TCP senders. The lost_cnt_hint adjustment\nin tcp_sacktag_one() only applies to non-FACK senders, so FACK senders\nneed their own adjustment.\n\nThis applies the spirit of 1e5289e121372a3494402b1b131b41bfe1cf9b7f -\nexcept now that the sequence range passed into tcp_sacktag_one() is\ncorrect we need only have a special case adjustment for FACK.\n\nSigned-off-by: Neal Cardwell \u003cncardwell@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "13d261932bbfff7f45f288c5c8cce43177cccd3b",
      "tree": "0ed1c6e4c79f5e08fc2211dc96b7776afec6f8fc",
      "parents": [
        "ce5afed937f0a823d3b00c9459409c3f5f2fbd5d",
        "27c3afe6e1cf129faac90405121203962da08ff4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 09:09:24 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Feb 14 09:09:24 2012 -0800"
      },
      "message": "Merge tag \u0027sound-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound\n\nsound fixes for 3.3-rc4\n\nBasically all small fixes suited as rc4: a few HD-audio regression fixes,\na stable fix for an old Dell laptop with intel8x0, and a simple fix for\nASoC fsi.\n\n* tag \u0027sound-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:\n  ALSA: intel8x0: Fix default inaudible sound on Gateway M520\n  ALSA: hda - Fix silent speaker output on Acer Aspire 6935\n  ALSA: hda - Fix initialization of secondary capture source on VT1705\n  ASoC: fsi: fixup fsi_pointer() calculation method\n  ALSA: hda - Fix mute-LED VREF value for new HP laptops\n"
    },
    {
      "commit": "b7f5b7dec3d539a84734f2bcb7e53fbb1532a40b",
      "tree": "c901dee3518d50d4f543e5ad9df565a904e5c06c",
      "parents": [
        "6f9f8a61089bb177e53e14ee62f4a65134f3692f"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Feb 13 16:36:34 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Feb 14 13:36:23 2012 +0000"
      },
      "message": "drm/radeon/kms: fix MSI re-arm on rv370+\n\nMSI_REARM_EN register is a write only trigger register.\nThere is no need RMW when re-arming.\n\nMay fix:\nhttps://bugs.freedesktop.org/show_bug.cgi?id\u003d41668\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nCC: stable@vger.kernel.org\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "6f9f8a61089bb177e53e14ee62f4a65134f3692f",
      "tree": "0cda17a6cdeeb6bc743d8d1040e7d9ccd2d5b3f5",
      "parents": [
        "40e8c738785a25be585fcf661c6bb32f1a090ef2"
      ],
      "author": {
        "name": "Alex Deucher",
        "email": "alexander.deucher@amd.com",
        "time": "Mon Feb 13 08:59:41 2012 -0500"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Feb 14 10:56:51 2012 +0000"
      },
      "message": "drm/radeon/kms/atom: bios scratch reg handling updates\n\n- Add missing DFP6 connection state handling\n- crtc routing bits not used on DCE4+\n\nNoticed by sylware on phoronix.\n\nSigned-off-by: Alex Deucher \u003calexander.deucher@amd.com\u003e\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "40e8c738785a25be585fcf661c6bb32f1a090ef2",
      "tree": "581bf17f3e4556d6a1d00302e55a41ab68039c4b",
      "parents": [
        "ce5afed937f0a823d3b00c9459409c3f5f2fbd5d"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Feb 13 12:18:37 2012 +0000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Tue Feb 14 10:56:16 2012 +0000"
      },
      "message": "drm/radeon/kms: drop lock in return path of radeon_fence_count_emitted.\n\nSilly bad return path.\n\nReported-and-Tested-by: Mikko Vinni\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": "27c3afe6e1cf129faac90405121203962da08ff4",
      "tree": "f8a5cf6ad004cb83ca5f2224aeb1f39195750a63",
      "parents": [
        "675c67afb6a05907d9683ef176f41852bb1b5b9d"
      ],
      "author": {
        "name": "Daniel T Chen",
        "email": "crimsun@ubuntu.com",
        "time": "Mon Feb 13 23:44:22 2012 -0500"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Feb 14 09:33:47 2012 +0100"
      },
      "message": "ALSA: intel8x0: Fix default inaudible sound on Gateway M520\n\nBugLink: https://bugs.launchpad.net/bugs/930842\n\nThe reporter states that audio is inaudible by default without muting\n\u0027External Amplifier\u0027. Add a quirk to handle his SSID so that changing\nthe control is not necessary.\n\nReported-and-tested-by: Benjamin Carlson \u003celderbubba0810@gmail.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Daniel T Chen \u003ccrimsun@ubuntu.com\u003e\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "675c67afb6a05907d9683ef176f41852bb1b5b9d",
      "tree": "3b10821811da038702364d1940bdac5b51261d17",
      "parents": [
        "a68f20ef80e62b3dfed3097ad57ec88550cdabe7",
        "1987877d869027ab63dc9df515e11f19279a8091"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Feb 14 09:24:58 2012 +0100"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Tue Feb 14 09:24:58 2012 +0100"
      },
      "message": "Merge tag \u0027asoc-3.3\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus\n\nA simple fix from Morimoto-san for the pointer() operation in the FSI\ndriver.\n"
    },
    {
      "commit": "ce5afed937f0a823d3b00c9459409c3f5f2fbd5d",
      "tree": "e2c488ad8a634812459fd733f87b673ccf1977d6",
      "parents": [
        "ca81a62198e39ad9155f12725c269fcc2a9f1f8b",
        "ff4fa4a25a33f92b5653bb43add0c63bea98d464"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 20:34:44 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 20:34:44 2012 -0800"
      },
      "message": "Merge git://git.samba.org/sfrench/cifs-2.6\n\n* git://git.samba.org/sfrench/cifs-2.6:\n  cifs: don\u0027t return error from standard_receive3 after marking response malformed\n  cifs: request oplock when doing open on lookup\n  cifs: fix error handling when cifscreds key payload is an error\n"
    },
    {
      "commit": "ca81a62198e39ad9155f12725c269fcc2a9f1f8b",
      "tree": "922decd817e170899c30eaa47335bec080f020da",
      "parents": [
        "e3f89f4ae4ea0227d49ff1cc1276ef04b2749ed2",
        "3a92d687c8015860a19213e3c102cad6b722f83c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 20:33:45 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Feb 13 20:33:45 2012 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\nThis updates the sha512 fix so that it doesn\u0027t cause excessive stack\nusage on i386.  This is done by reverting to the original code, and\navoiding the W duplication by moving its initialisation into the loop.\n\nAs the underlying code is in fact the one that we have used for years,\nI\u0027m pushing this now instead of postponing to the next cycle.\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: sha512 - Avoid stack bloat on i386\n  crypto: sha512 - Use binary and instead of modulus\n"
    },
    {
      "commit": "778a785f02ad846446e91dab49331bd7d853c514",
      "tree": "4f8969fe08df41ced83f44ec9dd459ab10e72d69",
      "parents": [
        "444080d13d05dc38d07dd3bf751d38bce7ab7c72"
      ],
      "author": {
        "name": "Thadeu Lima de Souza Cascardo",
        "email": "cascardo@linux.vnet.ibm.com",
        "time": "Wed Jan 11 09:09:58 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:39 2012 +1100"
      },
      "message": "powerpc/pseries/eeh: Fix crash when error happens during device probe\n\nEEH may happen during a PCI driver probe. If the driver is trying to\naccess some register in a loop, the EEH code will try to print the\ndriver name. But the driver pointer in struct pci_dev is not set until\nprobe returns successfully.\n\nUse a function to test if the device and the driver pointer is NULL\nbefore accessing the driver\u0027s name.\n\nSigned-off-by: Thadeu Lima de Souza Cascardo \u003ccascardo@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "444080d13d05dc38d07dd3bf751d38bce7ab7c72",
      "tree": "4a727f8de69b872a1ddf73bdf474ff61c8da9900",
      "parents": [
        "f1c853b53cf2b49eb32791072c8a8ee04f122f58"
      ],
      "author": {
        "name": "Brian King",
        "email": "brking@linux.vnet.ibm.com",
        "time": "Wed Jan 11 06:56:04 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:39 2012 +1100"
      },
      "message": "powerpc/pseries: Fix partition migration hang in stop_topology_update\n\nThis fixes a hang that was observed during live partition migration.\nSince stop_topology_update must not be called from an interrupt\ncontext, call it earlier in the migration process. The hang observed\ncan be seen below:\n\nWARNING: at kernel/timer.c:1011\nModules linked in: ip6t_LOG xt_tcpudp xt_pkttype ipt_LOG xt_limit ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_raw xt_NOTRACK ipt_REJECT xt_state iptable_raw iptable_filter ip6table_mangle nf_conntrack_netbios_ns nf_conntrack_broadcast nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables ip6table_filter ip6_tables x_tables ipv6 fuse loop ibmveth sg ext3 jbd mbcache raid456 async_raid6_recov async_pq raid6_pq async_xor xor async_memcpy async_tx raid10 raid1 raid0 scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw scsi_dh_emc dm_round_robin dm_multipath scsi_dh sd_mod crc_t10dif ibmvfc scsi_transport_fc scsi_tgt scsi_mod dm_snapshot dm_mod\nNIP: c0000000000c52d8 LR: c00000000004be28 CTR: 0000000000000000\nREGS: c00000005ffd77d0 TRAP: 0700   Not tainted  (3.2.0-git-00001-g07d106d)\nMSR: 8000000000021032 \u003cME,CE,IR,DR\u003e  CR: 48000084  XER: 00000001\nCFAR: c00000000004be20\nTASK \u003d c00000005ec78860[0] \u0027swapper/3\u0027 THREAD: c00000005ec98000 CPU: 3\nGPR00: 0000000000000001 c00000005ffd7a50 c000000000fbbc98 c000000000ec8340\nGPR04: 00000000282a0020 0000000000000000 0000000000004000 0000000000000101\nGPR08: 0000000000000012 c00000005ffd4000 0000000000000020 c000000000f3ba88\nGPR12: 0000000000000000 c000000007f40900 0000000000000001 0000000000000004\nGPR16: 0000000000000001 0000000000000000 0000000000000000 c000000001022310\nGPR20: 0000000000000001 0000000000000000 0000000000200200 c000000001029e14\nGPR24: 0000000000000000 0000000000000001 0000000000000040 c00000003f74bc80\nGPR28: c00000003f74bc84 c000000000f38038 c000000000f16b58 c000000000ec8340\nNIP [c0000000000c52d8] .del_timer_sync+0x28/0x60\nLR [c00000000004be28] .stop_topology_update+0x20/0x38\nCall Trace:\n[c00000005ffd7a50] [c00000005ec78860] 0xc00000005ec78860 (unreliable)\n[c00000005ffd7ad0] [c00000000004be28] .stop_topology_update+0x20/0x38\n[c00000005ffd7b40] [c000000000028378] .__rtas_suspend_last_cpu+0x58/0x260\n[c00000005ffd7bf0] [c0000000000fa230] .generic_smp_call_function_interrupt+0x160/0x358\n[c00000005ffd7cf0] [c000000000036ec8] .smp_ipi_demux+0x88/0x100\n[c00000005ffd7d80] [c00000000005c154] .icp_hv_ipi_action+0x5c/0x80\n[c00000005ffd7e00] [c00000000012a088] .handle_irq_event_percpu+0x100/0x318\n[c00000005ffd7f00] [c00000000012e774] .handle_percpu_irq+0x84/0xd0\n[c00000005ffd7f90] [c000000000022ba8] .call_handle_irq+0x1c/0x2c\n[c00000005ec9ba20] [c00000000001157c] .do_IRQ+0x22c/0x2a8\n[c00000005ec9bae0] [c0000000000054bc] hardware_interrupt_entry+0x18/0x1c\nException: 501 at .cpu_idle+0x194/0x2f8\n    LR \u003d .cpu_idle+0x194/0x2f8\n[c00000005ec9bdd0] [c000000000017e58] .cpu_idle+0x188/0x2f8 (unreliable)\n[c00000005ec9be90] [c00000000067ec18] .start_secondary+0x3e4/0x524\n[c00000005ec9bf90] [c0000000000093e8] .start_secondary_prolog+0x10/0x14\nInstruction dump:\nebe1fff8 4e800020 fbe1fff8 7c0802a6 f8010010 7c7f1b78 f821ff81 78290464\n80090014 5400019e 7c0000d0 78000fe0 \u003c0b000000\u003e 4800000c 7c210b78 7c421378\n\nSigned-off-by: Brian King \u003cbrking@linux.vnet.ibm.com\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f1c853b53cf2b49eb32791072c8a8ee04f122f58",
      "tree": "203de9ee9f2ff6157c0f602f9cad0d3e254dff50",
      "parents": [
        "6fe5f5f3ffade25aa94526010f219df3be521bf7"
      ],
      "author": {
        "name": "Michael Ellerman",
        "email": "michael@ellerman.id.au",
        "time": "Sun Feb 12 14:28:20 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:39 2012 +1100"
      },
      "message": "powerpc/powernv: Disable interrupts while taking phb-\u003elock\n\nWe need to disable interrupts when taking the phb-\u003elock. Otherwise\nwe could deadlock with pci_lock taken from an interrupt.\n\nSigned-off-by: Michael Ellerman \u003cmichael@ellerman.id.au\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "6fe5f5f3ffade25aa94526010f219df3be521bf7",
      "tree": "08b4148aad720793b37564c8ef8cdef0aea10241",
      "parents": [
        "7a768d30caa30e66ba89659f1845cc35b1bfc715"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 08 19:34:13 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc: Fix WARN_ON in decrementer_check_overflow\n\nWe use __get_cpu_var() which triggers a false positive warning\nin smp_processor_id() thinking interrupts are enabled (at this\npoint, they are soft-enabled but hard-disabled).\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "7a768d30caa30e66ba89659f1845cc35b1bfc715",
      "tree": "6a25b21e3dbe60e74513ac60b0f0071498edf7f8",
      "parents": [
        "e62894273c7572cb1bec39096df605f42a66e964"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Wed Feb 08 18:11:01 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc/wsp: Fix IRQ affinity setting\n\nWe call the cache_hwirq_map() function with a linux IRQ number\nbut it expects a HW irq number. This triggers a BUG on multic-chip\nsetups in addition to not doing the right thing.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "e62894273c7572cb1bec39096df605f42a66e964",
      "tree": "8f63f7c32b136f8eb89c3b9abfe290687f9a842b",
      "parents": [
        "454c0bfd0c6469276dec766e5b41efcf0ccf2619"
      ],
      "author": {
        "name": "Srikar Dronamraju",
        "email": "srikar@linux.vnet.ibm.com",
        "time": "Wed Feb 08 04:53:13 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc: Implement GET_IP/SET_IP\n\nWith this change, helpers such as instruction_pointer() et al, get defined\nin the generic header in terms of GET_IP\n\nRemoved the unnecessary definition of profile_pc in !CONFIG_SMP case as\nsuggested by Mike Frysinger.\n\nSigned-off-by: Srikar Dronamraju \u003csrikar@linux.vnet.ibm.com\u003e\nSigned-off-by: Ananth N Mavinakayanahalli \u003cananth@in.ibm.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "454c0bfd0c6469276dec766e5b41efcf0ccf2619",
      "tree": "99b362fb2add3a0e5c9da2b1ed3e2624214bf8ef",
      "parents": [
        "3ec1e88b33a3bdd852ce8e014052acec7a9da8b5"
      ],
      "author": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Sun Feb 05 13:50:04 2012 +0000"
      },
      "committer": {
        "name": "Benjamin Herrenschmidt",
        "email": "benh@kernel.crashing.org",
        "time": "Tue Feb 14 15:01:38 2012 +1100"
      },
      "message": "powerpc/wsp: Permanently enable PCI class code workaround\n\nIt appears that on the Chroma card, the class code of the root\ncomplex is still wrong even on DD2 or later chips. This could\nbe a firmware issue, but that breaks resource allocation so let\u0027s\nunconditionally fix it up.\n\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\n"
    },
    {
      "commit": "f9c2a0dc42a6938ff2a80e55ca2bbd1d5581c72e",
      "tree": "63eacf347f6e4ef5a9e573d9e972c5de3cd8c733",
      "parents": [
        "18ee684b8ab666329e0a0a72d8b70f16fb0e2243"
      ],
      "author": {
        "name": "Seungwon Jeon",
        "email": "tgih.jun@samsung.com",
        "time": "Thu Feb 09 14:32:43 2012 +0900"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:05 2012 -0500"
      },
      "message": "mmc: dw_mmc: Fix PIO mode with support of highmem\n\nCurrent PIO mode makes a kernel crash with CONFIG_HIGHMEM.\nHighmem pages have a NULL from sg_virt(sg).\nThis patch fixes the following problem.\n\nUnable to handle kernel NULL pointer dereference at virtual address 00000000\npgd \u003d c0004000\n[00000000] *pgd\u003d00000000\nInternal error: Oops: 817 [#1] PREEMPT SMP\nModules linked in:\nCPU: 0    Not tainted  (3.0.15-01423-gdbf465f #589)\nPC is at dw_mci_pull_data32+0x4c/0x9c\nLR is at dw_mci_read_data_pio+0x54/0x1f0\npc : [\u003cc0358824\u003e]    lr : [\u003cc035988c\u003e]    psr: 20000193\nsp : c0619d48  ip : c0619d70  fp : c0619d6c\nr10: 00000000  r9 : 00000002  r8 : 00001000\nr7 : 00000200  r6 : 00000000  r5 : e1dd3100  r4 : 00000000\nr3 : 65622023  r2 : 0000007f  r1 : eeb96000  r0 : e1dd3100\nFlags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment\nxkernel\nControl: 10c5387d  Table: 61e2004a  DAC: 00000015\nProcess swapper (pid: 0, stack limit \u003d 0xc06182f0)\nStack: (0xc0619d48 to 0xc061a000)\n9d40:                   e1dd3100 e1a4f000 00000000 e1dd3100 e1a4f000 00000200\n9d60: c0619da4 c0619d70 c035988c c03587e4 c0619d9c e18158f4 e1dd3100 e1dd3100\n9d80: 00000020 00000000 00000000 00000020 c06e8a84 00000000 c0619e04 c0619da8\n9da0: c0359b24 c0359844 e18158f4 e1dd3164 e1dd3168 e1dd3150 3d02fc79 e1dd3154\n9dc0: e1dd3178 00000000 00000020 00000000 e1dd3150 00000000 c10dd7e8 e1a84900\n9de0: c061e7cc 00000000 00000000 0000008d c06e8a84 c061e780 c0619e4c c0619e08\n9e00: c00c4738 c0359a34 3d02fc79 00000000 c0619e4c c05a1698 c05a1670 c05a165c\n9e20: c04de8b0 c061e780 c061e7cc e1a84900 ffffed68 0000008d c0618000 00000000\n9e40: c0619e6c c0619e50 c00c48b4 c00c46c8 c061e780 c00423ac c061e7cc ffffed68\n9e60: c0619e8c c0619e70 c00c7358 c00c487c 0000008d ffffee38 c0618000 ffffed68\n9e80: c0619ea4 c0619e90 c00c4258 c00c72b0 c00423ac ffffee38 c0619ecc c0619ea8\n9ea0: c004241c c00c4234 ffffffff f8810000 0000006d 00000002 00000001 7fffffff\n9ec0: c0619f44 c0619ed0 c0048bc0 c00423c4 220ae7a9 00000000 386f0d30 0005d3a4\n9ee0: c00423ac c10dd0b8 c06f2cd8 c0618000 c0594778 c003a674 7fffffff c0619f44\n9f00: 386f0d30 c0619f18 c00a6f94 c005be3c 80000013 ffffffff 386f0d30 0005d3a4\n9f20: 386f0d30 0005d2d1 c10dd0a8 c10dd0b8 c06f2cd8 c0618000 c0619f74 c0619f48\n9f40: c0345858 c005be00 c00a2440 c0618000 c0618000 c00410d8 c06c1944 c00410fc\n9f60: c0594778 c003a674 c0619f9c c0619f78 c004a7e8 c03457b4 c0618000 c06c18f8\n9f80: 00000000 c0039c70 c06c18d4 c003a674 c0619fb4 c0619fa0 c04ceafc c004a714\n9fa0: c06287b4 c06c18f8 c0619ff4 c0619fb8 c0008b68 c04cea68 c0008578 00000000\n9fc0: 00000000 c003a674 00000000 10c5387d c0628658 c003aa78 c062f1c4 4000406a\n9fe0: 413fc090 00000000 00000000 c0619ff8 40008044 c0008858 00000000 00000000\nBacktrace:\n[\u003cc03587d8\u003e] (dw_mci_pull_data32+0x0/0x9c) from [\u003cc035988c\u003e] (dw_mci_read_data_pio+0x54/0x1f0)\n r6:00000200 r5:e1a4f000 r4:e1dd3100\n [\u003cc0359838\u003e] (dw_mci_read_data_pio+0x0/0x1f0) from [\u003cc0359b24\u003e] (dw_mci_interrupt+0xfc/0x4a4)\n[\u003cc0359a28\u003e] (dw_mci_interrupt+0x0/0x4a4) from [\u003cc00c4738\u003e] (handle_irq_event_percpu+0x7c/0x1b4)\n[\u003cc00c46bc\u003e] (handle_irq_event_percpu+0x0/0x1b4) from [\u003cc00c48b4\u003e] (handle_irq_event+0x44/0x64)\n[\u003cc00c4870\u003e] (handle_irq_event+0x0/0x64) from [\u003cc00c7358\u003e] (handle_fasteoi_irq+0xb4/0x124)\n r7:ffffed68 r6:c061e7cc r5:c00423ac r4:c061e780\n [\u003cc00c72a4\u003e] (handle_fasteoi_irq+0x0/0x124) from [\u003cc00c4258\u003e] (generic_handle_irq+0x30/0x38)\n r7:ffffed68 r6:c0618000 r5:ffffee38 r4:0000008d\n [\u003cc00c4228\u003e] (generic_handle_irq+0x0/0x38) from [\u003cc004241c\u003e] (asm_do_IRQ+0x64/0xe0)\n r5:ffffee38 r4:c00423ac\n [\u003cc00423b8\u003e] (asm_do_IRQ+0x0/0xe0) from [\u003cc0048bc0\u003e] (__irq_svc+0x80/0x14c)\nException stack(0xc0619ed0 to 0xc0619f18)\n\nSigned-off-by: Seungwon Jeon \u003ctgih.jun@samsung.com\u003e\nAcked-by: Will Newton \u003cwill.newton@imgtec.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "18ee684b8ab666329e0a0a72d8b70f16fb0e2243",
      "tree": "f7d12e7061397d3b2c3747572f84cd19e504a75a",
      "parents": [
        "00d9ac08757049f334803b3d4dd202a6b1687dab"
      ],
      "author": {
        "name": "Ludovic Desroches",
        "email": "ludovic.desroches@atmel.com",
        "time": "Thu Feb 09 11:55:29 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:05 2012 -0500"
      },
      "message": "mmc: atmel-mci: save and restore sdioirq when soft reset is performed\n\nSometimes a software reset is needed. Then some registers are saved and\nrestored but the interrupt mask register is missing. It causes issues\nwith sdio devices whose interrupts are masked after reset.\n\nSigned-off-by: Ludovic Desroches \u003cludovic.desroches@atmel.com\u003e\nCc: stable \u003cstable@vger.kernel.org\u003e\nSigned-off-by: Nicolas Ferre \u003cnicolas.ferre@atmel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "00d9ac08757049f334803b3d4dd202a6b1687dab",
      "tree": "423b7b75cd93f2ce5f580902d6cf16527cc35d20",
      "parents": [
        "5ba85d95cae3837665241e6df12aea83b6bf7c32"
      ],
      "author": {
        "name": "Rabin Vincent",
        "email": "rabin.vincent@stericsson.com",
        "time": "Wed Feb 01 16:31:56 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:04 2012 -0500"
      },
      "message": "mmc: block: Init ro_lock sysfs attr to fix lockdep warnings\n\nSigned-off-by: Rabin Vincent \u003crabin.vincent@stericsson.com\u003e\nSigned-off-by: Johan Rudholm \u003cjohan.rudholm@stericsson.com\u003e\nSigned-off-by: Ulf Hansson \u003culf.hansson@stericsson.com\u003e\nAcked-by: Linus Walleij \u003clinus.walleij@linaro.org\u003e\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "5ba85d95cae3837665241e6df12aea83b6bf7c32",
      "tree": "86ecab1283f528cb4e8ac603434eb50252d93b5f",
      "parents": [
        "e3de2be7368d2983bd7f7ddb6e9cf5ea32363128"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Sat Jan 21 00:41:28 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:03 2012 -0500"
      },
      "message": "mmc: sh_mmcif: fix late delayed work initialisation\n\nIf the driver is loaded with a card in the slot, mmc_add_host() will\nschedule an immediate card-detection work, which will start IO and wait\nfor command completion. Usually the kernel first returns to the sh_mmcif\nprobe function, lets it finish and only then schedules the rescan work.\nBut sometimes, expecially under heavy system load, the work will be\nscheduled immediately before returning to the probe method. In this case\nit is important for the driver to be fully prepared for IO. For sh_mmcif\nthis means, that also the timeout work has to be initialised before\ncalling mmc_add_host(). It is also better to prepare interrupts\nbeforehand. Besides, since mmc_add_host() does card-detection itself,\nthere is no need to do it again immediately afterwards.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "e3de2be7368d2983bd7f7ddb6e9cf5ea32363128",
      "tree": "810c6a3d5fe404ebbe98f98561b1b9b49ac6e4fb",
      "parents": [
        "dd13b4ed4650bb3a7d6c86b549ab66a6aa0c00d8"
      ],
      "author": {
        "name": "Guennadi Liakhovetski",
        "email": "g.liakhovetski@gmx.de",
        "time": "Fri Jan 06 13:06:51 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:03 2012 -0500"
      },
      "message": "mmc: tmio_mmc: fix card eject during IO with DMA\n\nWhen DMA is in use and the card is ejected during IO, DMA transfers have to\nbe terminated, otherwise the dmaengine driver fails to operate properly,\nwhen the card is re-inserted.\n\nSigned-off-by: Guennadi Liakhovetski \u003cg.liakhovetski@gmx.de\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "dd13b4ed4650bb3a7d6c86b549ab66a6aa0c00d8",
      "tree": "e9f3de8df407802bf1a6cd58ef6d461d100b6320",
      "parents": [
        "3e73c36b4dc224529d0b0c0d5d69c0dacd793c42"
      ],
      "author": {
        "name": "Jurgen Heeks",
        "email": "jurgen.heeks@nokia.com",
        "time": "Wed Feb 01 13:30:55 2012 +0100"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:02 2012 -0500"
      },
      "message": "mmc: core: Fix comparison issue in mmc_compare_ext_csds\n\nFound this issue during code review. Actually, there are two issues which\nboth compensate together in lucky case.  In unlucky case the bus width\nprobing might not work as expected.\n\nSigned-off-by: Jurgen Heeks \u003cjurgen.heeks@nokia.com\u003e\nReviewed-by: Namjae Jeon \u003clinkinjeon@gmail.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "3e73c36b4dc224529d0b0c0d5d69c0dacd793c42",
      "tree": "9c6df98a296ca4865db3621f0bc295d687272f66",
      "parents": [
        "012e4671e445ac1dd04f40c0b974685280bedca3"
      ],
      "author": {
        "name": "Girish K S",
        "email": "girish.shivananjappa@linaro.org",
        "time": "Tue Jan 31 15:44:03 2012 +0530"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:02 2012 -0500"
      },
      "message": "mmc: core: Fix PowerOff Notify suspend/resume\n\nModified the mmc_poweroff to resume before sending the poweroff\nnotification command. In sleep mode only AWAKE and RESET commands are\nallowed, so before sending the poweroff notification command resume from\nsleep mode and then send the notification command.\n\nPowerOff Notify is tested on a Synopsis Designware Host Controller\n(eMMC 4.5). The suspend to RAM and resume works fine.\n\nSigned-off-by: Girish K S \u003cgirish.shivananjappa@linaro.org\u003e\nTested-by: Girish K S \u003cgirish.shivananjappa@linaro.org\u003e\nReviewed-by: Saugata Das \u003csaugata.das@linaro.org\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    },
    {
      "commit": "012e4671e445ac1dd04f40c0b974685280bedca3",
      "tree": "21cf18b285b52f42687f93aea6064940f51b0d4a",
      "parents": [
        "6e8201f57c9359c9c5dc8f9805c15a4392492a10"
      ],
      "author": {
        "name": "Adrian Hunter",
        "email": "adrian.hunter@intel.com",
        "time": "Mon Jan 30 14:27:18 2012 +0200"
      },
      "committer": {
        "name": "Chris Ball",
        "email": "cjb@laptop.org",
        "time": "Mon Feb 13 20:39:01 2012 -0500"
      },
      "message": "mmc: sdhci-pci: set Medfield SDIO as non-removable\n\nSet Medfield SDIO as non-removable to avoid un-necessary\ncard detect activity.\n\nSigned-off-by: Adrian Hunter \u003cadrian.hunter@intel.com\u003e\nSigned-off-by: Chris Ball \u003ccjb@laptop.org\u003e\n"
    }
  ],
  "next": "6e8201f57c9359c9c5dc8f9805c15a4392492a10"
}
