NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/56143: Serial-line speed switch can corrupt "drained" output



The following reply was made to PR kern/56143; it has been noted by GNATS.

From: Robert Elz <kre%munnari.OZ.AU@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/56143: Serial-line speed switch can corrupt "drained" output
Date: Wed, 05 May 2021 03:13:30 +0700

     Date:        Tue,  4 May 2021 15:45:01 +0000 (UTC)
     From:        Mouse <mouse%Rodents-Montreal.ORG@localhost>
     Message-ID:  <20210504154501.1790A1A9244%mollari.NetBSD.org@localhost>
 
   | 	I don't know why this is; ttywait_timo checks TS_BUSY as well
   | 	as t_outq.c_cc.  Perhaps the com driver doesn't set TS_BUSY
   | 	entirely correctly?
 
 More likely the hardware is saying that it has transmitted the
 character when all it has really done is move it to its shift
 register (and so the output character buffer is free for the next).
 
 The driver would need to test deeper hardware state to tell if the
 hardware has actually finished transmitting the character, and is
 fully idle.   I'm not even sure if all hardware has a way to return
 that kind of state (but I semi-recall - it has been a very long time -
 that some hardware does provide that info).   It would need special case
 handling in each driver for this ioctl to get this right though.
 
 kre
 
 


Home | Main Index | Thread Index | Old Index