diff options
author | Sanchayan Maity <maitysanchayan@gmail.com> | 2017-04-26 13:30:14 +0530 |
---|---|---|
committer | Oleksandr Suvorov <oleksandr.suvorov@toradex.com> | 2021-01-27 11:03:29 +0200 |
commit | 4f6047ea90eaac6780a06590bc0585e969a95fdb (patch) | |
tree | be283d6c2ac6b68fa8f146c51a4fd42cb8af5f94 /drivers/net/can/flexcan.c | |
parent | dcef57828ae18fe3bbdebf890aea7c6ff8117bf9 (diff) |
net: can: flexcan: Fix wakeup on CAN from suspend issue
Do not disable peripheral while entering suspend mode. Disabling
the peripheral does not allow waking up from suspend on a CAN
frame reception.
Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
Acked-by: Stefan Agner <stefan.agner@toradex.com>
(cherry picked from commit f972815d2a4db5c93ded76bd11b660261e41f28c)
(cherry picked from commit a1148ca8e78a6fee4149096ea26143501764004f)
Conflicts:
drivers/net/can/flexcan.c
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'drivers/net/can/flexcan.c')
-rw-r--r-- | drivers/net/can/flexcan.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index 97d42eefc942..19966028476a 100644 --- a/drivers/net/can/flexcan.c +++ b/drivers/net/can/flexcan.c @@ -2155,7 +2155,12 @@ static int __maybe_unused flexcan_suspend(struct device *device) if (err) return err; } else { - flexcan_chip_stop(dev); + err = flexcan_chip_disable(priv); + if (err) { + netif_device_attach(dev); + netif_start_queue(dev); + return err; + } err = pm_runtime_force_suspend(device); if (err) |