diff --git a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c index fbac789592..d017cf9620 100644 --- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c +++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c @@ -317,11 +317,10 @@ static void shutdown_handler(struct xenbus_watch *watch, shutting_down = SHUTDOWN_INVALID; } - kfree(str); - - out: if (shutting_down != SHUTDOWN_INVALID) schedule_work(&shutdown_work); + + kfree(str); } #ifdef CONFIG_MAGIC_SYSRQ