ptp device strangeness

From: Tim Sander <hidden>
Date: 2017-09-01 15:38:31
Also in: lkml

Hi

I am currently using ptp on a Altera/Intel SOC with a dp8640 PHY.
PTP functionality seems to be right. But i am doing timestamping
with gpio0 and sometimes i loose the sync of the stamping and
the events. So i would like to read out all messages. Reading O_NONBLOCK
does not work so i tried polling from usermode with the below code:

		np = poll(&ev, 1, 0);
		ev.fd=ptpDev;
		ev.events = POLLIN;
		if (np>0) {
			if (ev.revents>0) {
				std::cout<<"discarded ptp event"<<std::endl;
				read(ptpDev, &event, sizeof(event));
			}
But as confirmed in the debugger np=1 and read blocks forever.
I don't think that this is correct behavior?

For pinning down this misbehavior I would like to know it this is a local 
problem of my hardware or if this is a general problem with the ptp chardev 
interface? 

I am currently on 4.11.12. As this is the latest preempt rt release.

Best regards
Tim
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help