Bladeren bron

ASoC: wm8996: Move reset before the initial regulator disable

If we don't have control over the LDO but do have control over the other
regulators then we may end up trying to write to a powered off device.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown 13 jaren geleden
bovenliggende
commit
db13340983
1 gewijzigde bestanden met toevoegingen van 2 en 2 verwijderingen
  1. 2 2
      sound/soc/codecs/wm8996.c

+ 2 - 2
sound/soc/codecs/wm8996.c

@@ -3205,14 +3205,14 @@ static __devinit int wm8996_i2c_probe(struct i2c_client *i2c,
 	dev_info(&i2c->dev, "revision %c\n",
 	dev_info(&i2c->dev, "revision %c\n",
 		 (reg & WM8996_CHIP_REV_MASK) + 'A');
 		 (reg & WM8996_CHIP_REV_MASK) + 'A');
 
 
-	regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
-
 	ret = wm8996_reset(wm8996);
 	ret = wm8996_reset(wm8996);
 	if (ret < 0) {
 	if (ret < 0) {
 		dev_err(&i2c->dev, "Failed to issue reset\n");
 		dev_err(&i2c->dev, "Failed to issue reset\n");
 		goto err_regmap;
 		goto err_regmap;
 	}
 	}
 
 
+	regulator_bulk_disable(ARRAY_SIZE(wm8996->supplies), wm8996->supplies);
+
 	wm8996_init_gpio(wm8996);
 	wm8996_init_gpio(wm8996);
 
 
 	ret = snd_soc_register_codec(&i2c->dev,
 	ret = snd_soc_register_codec(&i2c->dev,