summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorDenis 'GNUtoo' Carikli <GNUtoo@no-log.org>2012-02-26 19:21:53 +0100
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-03-04 15:34:44 +0100
commitad20ff920c1fd217578e2c637dd50c1878a21c06 (patch)
treedec06db7b77a4b0737f82f40b3342bfab2c8c426 /sound
parentASoC: core: Split the union for CODEC/platform in the DAI (diff)
downloadlinux-ad20ff920c1fd217578e2c637dd50c1878a21c06.tar.xz
linux-ad20ff920c1fd217578e2c637dd50c1878a21c06.zip
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 d3398ff05907167f463e119421b053ce043741d1 ( 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: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/wm8753.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8753.c b/sound/soc/codecs/wm8753.c
index 59c28dbc5fc9..e27e7b62b365 100644
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -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);
goto err_regmap;
}
+
+ return 0;
+
err_regmap:
regmap_exit(wm8753->regmap);
err:
@@ -1634,6 +1637,8 @@ static __devinit int wm8753_i2c_probe(struct i2c_client *i2c,
goto err_regmap;
}
+ return 0;
+
err_regmap:
regmap_exit(wm8753->regmap);
err: