]> err.no Git - linux-2.6/blobdiff - sound/pci/oxygen/oxygen_lib.c
Merge branches 'at91', 'dyntick', 'ep93xx', 'iop', 'ixp', 'misc', 'orion', 'omap...
[linux-2.6] / sound / pci / oxygen / oxygen_lib.c
index 39e4b7a5174007ec447b515a53aaa0eaaa027b16..897697d43506d2354b2ffc954f58232d97b3c556 100644 (file)
@@ -221,7 +221,8 @@ static void oxygen_init(struct oxygen *chip)
 
        chip->dac_routing = 1;
        for (i = 0; i < 8; ++i)
-               chip->dac_volume[i] = 0xff;
+               chip->dac_volume[i] = chip->model->dac_volume_min;
+       chip->dac_mute = 1;
        chip->spdif_playback_enable = 1;
        chip->spdif_bits = OXYGEN_SPDIF_C | OXYGEN_SPDIF_ORIGINAL |
                (IEC958_AES1_CON_PCM_CODER << OXYGEN_SPDIF_CATEGORY_SHIFT);
@@ -409,10 +410,8 @@ static void oxygen_card_free(struct snd_card *card)
        oxygen_write16(chip, OXYGEN_DMA_STATUS, 0);
        oxygen_write16(chip, OXYGEN_INTERRUPT_MASK, 0);
        spin_unlock_irq(&chip->reg_lock);
-       if (chip->irq >= 0) {
+       if (chip->irq >= 0)
                free_irq(chip->irq, chip);
-               synchronize_irq(chip->irq);
-       }
        flush_scheduled_work();
        chip->model->cleanup(chip);
        mutex_destroy(&chip->mutex);