mirror of
https://github.com/torvalds/linux.git
synced 2024-12-13 14:43:03 +00:00
25b401c181
If a valid power regulator or a dummy regulator is used (which
happens to be the case when no regulator is specified), restart_work
is queued no matter whether the device was running or not at suspend
time. Since work queues get initialized in the ndo_open callback,
resuming leads to a NULL pointer exception.
Reverse exactly the steps executed at suspend time:
- Enable the power regulator in any case
- Enable the transceiver regulator if the device was running, even in
case we have a power regulator
- Queue restart_work only in case the device was running
Fixes:
|
||
---|---|---|
.. | ||
c_can | ||
cc770 | ||
m_can | ||
mscan | ||
sja1000 | ||
softing | ||
spi | ||
usb | ||
at91_can.c | ||
bfin_can.c | ||
dev.c | ||
flexcan.c | ||
grcan.c | ||
janz-ican3.c | ||
Kconfig | ||
led.c | ||
Makefile | ||
pch_can.c | ||
rcar_can.c | ||
slcan.c | ||
ti_hecc.c | ||
vcan.c | ||
xilinx_can.c |