for (i = 1; i < MOD_MAX; i++) {
if (!src) {
mod[i] = ssi;
- break;
} else if (!dvc) {
mod[i] = src;
src = NULL;
if (mod[i] == this)
index = i;
+
+ if (mod[i] == ssi)
+ break;
}
if (is_play) {
dst_mod = mod[index];
} else {
src_mod = mod[index];
- dst_mod = mod[index + 1];
+ dst_mod = mod[index - 1];
}
index = 0;
if (ret < 0)
goto rsnd_dma_init_err;
- dma->dir = is_play ? DMA_TO_DEVICE : DMA_FROM_DEVICE;
+ dma->dir = is_play ? DMA_MEM_TO_DEV : DMA_DEV_TO_MEM;
INIT_WORK(&dma->work, rsnd_dma_do_work);
return 0;