Thread (14 messages) flat view 14 messages, 3 authors, 2021-10-26

Re: [PATCH v11 2/3] tty: hvc: pass DMA capable memory to put_chars()

From: Greg KH <gregkh@linuxfoundation.org>
Date: 2021-10-26 06:10:50
Also in: lkml, virtualization

On Tue, Oct 26, 2021 at 02:02:21PM +0800, Xianting Tian wrote:
在 2021/10/26 下午1:10, Jiri Slaby 写道:
quoted
On 15. 10. 21, 4:46, Xianting Tian wrote:
quoted
@@ -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
Let me revert these now and you can send an updated version.

thanks,

greg k-h
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help