On 11/11/2015 10:54 AM, Mirza Krak wrote: > 2015-11-11 9:04 GMT+01:00 Marc Kleine-Budde <m...@pengutronix.de>: >> This problem occurs only an hardware, where the SJA1000 is powered >> during system suspend? > > Correct, and the controller is in UP state. > >> Doesn't the SJA1000 trigger an interrupt that is detected after >> resuming? You add the fix to the open() function, which is triggered >> during $(ifconfig up), how is related to suspend/resume? Does the >> network layer call $(ifconfig down) during shutdown? > > It does not trigger another interrupt.
Can you put a scope on the interrupt pin and see if it's a problem of the SoC and/or Linux or the SJA1000 not pulling the IRQ line. > In our tests we have seen that IE and EPI flags are set in the IR > registered when we resume the system. If we do not clear these two > flags it does not produce any other interrupts. Setting the controller > in to reset mode does not clear the IE and EPI flags, I can understand > that IE flag is not cleared as this is stated in the data-sheet, can > not explain why EPI flag is not cleared though as data-sheet states 0 > (reset) for both hardware reset and SETTING MOD.0 BY SOFTWARE (which > is the reset-mode) > > Reason I put it in open() is so at least a DOWN/UP procedure returns > the controller to an operating state. Also if we do an UP we should > clear any earlier states that might exist in the registers like we do > with error counters and error code capture. Yes - makes sense to have it in open(). > Network layer does not call $(ifconfig down) during shutdown. > >> There isn't any suspend/resume code in the sja1000 driver, for me it >> seems that we should add resume code that handles this problem. > > Yes, resume code should be implemented to handle this and other > problems (receive data). But still a DOWN/UP procedure should clear > any previous state that could exist in the controller registers. I'll add your patch to can/master and add stable on Cc. Looking forward for some suspend/resume code :) Thanks, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature