NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PR/48720 CVS commit: src/sys/dev/ic
The following reply was made to PR bin/48720; it has been noted by GNATS.
From: John Kelly <src153%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: Christos Zoulas <christos%netbsd.org@localhost>
Subject: Re: PR/48720 CVS commit: src/sys/dev/ic
Date: Mon, 7 Apr 2014 22:02:37 +0000
On 4/6/14, Christos Zoulas <christos%netbsd.org@localhost> wrote:
> Log Message:
> PR/48720: John Kelly: com driver does not allow B0 to be set. The code to
> handle B0 was commented out for no reason given at revision 1.99. POSIX
> mandates to hangup on B0:
> http://pubs.opengroup.org/onlinepubs/9699919799/functions/tcsetattr.html
> To generate a diff of this commit:
> cvs rdiff -u -r1.323 -r1.324 src/sys/dev/ic/com.c
Thanks for a quick response. Your patch allows B0 to be set, which
drops DTR. But once that's done, changing the baud to a non-zero value
fails to bring DTR back up.
@@ -1426,9 +1424,9 @@
<----->}
<----->sc->sc_msr_mask = sc->sc_msr_cts | sc->sc_msr_dcd;
.
-#if 0
<----->if (ospeed == 0)
<-----><------>CLR(sc->sc_mcr, sc->sc_mcr_dtr);
+#if 0
<----->else
<-----><------>SET(sc->sc_mcr, sc->sc_mcr_dtr);
#endif
SET is still commented out, but it's needed too. Reactivating the else
and SET allows a non zero baud rate to bring DTR back up. That fixes
the POSIX compliance problem.
But the fix may be risky. There are things happening with DTR in com.c
that I don't fully understand yet. Looking at the CVS history, I see
Hannum made some comments about DTR. Maybe he was trying to fix some
other problem, when he caused the POSIX problem.
At least I know where the problem is now. I can test it further when I
have more time. If you want to revert the fix for safety's sake, it's
OK with me.
I leave it to your judgement.
Home |
Main Index |
Thread Index |
Old Index