linux-can.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* mcp251x: mcp2515 stops receiving
@ 2014-03-21 12:40 Rost, Martin
  2014-03-22 20:15 ` Oliver Hartkopp
  2014-03-29 18:15 ` John Whitmore
  0 siblings, 2 replies; 4+ messages in thread
From: Rost, Martin @ 2014-03-21 12:40 UTC (permalink / raw)
  To: linux-can@vger.kernel.org

[-- Attachment #1: Type: text/plain, Size: 1943 bytes --]

Hello List,

We are using the MCP2515 on a tegra3 (Toradex Colibri T30, to be precise) and every now and then the driver just stops.
The interrupt line stays low, and the driver does not collect the data.
From my investigations I conclude, that the MCP lowers the IRQ line before the value in the INTF register is  updated, 
so when the driver reads the INTF register, a 0 is returned, and the driver assumes nothing has to be done.
 
(
Chances are I'm misinterpreting my observations. 
It might as well be that the call to the IST is suspended, because the previous instance is still running and processes the new irq cause as well, 
so the next call will not see the signal at all. 
But in that case the driver should not stop with the irq line held low, or should it?
)
 
We are using the 3.1.10 kernel from the toradex repository, which should be in sync with the nvidia tegra4linux one.
I have browsed through the patches between 3.1.10 and head and have applied all those that seem to address issues and don't interfere with the 3.1.10 kernel structures, but to no avail.
In fact, these patches have been applied:
cab32f39dcc5b35db96497dc0a026b5dea76e4e7
db388d6460ffa53b3b38429da6f70a913f89b048
ae5d589e5f9f3217656ada632869968178886ac6
b1ef05a5a20afe50d4188a5b59579bd140758cf0
I have changed the IST loop to poll the INTF register beforehand for up to 10ms, and now the driver seems a lot more stable in our environment.
Has someone seen this issue before, or can confirm I am not completely off the path?
 
On a side note, I have a second reason that makes the driver stop, which has to do with smp somehow.
Disabling core1..3 keeps that from happening, but the problem addressed above would persist.
Switching the irq to a different core by setting /proc/irq/91/smp_affinity does not trigger this problem.
Any insights or starting point on this would also be greatly appreciated.
 
Best regards
Martin 

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2015 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-31  8:40 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-03-21 12:40 mcp251x: mcp2515 stops receiving Rost, Martin
2014-03-22 20:15 ` Oliver Hartkopp
2014-03-29 18:15 ` John Whitmore
2014-03-31  8:29   ` Mylene Josserand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).