Files
linux/drivers
Sergei Miroshnichenko ebee2e2f30 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: Willy Tarreau <w@1wt.eu>
2017-02-10 11:04:06 +01:00
..
2013-12-08 07:29:25 -08:00
2013-05-17 14:31:05 -04:00
2017-02-10 11:03:31 +01:00
2017-02-10 11:03:35 +01:00
2016-06-07 10:42:51 +02:00
2017-02-10 11:03:41 +01:00