From: Wu Fengguang Date: Sat, 1 Aug 2009 10:48:12 +0000 (+0800) Subject: ALSA: hda: read CORBWP inside reg_lock X-Git-Tag: v2.6.31-rc7~8^2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c32649feb4573b31f0a2bfdf35cbe1351256c764;p=profile%2Fcommon%2Fkernel-common.git ALSA: hda: read CORBWP inside reg_lock This converts the last CORBWP access outside of reg_lock. Signed-off-by: Wu Fengguang Signed-off-by: Takashi Iwai --- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index b6e6314..df6d982 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -588,15 +588,17 @@ static int azx_corb_send_cmd(struct hda_bus *bus, u32 val) unsigned int addr = azx_command_addr(val); unsigned int wp; + spin_lock_irq(&chip->reg_lock); + /* add command to corb */ wp = azx_readb(chip, CORBWP); wp++; wp %= ICH6_MAX_CORB_ENTRIES; - spin_lock_irq(&chip->reg_lock); chip->rirb.cmds[addr]++; chip->corb.buf[wp] = cpu_to_le32(val); azx_writel(chip, CORBWP, wp); + spin_unlock_irq(&chip->reg_lock); return 0;