]> xenbits.xensource.com Git - xenclient/kernel.git/commitdiff
xen suspend: Fix write-after-read error on fast_suspend flag.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 3 Mar 2008 13:36:57 +0000 (13:36 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 3 Mar 2008 13:36:57 +0000 (13:36 +0000)
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
drivers/xen/core/machine_reboot.c

index 213cf72c5064a8c2f834781d5cfaf7d7e858c30d..83e6d8115ef92ed41e9fb580ff67901e4418eae6 100644 (file)
@@ -205,7 +205,7 @@ static int take_machine_down(void *_suspend)
 int __xen_suspend(int fast_suspend, void (*resume_notifier)(void))
 {
        int err, suspend_cancelled;
-       struct suspend suspend = { fast_suspend, resume_notifier };
+       struct suspend suspend;
 
        BUG_ON(smp_processor_id() != 0);
        BUG_ON(in_interrupt());
@@ -222,6 +222,9 @@ int __xen_suspend(int fast_suspend, void (*resume_notifier)(void))
        if (num_possible_cpus() == 1)
                fast_suspend = 0;
 
+       suspend.fast_suspend = fast_suspend;
+       suspend.resume_notifier = resume_notifier;
+
        if (fast_suspend) {
                xenbus_suspend();
                err = stop_machine_run(take_machine_down, &suspend, 0);