Hello Everybody,
when i'm upgrade ubuntu to the ubuntu 13.04 , this bug is also exists.
but when i'm edit    "sound/pci/cs46xx/dsp_spos.c"   function   "int 
cs46xx_dsp_resume(struct snd_cs46xx * chip) "

old code:

int cs46xx_dsp_resume(struct snd_cs46xx * chip)
{
        struct dsp_spos_instance * ins = chip->dsp_spos_instance;


        int i, err;
        /* clear parameter, sample and code areas */
        snd_cs46xx_clear_BA1(chip, DSP_PARAMETER_BYTE_OFFSET,
                             DSP_PARAMETER_BYTE_SIZE);
        snd_cs46xx_clear_BA1(chip, DSP_SAMPLE_BYTE_OFFSET,
                             DSP_SAMPLE_BYTE_SIZE);
        snd_cs46xx_clear_BA1(chip, DSP_CODE_BYTE_OFFSET, DSP_CODE_BYTE_SIZE);

        ignore some code here.......

        if (chip->dsp_spos_instance->spdif_status_in) {
                cs46xx_poke_via_dsp(chip, SP_ASER_COUNTDOWN, 0x80000005);
                cs46xx_poke_via_dsp(chip, SP_SPDIN_CONTROL, 0x800003ff);
        }
        return 0;
}


now:

int cs46xx_dsp_resume(struct snd_cs46xx * chip)
{
        struct dsp_spos_instance * ins = chip->dsp_spos_instance;


        int i, err;
        mutex_lock(&chip->spos_mutex);

        /* clear parameter, sample and code areas */
        snd_cs46xx_clear_BA1(chip, DSP_PARAMETER_BYTE_OFFSET,
                             DSP_PARAMETER_BYTE_SIZE);
        snd_cs46xx_clear_BA1(chip, DSP_SAMPLE_BYTE_OFFSET,
                             DSP_SAMPLE_BYTE_SIZE);
        snd_cs46xx_clear_BA1(chip, DSP_CODE_BYTE_OFFSET, DSP_CODE_BYTE_SIZE);

        ignore some code here.......

        if (chip->dsp_spos_instance->spdif_status_in) {
                cs46xx_poke_via_dsp(chip, SP_ASER_COUNTDOWN, 0x80000005);
                cs46xx_poke_via_dsp(chip, SP_SPDIN_CONTROL, 0x800003ff);
        }
        mutex_unlock(&chip->spos_mutex);
        return 0;
}


now the bug fixed,the sound card can works , so i think this  function
"int cs46xx_dsp_resume(struct snd_cs46xx * chip) "  need to add a lock 。


** Tags removed: kernel-fixed-upstream
** Tags added: kernel-bug-exists-upstream

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1157525

Title:
  snd-cs46xx don't work at  linux 3.2.0-39-generic

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1157525/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to