diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/core/init.c b/sound/core/init.c index a5702014a704..c72a79115cca 100644 --- a/sound/core/init.c +++ b/sound/core/init.c | |||
@@ -828,7 +828,8 @@ static int snd_generic_suspend(struct device *dev, pm_message_t state, u32 level | |||
828 | card = get_snd_generic_card(dev); | 828 | card = get_snd_generic_card(dev); |
829 | if (card->power_state == SNDRV_CTL_POWER_D3hot) | 829 | if (card->power_state == SNDRV_CTL_POWER_D3hot) |
830 | return 0; | 830 | return 0; |
831 | card->pm_suspend(card, PMSG_SUSPEND); | 831 | if (card->pm_suspend) |
832 | card->pm_suspend(card, PMSG_SUSPEND); | ||
832 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); | 833 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); |
833 | return 0; | 834 | return 0; |
834 | } | 835 | } |
@@ -843,7 +844,8 @@ static int snd_generic_resume(struct device *dev, u32 level) | |||
843 | card = get_snd_generic_card(dev); | 844 | card = get_snd_generic_card(dev); |
844 | if (card->power_state == SNDRV_CTL_POWER_D0) | 845 | if (card->power_state == SNDRV_CTL_POWER_D0) |
845 | return 0; | 846 | return 0; |
846 | card->pm_resume(card); | 847 | if (card->pm_suspend) |
848 | card->pm_resume(card); | ||
847 | snd_power_change_state(card, SNDRV_CTL_POWER_D0); | 849 | snd_power_change_state(card, SNDRV_CTL_POWER_D0); |
848 | return 0; | 850 | return 0; |
849 | } | 851 | } |