ALSA: emux: centralize & improve patch info validation
[linux-2.6-block.git] / sound / isa / sb / emu8000_patch.c
index 8c1e7f2bfc34a11575495eda050203f68737b580..ab4f988f080dc79ef6a4c778ca7f999eb1731359 100644 (file)
@@ -148,13 +148,6 @@ snd_emu8000_sample_new(struct snd_emux *rec, struct snd_sf_sample *sp,
        if (snd_BUG_ON(!sp))
                return -EINVAL;
 
-       if (sp->v.size == 0)
-               return 0;
-
-       /* be sure loop points start < end */
-       if (sp->v.loopstart > sp->v.loopend)
-               swap(sp->v.loopstart, sp->v.loopend);
-
        /* compute true data size to be loaded */
        truesize = sp->v.size;
        if (sp->v.mode_flags & (SNDRV_SFNT_SAMPLE_BIDIR_LOOP|SNDRV_SFNT_SAMPLE_REVERSE_LOOP))
@@ -177,12 +170,6 @@ snd_emu8000_sample_new(struct snd_emux *rec, struct snd_sf_sample *sp,
                        return -EFAULT;
        }
 
-       /* recalculate address offset */
-       sp->v.end -= sp->v.start;
-       sp->v.loopstart -= sp->v.start;
-       sp->v.loopend -= sp->v.start;
-       sp->v.start = 0;
-
        /* dram position (in word) -- mem_offset is byte */
        dram_offset = EMU8000_DRAM_OFFSET + (sp->block->offset >> 1);
        dram_start = dram_offset;