Hi everyone,

I am new to this mailing list so I hope people could help me. It is the first 
time I use CAN protocol so I am a newbie !
I am currently working on CAN with the driver MCP251x for my company.

For some reasons, my company have the kernel 2.6.32.59 version. The MCP251x 
driver have been backported from the Linux version 2.6.34.
I am testing it but only for reading purpose. So I have a set-up to send CAN 
frame (in another computer) and received them with candump (this is what I 
want).


When I send CAN frames every 20 ms, the CAN interface seems to be blocked after 
1-2 minutes (sometimes 5 minutes) of reading and I can not act anymore on it. 
If I increase the interval time between frames (100 msec), the time before 
being blocked is around 30-40 minutes. And if it is every 1 sec, it is after 13 
hours !

I have made some debugging traces on the driver and I saw that the problem is 
in the call of "spi_sync" function (in the "mcp251x_spi_trans" function). 
I have done the same on the "spi.c" and I saw that the spi is blocked by the 
"wait_for_completion" function. What is it waiting for ?
With some readings, I saw that this function is not stoppable so it is normal 
that the function is blocked. But I did not understand why it is blocking in 
this function only after some times.

Can you have some explanation of this problem ? Have you already seen that 
before ?
How solve it ? Update the kernel to new version ? (If you have new version, 
could you test it please ?)
I have seen that some new kernel version (3.0.53 and upper) have some update on 
this spi_sync function. Is this going to fix this problem or not ?


Thank you in advance for any help !


Best regards,


--
Mylène JOSSERAND


_______________________________________________
Socketcan-core mailing list
Socketcan-core@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to