From owner-freebsd-bugs Thu Mar 6 21:48:17 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id VAA16499 for bugs-outgoing; Thu, 6 Mar 1997 21:48:17 -0800 (PST) Received: from meter.eng.uci.edu (root@meter.eng.uci.edu [128.200.85.3]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id VAA16492; Thu, 6 Mar 1997 21:48:14 -0800 (PST) Received: from newport.ece.uci.edu by meter.eng.uci.edu (8.8.5) id VAA08084; Thu, 6 Mar 1997 21:48:12 -0800 (PST) Received: from localhost by newport.ece.uci.edu (8.8.5) id VAA20665; Thu, 6 Mar 1997 21:48:10 -0800 (PST) Message-Id: <199703070548.VAA20665@newport.ece.uci.edu> To: bugs@freebsd.org cc: current@freebsd.org Subject: serial driver Date: Thu, 06 Mar 1997 21:48:09 -0800 From: Steven Wallace Sender: owner-bugs@freebsd.org X-Loop: FreeBSD.org Precedence: bulk I have noticed a problem with the sio driver. When receiving data, it goes into a buffer until it is read by read(), right? Well, I am losing data because after DTR is dropped, up to 16 bytes sent BEFORE DTR are lost or destroyed, so read() is not picking this up. Even though DTR is dropped, that does not mean all data received in any buffer is not valid at this point, but only data received AFTER. So even if a read() call is actually called after DTR is dropped, it should still return any remaining bytes. Note: As a result, up to 16 bytes can be lost. I have a 16550A chip so the driver might not be reading remaining bytes in its buffer. I am using 2.2R. Please let me know what the deal is. Thanks, Steven