Commit ad20ff92 authored by Denis 'GNUtoo' Carikli's avatar Denis 'GNUtoo' Carikli Committed by Mark Brown

ASoC: wm8753: fix initialization

Without that fix the wm8753 SPI initialization fails, and then produces
  a kernel panic during boot with the following call trace:
    Unable to handle kernel paging request at virtual address 37386d9b
    [<c01ccafc>] (regmap_get_val_bytes+0x0/0x14) from [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc)
    [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc) from [<c0244a4c>] (wm8753_probe+0x5c/0x1c4)
    [<c0244a4c>] (wm8753_probe+0x5c/0x1c4) from [<c023bb24>] (soc_probe_codec+0x174/0x284)
    [<c023bb24>] (soc_probe_codec+0x174/0x284) from [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28)
    [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28) from [<c023d278>] (snd_soc_register_card+0x240/0x2d4)
    [<c023d278>] (snd_soc_register_card+0x240/0x2d4) from [<c023d330>] (soc_probe+0x24/0x40)
    [<c023d330>] (soc_probe+0x24/0x40) from [<c01c3900>] (platform_drv_probe+0x14/0x18)
    [...]

The commit d3398ff0
 ( ASoC: Convert WM8753 to direct regmap API usage ) introduced
 the problem.

Thanks to Lars-Peter Clausen for helping me a bit during the debugging.
Signed-off-by: default avatarDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 2466ab97
...@@ -1578,6 +1578,9 @@ static int __devinit wm8753_spi_probe(struct spi_device *spi) ...@@ -1578,6 +1578,9 @@ static int __devinit wm8753_spi_probe(struct spi_device *spi)
dev_err(&spi->dev, "Failed to register CODEC: %d\n", ret); dev_err(&spi->dev, "Failed to register CODEC: %d\n", ret);
goto err_regmap; goto err_regmap;
} }
return 0;
err_regmap: err_regmap:
regmap_exit(wm8753->regmap); regmap_exit(wm8753->regmap);
err: err:
...@@ -1634,6 +1637,8 @@ static __devinit int wm8753_i2c_probe(struct i2c_client *i2c, ...@@ -1634,6 +1637,8 @@ static __devinit int wm8753_i2c_probe(struct i2c_client *i2c,
goto err_regmap; goto err_regmap;
} }
return 0;
err_regmap: err_regmap:
regmap_exit(wm8753->regmap); regmap_exit(wm8753->regmap);
err: err:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment