From: Jeff Mahoney <jeffm@suse.com>
Subject: acpi: don't preempt until the system is up

 This is needed to avoid scheduling while atomic BUGs with the
 DSDT in initramfs patches.


Signed-off-by: Jeff Mahoney <jeffm@suse.com>
Acked-by: Jeff Mahoney <jeffm@suse.com>
---
 drivers/acpi/acpica/psloop.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/acpi/acpica/psloop.c
+++ b/drivers/acpi/acpica/psloop.c
@@ -843,7 +843,8 @@ acpi_ps_complete_op(struct acpi_walk_sta
 		*op = NULL;
 	}
 
-	ACPI_PREEMPTION_POINT();
+	if (system_state == SYSTEM_RUNNING)
+		ACPI_PREEMPTION_POINT();
 
 	return_ACPI_STATUS(AE_OK);
 }
