Files
twx-linux/include/linux
Sergei Miroshnichenko 7677956e40 can: dev: fix deadlock reported after bus-off
commit 9abefcb1aa upstream.

A timer was used to restart after the bus-off state, leading to a
relatively large can_restart() executed in an interrupt context,
which in turn sets up pinctrl. When this happens during system boot,
there is a high probability of grabbing the pinctrl_list_mutex,
which is locked already by the probe() of other device, making the
kernel suspect a deadlock condition [1].

To resolve this issue, the restart_timer is replaced by a delayed
work.

[1] https://github.com/victronenergy/venus/issues/24

Signed-off-by: Sergei Miroshnichenko <sergeimir@emcraft.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-07 15:23:40 +02:00
..
…
2016-03-03 15:07:26 -08:00
…
…
…
…
…
…
…
…
…
2016-08-20 18:09:25 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-03-09 15:34:52 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2015-11-07 10:40:47 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-07-27 09:47:33 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-09-15 08:27:52 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-04-20 15:42:02 +09:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2015-11-23 09:44:58 +01:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-09-24 10:07:36 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-09-30 10:18:36 +02:00
…
…
…
…
2016-03-03 15:07:28 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2015-11-06 17:50:42 -08:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-09-30 10:18:37 +02:00
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
…
2016-04-12 09:08:35 -07:00
…
…
…
…
…
…
…
…
…
…
…
2016-06-01 12:15:52 -07:00
…
…
…
…
2016-09-24 10:07:43 +02:00
2015-11-23 09:44:58 +01:00
…
…
…
…
…
2015-12-04 08:38:42 -07:00
…
…
…
…
…
…
…
…
…
…
…
…
…
2015-12-13 14:30:59 -08:00
…
…
2015-11-13 20:34:33 -05:00
…
…
…
…
…
…