diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2013-11-24 23:31:24 +0100 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2013-11-25 21:48:51 +0100 |
commit | e35d46adc49b469fd92bdb64fea8af93640e6651 (patch) | |
tree | 450dc5d0e82ae23c24cdd2374ba578f904b81b2f /arch/microblaze | |
parent | 2fea6cd303c0d0cd9067da31d873b6a6d5bd75e7 (diff) | |
download | linux-e35d46adc49b469fd92bdb64fea8af93640e6651.tar.bz2 |
can: c_can: don't call pm_runtime_get_sync() from interrupt context
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>
Cc: linux-stable <stable@vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'arch/microblaze')
0 files changed, 0 insertions, 0 deletions