[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: PR/48720 CVS commit: src/sys/dev/ic
On Apr 7, 10:05pm, src153%gmail.com@localhost (John Kelly) wrote:
-- Subject: 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
| <-----><------>SET(sc->sc_mcr, sc->sc_mcr_dtr);
| 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.
I wanted to be safe by not dealing with resetting dtr... hoping that something
else would do it, but I've committed a better patch.
Main Index |
Thread Index |