Message ID | 20220110064259.4175705-1-jiasheng@iscas.ac.cn (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ASoC: codecs: lpass-wsa-macro: Check for error pointer after calling devm_regmap_init_mmio | expand |
On 2022-01-10 7:42 AM, Jiasheng Jiang wrote: > The devm_regmap_init_mmio() may return error pointer in some cases, for > example the possible failure of the kzalloc() in > regmap_mmio_gen_context(). > Then the wsa->regmap will be error pointer and be used in > wsa_macro_mclk_enable(). > Therefore, it should be better to check it in order to avoid the > dereference of the error pointer. > > Fixes: 809bcbcecebf ("ASoC: codecs: lpass-wsa-macro: Add support to WSA Macro") > Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> > --- > sound/soc/codecs/lpass-wsa-macro.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c > index d3ac318fd6b6..dd1a8b7bc794 100644 > --- a/sound/soc/codecs/lpass-wsa-macro.c > +++ b/sound/soc/codecs/lpass-wsa-macro.c > @@ -2405,6 +2405,8 @@ static int wsa_macro_probe(struct platform_device *pdev) > return PTR_ERR(base); > > wsa->regmap = devm_regmap_init_mmio(dev, base, &wsa_regmap_config); > + if (IS_ERR(wsa->regmap)) > + return PTR_ERR(wsa->regmap); > > dev_set_drvdata(dev, wsa); > > Hello, Perhaps the cover-letter did not yet arrive, however, it would be good to bundle similar patches together and provide a cover letter for such series in the future. I'm replying to the very first patch sent, but it's quite obvious that lpass-rx and lpass-tx patches are related to this one and it is easier to get a firm grasp over the changes - from reviewer's point of view - if all the related ones are part of a single series. Regards, Czarek
diff --git a/sound/soc/codecs/lpass-wsa-macro.c b/sound/soc/codecs/lpass-wsa-macro.c index d3ac318fd6b6..dd1a8b7bc794 100644 --- a/sound/soc/codecs/lpass-wsa-macro.c +++ b/sound/soc/codecs/lpass-wsa-macro.c @@ -2405,6 +2405,8 @@ static int wsa_macro_probe(struct platform_device *pdev) return PTR_ERR(base); wsa->regmap = devm_regmap_init_mmio(dev, base, &wsa_regmap_config); + if (IS_ERR(wsa->regmap)) + return PTR_ERR(wsa->regmap); dev_set_drvdata(dev, wsa);
The devm_regmap_init_mmio() may return error pointer in some cases, for example the possible failure of the kzalloc() in regmap_mmio_gen_context(). Then the wsa->regmap will be error pointer and be used in wsa_macro_mclk_enable(). Therefore, it should be better to check it in order to avoid the dereference of the error pointer. Fixes: 809bcbcecebf ("ASoC: codecs: lpass-wsa-macro: Add support to WSA Macro") Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn> --- sound/soc/codecs/lpass-wsa-macro.c | 2 ++ 1 file changed, 2 insertions(+)