]> git.baikalelectronics.ru Git - kernel.git/commit
can: flexcan: fix transition from and to freeze mode in chip_{,un}freeze
authorMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 28 Feb 2014 16:08:21 +0000 (17:08 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 3 Mar 2014 11:41:46 +0000 (12:41 +0100)
commitc8eb99129b091d328bebe85962afd939a62f6a5f
tree88e163d51f28e04dbdca2b931b3bc76c0497af6f
parentca57882f6e21707d8624942c8a5e1245676b805d
can: flexcan: fix transition from and to freeze mode in chip_{,un}freeze

This patch factors out freeze and unfreeze of the CAN core into seperate
functions. Experiments have shown that the transition from and to freeze mode
may take several microseconds, especially the time entering the freeze mode
depends on the current bitrate.

This patch adds a while loop which polls the Freeze Mode ACK bit (FRZ_ACK) that
indicates a successfull mode change. If the function runs into a timeout a
error value is returned.

Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/flexcan.c