diff options
author | Frieder Schrempf <frieder.schrempf@kontron.de> | 2021-05-05 09:14:15 +0200 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2021-05-06 09:24:07 +0200 |
commit | 03c427147b2d3e503af258711af4fc792b89b0af (patch) | |
tree | 6b83bb6d64c8a4aac4ce7f7f44a0607cd6039963 /drivers/most/most_usb.c | |
parent | 4376ea42db8bfcac2bc3a30bba93917244a8c2d4 (diff) |
can: mcp251x: fix resume from sleep before interface was brought up
Since 8ce8c0abcba3 the driver queues work via priv->restart_work when
resuming after suspend, even when the interface was not previously
enabled. This causes a null dereference error as the workqueue is only
allocated and initialized in mcp251x_open().
To fix this we move the workqueue init to mcp251x_can_probe() as there
is no reason to do it later and repeat it whenever mcp251x_open() is
called.
Fixes: 8ce8c0abcba3 ("can: mcp251x: only reset hardware as required")
Link: https://lore.kernel.org/r/17d5d714-b468-482f-f37a-482e3d6df84e@kontron.de
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
[mkl: fix error handling in mcp251x_stop()]
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'drivers/most/most_usb.c')
0 files changed, 0 insertions, 0 deletions