struct snd_emu8000 *emu = rec->emu;
 
        snd_emu8000_write_wait(emu, 1);
-       if (voice == -1) {
-               unsigned short *buf = src;
-               int i, err;
-               count /= rec->voices;
-               for (i = 0; i < rec->voices; i++) {
-                       err = emu8k_transfer_block(emu, pos + rec->loop_start[i], buf, count);
-                       if (err < 0)
-                               return err;
-                       buf += count;
-               }
-               return 0;
-       } else {
-               return emu8k_transfer_block(emu, pos + rec->loop_start[voice], src, count);
-       }
+       return emu8k_transfer_block(emu, pos + rec->loop_start[voice], src,
+                                   count);
 }
 
 /* make a channel block silence */
        struct snd_emu8000 *emu = rec->emu;
 
        snd_emu8000_write_wait(emu, 1);
-       if (voice == -1 && rec->voices == 1)
-               voice = 0;
-       if (voice == -1) {
-               int err;
-               err = emu8k_silence_block(emu, pos + rec->loop_start[0], count / 2);
-               if (err < 0)
-                       return err;
-               return emu8k_silence_block(emu, pos + rec->loop_start[1], count / 2);
-       } else {
-               return emu8k_silence_block(emu, pos + rec->loop_start[voice], count);
-       }
+       return emu8k_silence_block(emu, pos + rec->loop_start[voice], count);
 }
 
 #else /* interleave */