* We shouldn't exchange SWSP after running.
         * This means, parent needs to care it.
         */
-       if (rsnd_ssi_is_parent(mod, io))
+       if (rsnd_ssi_is_parent(mod, io) && !rsnd_ssi_multi_slaves(io))
                goto init_end;
 
        if (rsnd_io_is_play(io))
         * EN is for data output.
         * SSI parent EN is not needed.
         */
-       if (rsnd_ssi_is_parent(mod, io))
+       if (rsnd_ssi_is_parent(mod, io) && !rsnd_ssi_multi_slaves(io))
                return 0;
 
        ssi->cr_en = EN;
        if (!rsnd_ssi_is_run_mods(mod, io))
                return 0;
 
-       if (rsnd_ssi_is_parent(mod, io))
+       if (rsnd_ssi_is_parent(mod, io) && !rsnd_ssi_multi_slaves(io))
                return 0;
 
        cr  =   ssi->cr_own     |
        if (rsnd_is_gen1(priv))
                return 0;
 
-       if (rsnd_ssi_is_parent(mod, io))
+       if (rsnd_ssi_is_parent(mod, io) && !rsnd_ssi_multi_slaves(io))
                return 0;
 
        if (!rsnd_ssi_is_run_mods(mod, io))