summaryrefslogtreecommitdiff
path: root/drivers/net/can/flexcan.c
diff options
context:
space:
mode:
authorSanchayan Maity <maitysanchayan@gmail.com>2017-04-26 13:30:14 +0530
committerOleksandr Suvorov <oleksandr.suvorov@toradex.com>2021-01-27 11:03:29 +0200
commit4f6047ea90eaac6780a06590bc0585e969a95fdb (patch)
treebe283d6c2ac6b68fa8f146c51a4fd42cb8af5f94 /drivers/net/can/flexcan.c
parentdcef57828ae18fe3bbdebf890aea7c6ff8117bf9 (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.c7
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)