Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 May 2004 13:27:29 +0400
From:      Roman Kurakin <rik@cronyx.ru>
To:        Marcel Moolenaar <marcel@xcllnt.net>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Sio & Puc memory mapped
Message-ID:  <40A73401.5010703@cronyx.ru>
In-Reply-To: <20040515190413.GB9900@dhcp01.pn.xcllnt.net>
References:  <40A26162.9030607@cronyx.ru> <20040512.200542.09569104.imp@bsdimp.com> <20040513155109.GB6572@dhcp01.pn.xcllnt.net> <40A4E2CB.2000007@cronyx.ru> <20040515041301.O22881@gamplex.bde.org> <40A537C8.1010407@cronyx.ru> <20040515190413.GB9900@dhcp01.pn.xcllnt.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Marcel Moolenaar:
[...]

><patch>
>--- asytest.c~	Fri May 14 11:50:10 2004
>+++ asytest.c	Sat May 15 11:31:03 2004
>@@ -152,6 +152,7 @@
> 		}
> 
> 		opt = chan[i].old_options;
>+		cfmakeraw (&opt);
> 		cfsetspeed (&opt, baud);
> 		opt.c_cflag = CREAD | CS8;
> 		opt.c_lflag &= ~ICANON;
>@@ -198,7 +199,7 @@
> 		for (c=chan; c<chan+MAXCHAN; ++c)
> 			if (c->fd > 0) {
> 				if (c->ready_to_transmit) {
>-					s = write (c->fd, tbuf+it, IOSZ);
>+					s = write (c->fd, tbuf+it, IOSZ-it);
> 					if (s <= 0) {
> 						if (s < 0) {
> 							if (errno != EAGAIN)
></patch>
>
Works good with my card. Thanks!

>The first (the cfmakeraw() insertion) may be related to uart(4) not
>setting proper defaults, but may also be related to uart(4) setting
>different *valid* defaults. The second is a genuine test program bug
>
The only I can say that this test works fine with sio(4), cx(4),
and under linux kernels before 2.6 with serial. So this requires
additional investigation.

>triggered by write() doing partial writes. This bug too may be the
>result of uart(4) not setting the right defaults, but since the test
>program doesn't assume complete writes the bug is primarily in the
>test program by virtue of allowing partial writes.
>  
>
rik






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?40A73401.5010703>