diff options
Diffstat (limited to 'sound/pci/cmipci.c')
-rw-r--r-- | sound/pci/cmipci.c | 17 |
1 files changed, 1 insertions, 16 deletions
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index 85ed40339db9..1d0f2cad2f5a 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
@@ -20,7 +20,7 @@ | |||
20 | /* Does not work. Warning may block system in capture mode */ | 20 | /* Does not work. Warning may block system in capture mode */ |
21 | /* #define USE_VAR48KRATE */ | 21 | /* #define USE_VAR48KRATE */ |
22 | 22 | ||
23 | #include <asm/io.h> | 23 | #include <linux/io.h> |
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
26 | #include <linux/init.h> | 26 | #include <linux/init.h> |
@@ -3347,7 +3347,6 @@ static unsigned char saved_mixers[] = { | |||
3347 | 3347 | ||
3348 | static int snd_cmipci_suspend(struct device *dev) | 3348 | static int snd_cmipci_suspend(struct device *dev) |
3349 | { | 3349 | { |
3350 | struct pci_dev *pci = to_pci_dev(dev); | ||
3351 | struct snd_card *card = dev_get_drvdata(dev); | 3350 | struct snd_card *card = dev_get_drvdata(dev); |
3352 | struct cmipci *cm = card->private_data; | 3351 | struct cmipci *cm = card->private_data; |
3353 | int i; | 3352 | int i; |
@@ -3366,29 +3365,15 @@ static int snd_cmipci_suspend(struct device *dev) | |||
3366 | 3365 | ||
3367 | /* disable ints */ | 3366 | /* disable ints */ |
3368 | snd_cmipci_write(cm, CM_REG_INT_HLDCLR, 0); | 3367 | snd_cmipci_write(cm, CM_REG_INT_HLDCLR, 0); |
3369 | |||
3370 | pci_disable_device(pci); | ||
3371 | pci_save_state(pci); | ||
3372 | pci_set_power_state(pci, PCI_D3hot); | ||
3373 | return 0; | 3368 | return 0; |
3374 | } | 3369 | } |
3375 | 3370 | ||
3376 | static int snd_cmipci_resume(struct device *dev) | 3371 | static int snd_cmipci_resume(struct device *dev) |
3377 | { | 3372 | { |
3378 | struct pci_dev *pci = to_pci_dev(dev); | ||
3379 | struct snd_card *card = dev_get_drvdata(dev); | 3373 | struct snd_card *card = dev_get_drvdata(dev); |
3380 | struct cmipci *cm = card->private_data; | 3374 | struct cmipci *cm = card->private_data; |
3381 | int i; | 3375 | int i; |
3382 | 3376 | ||
3383 | pci_set_power_state(pci, PCI_D0); | ||
3384 | pci_restore_state(pci); | ||
3385 | if (pci_enable_device(pci) < 0) { | ||
3386 | dev_err(dev, "pci_enable_device failed, disabling device\n"); | ||
3387 | snd_card_disconnect(card); | ||
3388 | return -EIO; | ||
3389 | } | ||
3390 | pci_set_master(pci); | ||
3391 | |||
3392 | /* reset / initialize to a sane state */ | 3377 | /* reset / initialize to a sane state */ |
3393 | snd_cmipci_write(cm, CM_REG_INT_HLDCLR, 0); | 3378 | snd_cmipci_write(cm, CM_REG_INT_HLDCLR, 0); |
3394 | snd_cmipci_ch_reset(cm, CM_CH_PLAY); | 3379 | snd_cmipci_ch_reset(cm, CM_CH_PLAY); |