ALSA: hda: read CORBWP inside reg_lock

This converts the last CORBWP access outside of reg_lock.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>

authored by Wu Fengguang and committed by Takashi Iwai c32649fe cdb1fbf2

+3 -1
+3 -1
sound/pci/hda/hda_intel.c
··· 588 unsigned int addr = azx_command_addr(val); 589 unsigned int wp; 590 591 /* add command to corb */ 592 wp = azx_readb(chip, CORBWP); 593 wp++; 594 wp %= ICH6_MAX_CORB_ENTRIES; 595 596 - spin_lock_irq(&chip->reg_lock); 597 chip->rirb.cmds[addr]++; 598 chip->corb.buf[wp] = cpu_to_le32(val); 599 azx_writel(chip, CORBWP, wp); 600 spin_unlock_irq(&chip->reg_lock); 601 602 return 0;
··· 588 unsigned int addr = azx_command_addr(val); 589 unsigned int wp; 590 591 + spin_lock_irq(&chip->reg_lock); 592 + 593 /* add command to corb */ 594 wp = azx_readb(chip, CORBWP); 595 wp++; 596 wp %= ICH6_MAX_CORB_ENTRIES; 597 598 chip->rirb.cmds[addr]++; 599 chip->corb.buf[wp] = cpu_to_le32(val); 600 azx_writel(chip, CORBWP, wp); 601 + 602 spin_unlock_irq(&chip->reg_lock); 603 604 return 0;