Files
linux/drivers/net/can
Marc Kleine-Budde 4563588ce5 can: c_can: don't call pm_runtime_get_sync() from interrupt context
commit e35d46adc4 upstream.

The c_can driver contians a callpath (c_can_poll -> c_can_state_change ->
c_can_get_berr_counter) which may call pm_runtime_get_sync() from the IRQ
handler, which is not allowed and results in "BUG: scheduling while atomic".

This problem is fixed by introducing __c_can_get_berr_counter, which will not
call pm_runtime_get_sync().

Reported-by: Andrew Glen <AGlen@bepmarine.com>
Tested-by: Andrew Glen <AGlen@bepmarine.com>
Signed-off-by: Andrew Glen <AGlen@bepmarine.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-12-11 22:36:26 -08:00
..
2012-12-03 11:16:11 -08:00
2012-12-03 11:16:11 -08:00
2013-03-27 13:07:08 +01:00
2013-01-26 16:58:59 +01:00
2013-01-28 18:17:25 -05:00