Subject: Re: PPS diffs, round #3
To: Chris Torek <torek@BSDI.COM>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-kern
Date: 04/21/1998 21:47:15
Oh, thanks heaps. I was trying to eliminate one of the variables
but I chose the wrong one :).
I think the interrupt-code test should actually be
if (ISSET(delta, sc->sc_ppsmask)) && (msr & sc_ppmask) == ppsmatch)
the first clause finds if the signal we're interested in changed, the
second checks it's the right edge.
Jeremy Cooper also pointed out a potential race with setting
`sc_dopps' flag before setting the edgemask. And I guess the DCD_
names should really be PPS_NONE and PPS_DCD_XXX_EDGE?
I've fixed that, and I'm folding in Chris Torek's suggestion
(thanks again).
I'll put the fixed patch in
ftp://ftp.netbsd.org/ftp/pub/incoming/jonathan/pps-com-patch