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