- 03 5月, 2014 1 次提交
-
-
由 Liam Girdwood 提交于
Read the stream offset and presentation position from DSP memory rather than using the old estimated position. This fixes timing issues with pulseaudio. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 24 4月, 2014 1 次提交
-
-
由 Jarkko Nikula 提交于
I suppose there is a possibility that hsw_notification_work() may run after sst_hsw_stream_free() which can lead to a kernel crash since struct sst_hsw_stream is freed at that point and stream = container_of(work, struct sst_hsw_stream, notify_work) is not valid when hsw_notification_work() is run. Reported-by: NDerek Basehore <dbasehore@chromium.org> Reported-by: NWenkai Du <wenkai.du@intel.com> Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 23 4月, 2014 1 次提交
-
-
由 Wenkai Du 提交于
There is a race between sst_byt_stream_free() and sst_byt_get_stream() if sst_byt_get_stream() called from sst_byt_irq_thread() context is accessing the byt->stream_list while a stream is deleted from the list. A stream is added to byt->stream_list in sst_byt_stream_new() and deleted in sst_byt_stream_free(). sst_byt_get_stream() is always protected by sst->spinlock, but the stream addition and deletion are not protected. The patch adds spinlock to both stream addition and deletion. [Jarkko: Same fix added to sst-haswell-ipc.c too] Signed-off-by: NWenkai Du <wenkai.du@intel.com> Signed-off-by: NJarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 19 4月, 2014 2 次提交
-
-
由 Christian Engelmayer 提交于
Fix an incorrect sizeof() usage in sst_hsw_stream_get_volume(). sst_dsp_read() is called to read into a variable of type u32, but is passed sizeof(u32 *) for argument 'size_t bytes'. Detected by Coverity: CID 1195260. Signed-off-by: NChristian Engelmayer <cengelma@gmx.at> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Dan Carpenter 提交于
The intent was to say "sizeof(*pos)" and not "sizeof(pos)". The sizeof(*pos) is 8 bytes so the bug won't show up on 64 bit systems. The sizeof(*dx) is 172 bytes so that will be a bugfix. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 07 3月, 2014 1 次提交
-
-
由 Liam Girdwood 提交于
Check the return value for error when processing replies and notifications. The patch 22981243: "ASoC: Intel: Add Haswell/Broadwell IPC" from > Feb 20, 2014, leads to the following imaginary static checker warning: > > sound/soc/intel/sst-haswell-ipc.c:898 hsw_irq_thread() > warn: this is always true. > > sound/soc/intel/sst-haswell-ipc.c > 895 /* Handle Immediate reply from DSP Core */ > 896 handled = hsw_process_reply(hsw, ipcx); > ^^^^^^^^^^^^^^^^^ > Returns 1 on success/error and -EIO on error. > > 897 > 898 if (handled) { > 899 /* clear DONE bit - tell DSP we have completed */ > 900 sst_dsp_shim_update_bits_unlocked(sst, SST_IPCX, > 901 SST_IPCX_DONE, 0); > 902 > 903 /* unmask Done interrupt */ > 904 sst_dsp_shim_update_bits_unlocked(sst, SST_IMRX, > 905 SST_IMRX_DONE, 0); > 906 } > Reported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 26 2月, 2014 2 次提交
-
-
由 Dan Carpenter 提交于
This should be sizeof(pos) instead of sizeof(&pos). Most likely they are both 8 bytes though so it doesn't often make a difference in real life. Fixes: 22981243 ('ASoC: Intel: Add Haswell/Broadwell IPC') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
由 Dan Carpenter 提交于
This should be spin_unlock_irqrestore() instead of spin_unlock() Fixes: 22981243 ('ASoC: Intel: Add Haswell/Broadwell IPC') Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-
- 22 2月, 2014 1 次提交
-
-
由 Liam Girdwood 提交于
Add support for Haswell and Broadwell DSP IPC. This is used by the DSP platform PCM driver to configure the DSP for audio operations. Signed-off-by: NLiam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: NMark Brown <broonie@linaro.org>
-