ALSA: hda/tegra: clear pending irq handlers
[linux-2.6-block.git] / sound / pci / hda / hda_tegra.c
index 83befd8d43e83fb399836b9ef094a2306740ac32..97a176d817a0cbd7feb49283f24415f1e9196b27 100644 (file)
@@ -234,10 +234,12 @@ static int hda_tegra_suspend(struct device *dev)
        struct snd_card *card = dev_get_drvdata(dev);
        struct azx *chip = card->private_data;
        struct hda_tegra *hda = container_of(chip, struct hda_tegra, chip);
+       struct hdac_bus *bus = azx_bus(chip);
 
        snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
 
        azx_stop_chip(chip);
+       synchronize_irq(bus->irq);
        azx_enter_link_reset(chip);
        hda_tegra_disable_clocks(hda);