ASoC: Fix null dereference in ak4535_remove()
ak4535_remove() from sound/soc/codecs/ak4535.c calls i2c_unregister_device() with a possibly null pointer. This bug was found by smatch (http://repo.or.cz/w/smatch.git/). Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
103f211d0b
commit
09318c47b6
|
@ -659,7 +659,8 @@ static int ak4535_remove(struct platform_device *pdev)
|
||||||
snd_soc_free_pcms(socdev);
|
snd_soc_free_pcms(socdev);
|
||||||
snd_soc_dapm_free(socdev);
|
snd_soc_dapm_free(socdev);
|
||||||
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
#if defined(CONFIG_I2C) || defined(CONFIG_I2C_MODULE)
|
||||||
i2c_unregister_device(codec->control_data);
|
if (codec->control_data)
|
||||||
|
i2c_unregister_device(codec->control_data);
|
||||||
i2c_del_driver(&ak4535_i2c_driver);
|
i2c_del_driver(&ak4535_i2c_driver);
|
||||||
#endif
|
#endif
|
||||||
kfree(codec->private_data);
|
kfree(codec->private_data);
|
||||||
|
|
Loading…
Reference in New Issue