|
@@ -227,7 +227,7 @@ enum {
|
|
|
/* quirks for Intel PCH */
|
|
|
#define AZX_DCAPS_INTEL_PCH_NOPM \
|
|
|
(AZX_DCAPS_SCH_SNOOP | AZX_DCAPS_BUFSIZE | \
|
|
|
- AZX_DCAPS_COUNT_LPIB_DELAY)
|
|
|
+ AZX_DCAPS_COUNT_LPIB_DELAY | AZX_DCAPS_REVERSE_ASSIGN)
|
|
|
|
|
|
#define AZX_DCAPS_INTEL_PCH \
|
|
|
(AZX_DCAPS_INTEL_PCH_NOPM | AZX_DCAPS_PM_RUNTIME)
|
|
@@ -596,7 +596,7 @@ static int azx_suspend(struct device *dev)
|
|
|
struct azx *chip = card->private_data;
|
|
|
struct azx_pcm *p;
|
|
|
|
|
|
- if (chip->disabled)
|
|
|
+ if (chip->disabled || chip->init_failed)
|
|
|
return 0;
|
|
|
|
|
|
snd_power_change_state(card, SNDRV_CTL_POWER_D3hot);
|
|
@@ -628,7 +628,7 @@ static int azx_resume(struct device *dev)
|
|
|
struct snd_card *card = dev_get_drvdata(dev);
|
|
|
struct azx *chip = card->private_data;
|
|
|
|
|
|
- if (chip->disabled)
|
|
|
+ if (chip->disabled || chip->init_failed)
|
|
|
return 0;
|
|
|
|
|
|
if (chip->driver_caps & AZX_DCAPS_I915_POWERWELL) {
|
|
@@ -665,7 +665,7 @@ static int azx_runtime_suspend(struct device *dev)
|
|
|
struct snd_card *card = dev_get_drvdata(dev);
|
|
|
struct azx *chip = card->private_data;
|
|
|
|
|
|
- if (chip->disabled)
|
|
|
+ if (chip->disabled || chip->init_failed)
|
|
|
return 0;
|
|
|
|
|
|
if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
|
|
@@ -692,7 +692,7 @@ static int azx_runtime_resume(struct device *dev)
|
|
|
struct hda_codec *codec;
|
|
|
int status;
|
|
|
|
|
|
- if (chip->disabled)
|
|
|
+ if (chip->disabled || chip->init_failed)
|
|
|
return 0;
|
|
|
|
|
|
if (!(chip->driver_caps & AZX_DCAPS_PM_RUNTIME))
|
|
@@ -729,7 +729,7 @@ static int azx_runtime_idle(struct device *dev)
|
|
|
struct snd_card *card = dev_get_drvdata(dev);
|
|
|
struct azx *chip = card->private_data;
|
|
|
|
|
|
- if (chip->disabled)
|
|
|
+ if (chip->disabled || chip->init_failed)
|
|
|
return 0;
|
|
|
|
|
|
if (!power_save_controller ||
|