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: christos%zoulas.com@localhost (Christos Zoulas)
To: gnats-bugs%NetBSD.org@localhost, gnats-admin%netbsd.org@localhost, 
netbsd-bugs%netbsd.org@localhost, 
        src153%gmail.com@localhost
Cc: 
Subject: Re: PR/48720 CVS commit: src/sys/dev/ic
Date: Mon, 7 Apr 2014 20:09:33 -0400

 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
 |   <----->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.
 
 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.
 
 christos
 


Home | Main Index | Thread Index | Old Index