diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index a0a06f7..3725020 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1138,7 +1138,7 @@ static void azx_enter_link_reset(struct azx *chip) azx_writel(chip, GCTL, azx_readl(chip, GCTL) & ~ICH6_GCTL_RESET); timeout = jiffies + msecs_to_jiffies(100); - while ((azx_readb(chip, GCTL) & ICH6_GCTL_RESET) && + while ((azx_readl(chip, GCTL) & ICH6_GCTL_RESET) && time_before(jiffies, timeout)) usleep_range(500, 1000); } @@ -1148,10 +1148,10 @@ static void azx_exit_link_reset(struct azx *chip) { unsigned long timeout; - azx_writeb(chip, GCTL, azx_readb(chip, GCTL) | ICH6_GCTL_RESET); + azx_writel(chip, GCTL, azx_readl(chip, GCTL) | ICH6_GCTL_RESET); timeout = jiffies + msecs_to_jiffies(100); - while (!azx_readb(chip, GCTL) && + while (!azx_readl(chip, GCTL) && time_before(jiffies, timeout)) usleep_range(500, 1000); } @@ -1181,7 +1181,7 @@ static int azx_reset(struct azx *chip, int full_reset) __skip: /* check to see if controller is ready */ - if (!azx_readb(chip, GCTL)) { + if (!(azx_readl(chip, GCTL) & ICH6_GCTL_RESET)) { snd_printd(SFX "%s: azx_reset: controller not ready!\n", pci_name(chip->pci)); return -EBUSY; }