summaryrefslogtreecommitdiff
path: root/drivers/hsi/controllers/omap_ssi_core.c
diff options
context:
space:
mode:
authorSebastian Reichel <sre@kernel.org>2016-05-20 06:25:06 +0200
committerSebastian Reichel <sre@kernel.org>2016-06-28 00:40:00 +0200
commit4e552310cdf0c81210b5fc9173f7cf497eeb9feb (patch)
treef9f4e8bdcbb87627e9a4431a55ef39f6d973adba /drivers/hsi/controllers/omap_ssi_core.c
parent604fdfa45886f04ad6070c1b8266c7f4154bc497 (diff)
HSI: omap_ssi: call msg->complete() from process context
msg->complete() should always be called from process context once irq_safe runtime pm flag is no longer set for omap-ssi. Signed-off-by: Sebastian Reichel <sre@kernel.org> Tested-by: Pavel Machek <pavel@ucw.cz>
Diffstat (limited to 'drivers/hsi/controllers/omap_ssi_core.c')
-rw-r--r--drivers/hsi/controllers/omap_ssi_core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/hsi/controllers/omap_ssi_core.c b/drivers/hsi/controllers/omap_ssi_core.c
index 79562ce65579..506a9f1ef7ad 100644
--- a/drivers/hsi/controllers/omap_ssi_core.c
+++ b/drivers/hsi/controllers/omap_ssi_core.c
@@ -235,7 +235,9 @@ static void ssi_gdd_complete(struct hsi_controller *ssi, unsigned int lch)
spin_lock(&omap_port->lock);
list_del(&msg->link); /* Dequeue msg */
spin_unlock(&omap_port->lock);
- msg->complete(msg);
+
+ list_add_tail(&msg->link, &omap_port->errqueue);
+ schedule_delayed_work(&omap_port->errqueue_work, 0);
return;
}
spin_lock(&omap_port->lock);