Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Hardware interrupt list?



On 9/9/2011 06:39, Ken Hornstein wrote:
Ok, so undo the previous change and then duplicate the appropriate code
under TIOCDCDTIMESTAMP?

Yeah (of course, you still need the zs_makeintr() call, but you really need
the rest of it).

You know, I am puzzled by something ... I don't understand how you
could ever get EBUSY when those devices are opened twice.  The only
returns of EBUSY I see in the zs driver code are if the device is being
used by kgdb and if kauth fails on that (you can also get EBUSY from
ttyopen() when using the dialout device, but I'm assuming you're not
doing that).  This is of course assuming everything is opening the
devices with O_NONBLOCK.  If you're getting EBUSY when two devices try
to open that, I'd figure out why (that seems to be unrelated to any zs
driver issues).

I'm not sure why either but the basic code of ntpd supposedly opens O_NONBLOCK in general so that it can open the port twice (once for the DCD detect and once for the TX/RX). It works on other systems, just not this one.

I'll test out these modifications later this weekend. As a test, I split my serial cable so DCD detection is running into one port and TX/RX is running to another. The end result of that is happy ntpd getting its PPS and a happy gpsd sucking in the SiRF data and running time stamps over to ntpd. Even the jitter and offset has settled down on the GPS timestamp because gpsd isn't going crazy with the single-port issue. Not exactly optimal having to run two ports where just one should work but as an experiment it works. I'm still going to try and fix the serial port problem because now it's bothering me. :)

Home | Main Index | Thread Index | Old Index