diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-23 16:53:20 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-23 16:53:20 +0100 |
commit | efd247fa34084d9b162f485004ae6d8a04059f0c (patch) | |
tree | 417dcbe06d5cce1353a4c19cbda480ae67652b5c /sound/isa | |
parent | af66df5ecf9c9e2d2ff86e8203510c1c4519d64c (diff) | |
parent | 59fcbddaff6f862cc1584b488866d9c4a5579085 (diff) |
Merge branches 'sched/debug' and 'linus' into sched/core
Diffstat (limited to 'sound/isa')
-rw-r--r-- | sound/isa/opl3sa2.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/sound/isa/opl3sa2.c b/sound/isa/opl3sa2.c index 58c972b2af0..b848d100186 100644 --- a/sound/isa/opl3sa2.c +++ b/sound/isa/opl3sa2.c @@ -550,21 +550,27 @@ static int __devinit snd_opl3sa2_mixer(struct snd_card *card) #ifdef CONFIG_PM static int snd_opl3sa2_suspend(struct snd_card *card, pm_message_t state) { - struct snd_opl3sa2 *chip = card->private_data; + if (card) { + struct snd_opl3sa2 *chip = card->private_data; - snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); - chip->wss->suspend(chip->wss); - /* power down */ - snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3); + snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); + chip->wss->suspend(chip->wss); + /* power down */ + snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D3); + } return 0; } static int snd_opl3sa2_resume(struct snd_card *card) { - struct snd_opl3sa2 *chip = card->private_data; + struct snd_opl3sa2 *chip; int i; + if (!card) + return 0; + + chip = card->private_data; /* power up */ snd_opl3sa2_write(chip, OPL3SA2_PM_CTRL, OPL3SA2_PM_D0); |