diff options
| author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-18 13:50:44 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-03-18 13:50:44 -0400 |
| commit | 98ae6878f151b0b508b09a36367c231b707a88cf (patch) | |
| tree | d6fdd23d6f78d0713ac6290c75bf39c2a65c12c7 /sound/pci/intel8x0.c | |
| parent | b720a3be1abd0cb5b9b530c0a1b4044fec4de60e (diff) | |
| parent | 5f1545bc45a33361d6bb2fb44af7c35bcd733b9d (diff) | |
Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa
* 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa:
[ALSA] hda-intel - Fix HDA buffer alignment
[ALSA] hda-codec - Add model for HP Compaq d5750
[ALSA] hda-codec - Add support for MacBook Pro 1st generation
[ALSA] version 1.0.14rc3
[ALSA] hda-codec - Add model for HP Compaq d5700
[ALSA] intel8x0 - Fix Oops at kdump crash kernel
[ALSA] hda-codec - Fix speaker output on MacPro
[ALSA] hda-codec - more systems for Analog Devices
[ALSA] hda-intel - Fix codec probe with ATI contorllers
[ALSA] hda-codec - Add suppoprt for Asus M2N-SLI motherboard
[ALSA] intel8x0 - Fix speaker output after S2RAM
[ALSA] ac97 - fix AD shared shared jack control logic
[ALSA] soc - Fix dependencies in Kconfig files
Diffstat (limited to 'sound/pci/intel8x0.c')
| -rw-r--r-- | sound/pci/intel8x0.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index a289abfc7172..7cf2dcb9d8d4 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
| @@ -725,10 +725,11 @@ static void fill_nocache(void *buf, int size, int nocache) | |||
| 725 | static inline void snd_intel8x0_update(struct intel8x0 *chip, struct ichdev *ichdev) | 725 | static inline void snd_intel8x0_update(struct intel8x0 *chip, struct ichdev *ichdev) |
| 726 | { | 726 | { |
| 727 | unsigned long port = ichdev->reg_offset; | 727 | unsigned long port = ichdev->reg_offset; |
| 728 | unsigned long flags; | ||
| 728 | int status, civ, i, step; | 729 | int status, civ, i, step; |
| 729 | int ack = 0; | 730 | int ack = 0; |
| 730 | 731 | ||
| 731 | spin_lock(&chip->reg_lock); | 732 | spin_lock_irqsave(&chip->reg_lock, flags); |
| 732 | status = igetbyte(chip, port + ichdev->roff_sr); | 733 | status = igetbyte(chip, port + ichdev->roff_sr); |
| 733 | civ = igetbyte(chip, port + ICH_REG_OFF_CIV); | 734 | civ = igetbyte(chip, port + ICH_REG_OFF_CIV); |
| 734 | if (!(status & ICH_BCIS)) { | 735 | if (!(status & ICH_BCIS)) { |
| @@ -768,7 +769,7 @@ static inline void snd_intel8x0_update(struct intel8x0 *chip, struct ichdev *ich | |||
| 768 | ack = 1; | 769 | ack = 1; |
| 769 | } | 770 | } |
| 770 | } | 771 | } |
| 771 | spin_unlock(&chip->reg_lock); | 772 | spin_unlock_irqrestore(&chip->reg_lock, flags); |
| 772 | if (ack && ichdev->substream) { | 773 | if (ack && ichdev->substream) { |
| 773 | snd_pcm_period_elapsed(ichdev->substream); | 774 | snd_pcm_period_elapsed(ichdev->substream); |
| 774 | } | 775 | } |
| @@ -2470,7 +2471,10 @@ static int intel8x0_suspend(struct pci_dev *pci, pm_message_t state) | |||
| 2470 | } | 2471 | } |
| 2471 | pci_disable_device(pci); | 2472 | pci_disable_device(pci); |
| 2472 | pci_save_state(pci); | 2473 | pci_save_state(pci); |
| 2473 | pci_set_power_state(pci, pci_choose_state(pci, state)); | 2474 | /* The call below may disable built-in speaker on some laptops |
| 2475 | * after S2RAM. So, don't touch it. | ||
| 2476 | */ | ||
| 2477 | /* pci_set_power_state(pci, pci_choose_state(pci, state)); */ | ||
| 2474 | return 0; | 2478 | return 0; |
| 2475 | } | 2479 | } |
| 2476 | 2480 | ||
