Skip to content

Commit e7c0877

Browse files
committed
tests: userspace: add null checks for dma and dai devices
Add zassert_not_null checks to userspace tests for Intel HDA DMA and SSP DAI. This verifies that the retrieved DMA and DAI device pointers are valid and not null before attempting to use them in the test cases. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
1 parent 1ccdf07 commit e7c0877

2 files changed

Lines changed: 8 additions & 0 deletions

File tree

zephyr/test/userspace/test_intel_hda_dma.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ static void intel_hda_dma_user(void *p1, void *p2, void *p3)
5757
* cannot access
5858
*/
5959
dma = sof_dma_get(SOF_DMA_DIR_LMEM_TO_HMEM, 0, SOF_DMA_DEV_HOST, SOF_DMA_ACCESS_SHARED);
60+
zassert_not_null(dma, "dma get failed");
6061

6162
k_sem_take(&ipc_sem_wake_user, K_FOREVER);
6263
LOG_INF("configure DMA channel");
@@ -181,6 +182,7 @@ static void intel_hda_dma_kernel(void)
181182
k_thread_access_grant(&user_thread, &ipc_sem_wake_kernel);
182183

183184
dma = DEVICE_DT_GET(DT_NODELABEL(hda_host_in));
185+
zassert_not_null(dma, "hda_host_in device not found");
184186
k_thread_access_grant(&user_thread, dma);
185187

186188
hda_ipc_msg(INTEL_ADSP_IPC_HOST_DEV, IPCCMD_HDA_RESET,

zephyr/test/userspace/test_intel_ssp_dai.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,16 @@ static void intel_ssp_dai_user(void *p1, void *p2, void *p3)
130130
* cannot access
131131
*/
132132
dma_in = sof_dma_get(SOF_DMA_DIR_DEV_TO_MEM, 0, SOF_DMA_DEV_SSP, SOF_DMA_ACCESS_SHARED);
133+
zassert_not_null(dma_in, "dma_in get failed");
133134
dma_out = sof_dma_get(SOF_DMA_DIR_MEM_TO_DEV, 0, SOF_DMA_DEV_SSP, SOF_DMA_ACCESS_SHARED);
135+
zassert_not_null(dma_out, "dma_out get failed");
134136

135137
k_sem_take(&ipc_sem_wake_user, K_FOREVER);
136138

137139
LOG_INF("create a DAI device for %s", STRINGIFY(SSP_DEVICE));
138140

139141
dai_dev = DEVICE_DT_GET(DT_NODELABEL(SSP_DEVICE));
142+
zassert_not_null(dai_dev, "dai_dev DT struct not found");
140143
err = dai_probe(dai_dev);
141144
zassert_equal(err, 0);
142145

@@ -297,8 +300,11 @@ static void intel_ssp_dai_kernel(void)
297300
k_thread_access_grant(&user_thread, &ipc_sem_wake_kernel);
298301

299302
dma_out = DEVICE_DT_GET(DT_NODELABEL(hda_link_out));
303+
zassert_not_null(dma_out, "hda_link_out not found");
300304
dma_in = DEVICE_DT_GET(DT_NODELABEL(hda_link_in));
305+
zassert_not_null(dma_in, "hda_link_in not found");
301306
dai_dev = DEVICE_DT_GET(DT_NODELABEL(SSP_DEVICE));
307+
zassert_not_null(dai_dev, "SSP_DEVICE not found");
302308

303309
k_thread_access_grant(&user_thread, dma_out);
304310
k_thread_access_grant(&user_thread, dma_in);

0 commit comments

Comments
 (0)