summaryrefslogtreecommitdiff
path: root/sound/soc/intel/sst
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@intel.com>2014-10-20 15:24:33 (GMT)
committerMark Brown <broonie@kernel.org>2014-10-21 22:58:59 (GMT)
commit33c1256f1ce30a94f4b590bb30baf787e17f64aa (patch)
treeb8cd55aea2cc7fb9b8fef529226e8d719010c881 /sound/soc/intel/sst
parentdee2ce696ea8b37a26eef9f2a3fcc64df7179d98 (diff)
downloadlinux-33c1256f1ce30a94f4b590bb30baf787e17f64aa.tar.xz
ASoC: intel: explain why block not found isn't error always
The IPC blocking can be error when we don't find block or a short message, explain that by adding a comment about this scenario Signed-off-by: Vinod Koul <vinod.koul@intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/sst')
-rw-r--r--sound/soc/intel/sst/sst_ipc.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sound/soc/intel/sst/sst_ipc.c b/sound/soc/intel/sst/sst_ipc.c
index 41a2b41..2126f5b 100644
--- a/sound/soc/intel/sst/sst_ipc.c
+++ b/sound/soc/intel/sst/sst_ipc.c
@@ -54,6 +54,21 @@ struct sst_block *sst_create_block(struct intel_sst_drv *ctx,
return msg;
}
+/*
+ * while handling the interrupts, we need to check for message status and
+ * then if we are blocking for a message
+ *
+ * here we are unblocking the blocked ones, this is based on id we have
+ * passed and search that for block threads.
+ * We will not find block in two cases
+ * a) when its small message and block in not there, so silently ignore
+ * them
+ * b) when we are actually not able to find the block (bug perhaps)
+ *
+ * Since we have bit of small messages we can spam kernel log with err
+ * print on above so need to keep as debug prints which should be enabled
+ * via dynamic debug while debugging IPC issues
+ */
int sst_wake_up_block(struct intel_sst_drv *ctx, int result,
u32 drv_id, u32 ipc, void *data, u32 size)
{