summaryrefslogtreecommitdiff
path: root/drivers/staging/nmf-cm/cm_service.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/nmf-cm/cm_service.c')
-rw-r--r--drivers/staging/nmf-cm/cm_service.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/staging/nmf-cm/cm_service.c b/drivers/staging/nmf-cm/cm_service.c
index 70cf6f37524..a2a6ffa5b57 100644
--- a/drivers/staging/nmf-cm/cm_service.c
+++ b/drivers/staging/nmf-cm/cm_service.c
@@ -12,9 +12,9 @@
#include <linux/module.h>
#include <linux/plist.h>
+#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/spinlock_types.h>
-#include <linux/sched.h>
#include <cm/engine/api/control/irq_engine.h>
@@ -71,7 +71,7 @@ void dispatch_service_msg(struct osal_msg *msg)
spin_lock_bh(&channelPriv->bh_lock);
plist_add(&new_msg->msg_entry, &channelPriv->messageQueue);
spin_unlock_bh(&channelPriv->bh_lock);
- wake_up_interruptible(&channelPriv->waitq);
+ wake_up(&channelPriv->waitq);
}
}
@@ -113,6 +113,12 @@ static void service_tasklet_func(unsigned long unused)
desc.u.print.value2);
break;
}
+ case CM_MPC_SERVICE_TRACE:
+ spin_lock_bh(&osalEnv.mpc[i].trace_reader_lock);
+ if (osalEnv.mpc[i].trace_reader)
+ wake_up_process(osalEnv.mpc[i].trace_reader);
+ spin_unlock_bh(&osalEnv.mpc[i].trace_reader_lock);
+ break;
default:
pr_err("[CM] %s: MPC Service Type %d not supported\n", __func__, type);
}