Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp989195pxb; Tue, 26 Oct 2021 00:17:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyKQE8dtwiykQMNJGM7aNV+64+SOdrN40Vl+oC13tCwiyRD2GiYWZiyioDlsM+tPCLHGcJ0 X-Received: by 2002:a65:6215:: with SMTP id d21mr17794289pgv.62.1635232620778; Tue, 26 Oct 2021 00:17:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1635232620; cv=none; d=google.com; s=arc-20160816; b=xxG4fqUay++IKAM7L7r5SWq424K9pNu12igh0ehY6VdlCEI0DPbw67H5oFW/Wy0S9U ++26GVdHY40OUW+Q50SOcg8HNkTK7Tp4TEsIBfXEfnLPu5NmSK6LsMmXLRVNYU8rXXwy GA4ZdrxYulQy4gjmNBDbua5fPjftEMvVbCBrqf0fT+dwyxoiqWwXJ0+TNkfeaJ9WzrqW +87h/kM1t126XQ5SYst5iDqIBMEYSfzDqfK8AvfhYLFl6zJZqu0chx6WGAOkeWWdexDH CvezClwDh8FCfdf3umek+k4tsUODS+YIS8f5uWZZGiipmfryL5MqmE8GYFpe7v8eZLlR l3Fw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :mime-version:user-agent:date:message-id:from:references:cc:to :subject; bh=KND9ZEM32jxMtULVFD2HNn/l8Vl9R1yeCn4bJF5PBNM=; b=ahxRxWrI5MxoXgNEhb3SdNLM/8LCPccwagP5Q/VrnxqUcMuGpvmbNbTdWL+1LRsr6g kxpKnp8ht4Fz8Pv0PMb6ylaump5GJpHlmvtfhzFMWl7WljIaZxRmljF/AJ4g2pRwnFZc kcjvNW39oXLxmzLOtl6K/S1p1RumT2NrmfpZcOA5fX34SanKE7IdVn/uWeHdGDT2ABYW YQKnJij7nuvDbrBGK0W7eMwwBmJ+K28E7G2dhWjCtT7waq4eSY5gfztobKbOcYyGRfk7 mR9t0sfGY1bdbS38iRwr2Re3yiddObNcgXTrQda8bDDg/O4uS0kfZj5FGKB12V0S3kSv pB7w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l10si28997165pgq.267.2021.10.26.00.16.48; Tue, 26 Oct 2021 00:17:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=alibaba.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232336AbhJZGEt (ORCPT + 99 others); Tue, 26 Oct 2021 02:04:49 -0400 Received: from out30-57.freemail.mail.aliyun.com ([115.124.30.57]:41080 "EHLO out30-57.freemail.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229940AbhJZGEs (ORCPT ); Tue, 26 Oct 2021 02:04:48 -0400 X-Alimail-AntiSpam: AC=PASS;BC=-1|-1;BR=01201311R101e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=e01e01424;MF=xianting.tian@linux.alibaba.com;NM=1;PH=DS;RN=9;SR=0;TI=SMTPD_---0UtkB.La_1635228141; Received: from B-LB6YLVDL-0141.local(mailfrom:xianting.tian@linux.alibaba.com fp:SMTPD_---0UtkB.La_1635228141) by smtp.aliyun-inc.com(127.0.0.1); Tue, 26 Oct 2021 14:02:22 +0800 Subject: Re: [PATCH v11 2/3] tty: hvc: pass DMA capable memory to put_chars() To: Jiri Slaby , gregkh@linuxfoundation.org, amit@kernel.org, arnd@arndb.de, osandov@fb.com Cc: shile.zhang@linux.alibaba.com, linuxppc-dev@lists.ozlabs.org, virtualization@lists.linux-foundation.org, linux-kernel@vger.kernel.org References: <20211015024658.1353987-1-xianting.tian@linux.alibaba.com> <20211015024658.1353987-3-xianting.tian@linux.alibaba.com> <208f7a41-a9fa-630c-cb44-c37c503f3a72@kernel.org> From: Xianting Tian Message-ID: Date: Tue, 26 Oct 2021 14:02:21 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <208f7a41-a9fa-630c-cb44-c37c503f3a72@kernel.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 在 2021/10/26 下午1:10, Jiri Slaby 写道: > On 15. 10. 21, 4:46, Xianting Tian wrote: >> @@ -151,9 +142,11 @@ static uint32_t vtermnos[MAX_NR_HVC_CONSOLES] = >>   static void hvc_console_print(struct console *co, const char *b, >>                     unsigned count) >>   { >> -    char c[N_OUTBUF] __ALIGNED__; >> +    char *c; >>       unsigned i = 0, n = 0; >>       int r, donecr = 0, index = co->index; >> +    unsigned long flags; >> +    struct hvc_struct *hp; >>         /* Console access attempt outside of acceptable console >> range. */ >>       if (index >= MAX_NR_HVC_CONSOLES) >> @@ -163,6 +156,13 @@ static void hvc_console_print(struct console >> *co, const char *b, >>       if (vtermnos[index] == -1) >>           return; >>   +    hp = cons_hvcs[index]; >> +    if (!hp) >> +        return; > > You effectively make the console unusable until someone calls > hvc_alloc() for this device, correct? This doesn't look right. Neither > you describe this change of behaviour in the commit log. I mentioned such info in the commit log: 'Introduce another array(cons_hvcs[]) for hvc pointers next to the cons_ops[] and vtermnos[] arrays. With the array, we can easily find hvc's cons_outbuf and its lock.' After you pointed it out, I just found what you said make sense, I checked the code hvc_console_print() can support print before hvc_alloc() is called when someone use hvc_instantiate() for an early console discovery method. I send a patch to fix the issue? or these serial pathches reverted fisrtly then I resend new version patches? thanks > > regards,