]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.39/patches.arch/ppc-pseries-migration_hang_fix.patch
Imported linux-2.6.27.39 suse/xen patches.
[ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.arch / ppc-pseries-migration_hang_fix.patch
similarity index 86%
rename from src/patches/suse-2.6.27.31/patches.arch/ppc-pseries-migration_hang_fix.patch
rename to src/patches/suse-2.6.27.39/patches.arch/ppc-pseries-migration_hang_fix.patch
index 7a02348ca941aa809db6bfdd0f7d36d73dbea503..15e2a99f3a99932c479c2bb1ec563632be6c390a 100644 (file)
@@ -22,7 +22,7 @@ Signed-off-by: Olaf Hering <olh@suse.de>
 
 --- a/arch/powerpc/kernel/rtas.c
 +++ b/arch/powerpc/kernel/rtas.c
-@@ -46,6 +46,7 @@ EXPORT_SYMBOL(rtas);
+@@ -47,6 +47,7 @@ EXPORT_SYMBOL(rtas);
  
  struct rtas_suspend_me_data {
        atomic_t working; /* number of cpus accessing this struct */
@@ -30,16 +30,16 @@ Signed-off-by: Olaf Hering <olh@suse.de>
        int token; /* ibm,suspend-me */
        int error;
        struct completion *complete; /* wait on this until working == 0 */
-@@ -663,7 +664,7 @@ static int ibm_suspend_me_token = RTAS_U
+@@ -664,7 +665,7 @@ static int ibm_suspend_me_token = RTAS_U
  #ifdef CONFIG_PPC_PSERIES
  static void rtas_percpu_suspend_me(void *info)
  {
 -      long rc;
 +      long rc = H_SUCCESS;
        unsigned long msr_save;
+       u16 slb_size = mmu_slb_size;
        int cpu;
-       struct rtas_suspend_me_data *data =
-@@ -675,7 +676,8 @@ static void rtas_percpu_suspend_me(void 
+@@ -677,7 +678,8 @@ static void rtas_percpu_suspend_me(void
        msr_save = mfmsr();
        mtmsr(msr_save & ~(MSR_EE));
  
@@ -49,7 +49,7 @@ Signed-off-by: Olaf Hering <olh@suse.de>
  
        mtmsr(msr_save);
  
-@@ -698,6 +700,9 @@ static void rtas_percpu_suspend_me(void 
+@@ -703,6 +705,9 @@ static void rtas_percpu_suspend_me(void
                       smp_processor_id(), rc);
                data->error = rc;
        }
@@ -59,7 +59,7 @@ Signed-off-by: Olaf Hering <olh@suse.de>
        /* This cpu did the suspend or got an error; in either case,
         * we need to prod all other other cpus out of join state.
         * Extra prods are harmless.
-@@ -740,6 +745,7 @@ static int rtas_ibm_suspend_me(struct rt
+@@ -745,6 +750,7 @@ static int rtas_ibm_suspend_me(struct rt
        }
  
        atomic_set(&data.working, 0);