Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752358AbdLLK5l (ORCPT ); Tue, 12 Dec 2017 05:57:41 -0500 Received: from terminus.zytor.com ([65.50.211.136]:35583 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752294AbdLLK5h (ORCPT ); Tue, 12 Dec 2017 05:57:37 -0500 Date: Tue, 12 Dec 2017 02:53:17 -0800 From: tip-bot for Dave Young Message-ID: Cc: linux-kernel@vger.kernel.org, peterz@infradead.org, tglx@linutronix.de, torvalds@linux-foundation.org, mingo@kernel.org, dyoung@redhat.com, hpa@zytor.com Reply-To: tglx@linutronix.de, mingo@kernel.org, torvalds@linux-foundation.org, dyoung@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org, peterz@infradead.org In-Reply-To: <20171209041610.GA3249@dhcp-128-65.nay.redhat.com> References: <20171209041610.GA3249@dhcp-128-65.nay.redhat.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:core/urgent] mm/early_ioremap: Fix boot hang with earlyprintk=efi,keep Git-Commit-ID: 7f6f60a1ba52538c16f26930bfbcfe193d9d746a X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1704 Lines: 47 Commit-ID: 7f6f60a1ba52538c16f26930bfbcfe193d9d746a Gitweb: https://git.kernel.org/tip/7f6f60a1ba52538c16f26930bfbcfe193d9d746a Author: Dave Young AuthorDate: Sat, 9 Dec 2017 12:16:10 +0800 Committer: Ingo Molnar CommitDate: Mon, 11 Dec 2017 14:54:44 +0100 mm/early_ioremap: Fix boot hang with earlyprintk=efi,keep earlyprintk=efi,keep does not work any more with a warning in mm/early_ioremap.c: WARN_ON(system_state != SYSTEM_BOOTING): Boot just hangs because of the earlyprintk within the earlyprintk implementation code itself. This is caused by a new introduced middle state in: 69a78ff226fe ("init: Introduce SYSTEM_SCHEDULING state") early_ioremap() is fine in both SYSTEM_BOOTING and SYSTEM_SCHEDULING states, original condition should be updated accordingly. Signed-off-by: Dave Young Acked-by: Thomas Gleixner Cc: Linus Torvalds Cc: Peter Zijlstra Cc: bp@suse.de Cc: linux-efi@vger.kernel.org Cc: linux-mm@kvack.org Link: http://lkml.kernel.org/r/20171209041610.GA3249@dhcp-128-65.nay.redhat.com Signed-off-by: Ingo Molnar --- mm/early_ioremap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/early_ioremap.c b/mm/early_ioremap.c index d04ac1e..1826f19 100644 --- a/mm/early_ioremap.c +++ b/mm/early_ioremap.c @@ -111,7 +111,7 @@ __early_ioremap(resource_size_t phys_addr, unsigned long size, pgprot_t prot) enum fixed_addresses idx; int i, slot; - WARN_ON(system_state != SYSTEM_BOOTING); + WARN_ON(system_state >= SYSTEM_RUNNING); slot = -1; for (i = 0; i < FIX_BTMAPS_SLOTS; i++) {