From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753006AbbDBQbs (ORCPT ); Thu, 2 Apr 2015 12:31:48 -0400 Received: from mail-qc0-f173.google.com ([209.85.216.173]:33496 "EHLO mail-qc0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752260AbbDBQbp (ORCPT ); Thu, 2 Apr 2015 12:31:45 -0400 Message-ID: <551D6EEA.6050704@hurleysoftware.com> Date: Thu, 02 Apr 2015 12:31:38 -0400 From: Peter Hurley User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Yinghai Lu CC: Greg Kroah-Hartman , Andrew Morton , Jiri Slaby , Rob Herring , Linux Kernel Mailing List , "linux-serial@vger.kernel.org" Subject: Re: [PATCH v3 -next 11/11] serial: 8250_early: Remove setup_early_serial8250_console() References: <1425932842-21812-1-git-send-email-peter@hurleysoftware.com> <1425932842-21812-12-git-send-email-peter@hurleysoftware.com> <551CB5DF.1010108@hurleysoftware.com> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Yinghai, On 04/02/2015 05:15 AM, Yinghai Lu wrote: > On Wed, Apr 1, 2015 at 8:22 PM, Peter Hurley wrote: >> The documented behavior of console=ttyS options, to which your >> quote refers, clearly states: >> >> Default is "9600n8". > > drivers/tty/serial/8250/8250_early.c:early_serial8250_setup > still have calling to probe_baud, but it is not triggered. > > Here is root cause. > The gap between entries in earlycon_table cause > iteration fail to find next entry, so uart8250 handler is > not called proplerly. Thanks for finding that bug; so the earlycon never started, right? > attached patch fix the problem. Would you please try the patch below instead? Regards, Peter Hurley --- >% --- From: Peter Hurley Subject: [PATCH] earlycon: Fix __earlycon_table stride Signed-off-by: Peter Hurley --- include/asm-generic/vmlinux.lds.h | 2 +- include/linux/serial_core.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h index 7b0ef49..2e11f31 100644 --- a/include/asm-generic/vmlinux.lds.h +++ b/include/asm-generic/vmlinux.lds.h @@ -151,7 +151,7 @@ #endif #ifdef CONFIG_SERIAL_EARLYCON -#define EARLYCON_TABLE() . = ALIGN(8); \ +#define EARLYCON_TABLE() STRUCT_ALIGN(); \ VMLINUX_SYMBOL(__earlycon_table) = .; \ *(__earlycon_table) \ *(__earlycon_table_end) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 34de168..025dad9 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -342,7 +342,7 @@ struct earlycon_device { struct earlycon_id { char name[16]; int (*setup)(struct earlycon_device *, const char *options); -}; +} __aligned(32); extern int setup_earlycon(char *buf); extern int of_setup_earlycon(unsigned long addr, -- 2.3.5