Update of /cvsroot/alsa/alsa-kernel/isa
In directory sc8-pr-cvs1:/tmp/cvs-serv2662/isa

Modified Files:
        es18xx.c opl3sa2.c 
Log Message:
[PATCH: power-lock-fix.dif]

removed snd_power_lock/unlock from suspend/resume callbacks since
this will invoke sleep eventually.
snd_power_lock/unlock are called inside the control pm ioctl
globally, instead.



Index: es18xx.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/isa/es18xx.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- es18xx.c    10 Dec 2002 15:21:31 -0000      1.22
+++ es18xx.c    7 Jan 2003 10:25:27 -0000       1.23
@@ -1606,9 +1606,8 @@
 {
        snd_card_t *card = chip->card;
 
-       snd_power_lock(card);
        if (card->power_state == SNDRV_CTL_POWER_D3hot)
-               goto __skip;
+               return;
 
        snd_pcm_suspend_all(chip->pcm);
 
@@ -1619,24 +1618,19 @@
        snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_SUS);
 
        snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
-      __skip:
-       snd_power_unlock(card);
 }
 
 static void snd_es18xx_resume(es18xx_t *chip)
 {
        snd_card_t *card = chip->card;
 
-       snd_power_lock(card);
        if (card->power_state == SNDRV_CTL_POWER_D0)
-               goto __skip;
+               return;
 
        /* restore PM register, we won't wake till (not 0x07) i/o activity though */
        snd_es18xx_write(chip, ES18XX_PM, chip->pm_reg ^= ES18XX_PM_FM);
 
        snd_power_change_state(card, SNDRV_CTL_POWER_D0);
-      __skip:
-       snd_power_unlock(card);
 }
 
 /* callback for control API */

Index: opl3sa2.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/isa/opl3sa2.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- opl3sa2.c   19 Nov 2002 17:21:59 -0000      1.18
+++ opl3sa2.c   7 Jan 2003 10:25:27 -0000       1.19
@@ -552,9 +552,8 @@
 {
        snd_card_t *card = chip->card;
 
-       snd_power_lock(card);
        if (card->power_state == SNDRV_CTL_POWER_D3hot)
-               goto __skip;
+               return;
 
        /* FIXME: is this order ok? */
        chip->cs4231_suspend(chip->cs4231);
@@ -564,8 +563,6 @@
        snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3);
 
        snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
-      __skip:
-       snd_power_unlock(card);
 }
 
 static void snd_opl3sa2_resume(opl3sa2_t *chip)
@@ -573,9 +570,8 @@
        snd_card_t *card = chip->card;
        int i;
 
-       snd_power_lock(card);
        if (card->power_state == SNDRV_CTL_POWER_D0)
-               goto __skip;
+               return;
 
        /* power up */
        snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D0);
@@ -593,8 +589,6 @@
        chip->cs4231_resume(chip->cs4231);
 
        snd_power_change_state(card, SNDRV_CTL_POWER_D0);
-      __skip:
-       snd_power_unlock(card);
 }
 
 /* callback for control API */



-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
Alsa-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-cvslog

Reply via email to