diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-03-23 10:07:49 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-03-23 10:07:49 +0100 |
commit | b3e3b302cf6dc8d60b67f0e84d1fa5648889c038 (patch) | |
tree | 3f6150291664b4c62e328f6b1dcff79b54db612a /sound/isa/opl3sa2.c | |
parent | a6bc3262c561780d2a6587aa3d5715b1e7d8fa13 (diff) | |
parent | 59fcbddaff6f862cc1584b488866d9c4a5579085 (diff) |
Merge branches 'irq/sparseirq' and 'linus' into irq/core
Diffstat (limited to 'sound/isa/opl3sa2.c')
-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); |