fix incoherent buffer regression #6075#6084
Conversation
|
This is interesting: in Line 562 in 8543f5c so presumably that function can be called with dd->dma_buffer == NULL because that's also the only location where that pointer is assigned. But in the beginning of dai_params() the ipc_dai_data_config() function is called, which for INTEL_ALH and AMD_DMIC DAI types doesLine 142 in 8543f5c i.e. it dereferences the NULL pointer. And - guess what - there's no exception. To be more precise there wasn't one until today. Today after e4a5359 it began to properly crash according to #6075 |
The DMA buffer in dai.c has to use cached alias for access. Besides the pointer can be NULL, which has to be checked for. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Failing to properly acquire buffer objects for access leads to a CI regression. BugLink: thesofproject#6075 Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Avoid double-negations and cherry-pick -x the original commit instead. |
|
CI: the only failure is a WHL suspend-resume timeout https://sof-ci.01.org/sofpr/PR6084/build1119/devicetest/?model=WHL_UPEXT_HDA_ZEPHYR&testcase=check-suspend-resume-with-playback-5 |
Kconfig options with no description cannot be selected from defconfig. They can only be selected from other Kconfig options. This means, that CONFIG_INCOHERENT doesn't get selected on TGL. Move it to Kconfig to fix this. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
@lgirdwood @marc-hb I thought having revert-revert would add context but ok, replaced with a cherry-pick |
The DMA buffer in dai.c has to use cached alias for access. Besides the pointer can be NULL, which has to be checked for.