Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
[pandora-kernel.git] / kernel / smp.c
index fe9f773..449b707 100644 (file)
@@ -186,25 +186,13 @@ void generic_smp_call_function_single_interrupt(void)
 
        while (!list_empty(&list)) {
                struct call_single_data *csd;
-               unsigned int csd_flags;
 
                csd = list_entry(list.next, struct call_single_data, list);
                list_del(&csd->list);
 
-               /*
-                * 'csd' can be invalid after this call if flags == 0
-                * (when called through generic_exec_single()),
-                * so save them away before making the call:
-                */
-               csd_flags = csd->flags;
-
                csd->func(csd->info);
 
-               /*
-                * Unlocked CSDs are valid through generic_exec_single():
-                */
-               if (csd_flags & CSD_FLAG_LOCK)
-                       csd_unlock(csd);
+               csd_unlock(csd);
        }
 }
 
@@ -278,8 +266,6 @@ EXPORT_SYMBOL(smp_call_function_single);
  * @wait: If true, wait until function has completed.
  *
  * Returns 0 on success, else a negative status code (if no cpus were online).
- * Note that @wait will be implicitly turned on in case of allocation failures,
- * since we fall back to on-stack allocation.
  *
  * Selection preference:
  *     1) current cpu if in @mask