Hi! > commit fb25621da5702c104ce0a48de5b174ced09e5b4e upstream. > > Add the missing platform_device_put() and platform_device_del() > before return from pcm030_fabric_probe in the error handling case. Are you sure? > --- a/sound/soc/fsl/pcm030-audio-fabric.c > +++ b/sound/soc/fsl/pcm030-audio-fabric.c > @@ -90,16 +90,21 @@ static int pcm030_fabric_probe(struct pl > dev_err(&op->dev, "platform_device_alloc() failed\n"); > > ret = platform_device_add(pdata->codec_device); > - if (ret) > + if (ret) { > dev_err(&op->dev, "platform_device_add() failed: %d\n", ret); > + platform_device_put(pdata->codec_device); > + } > > ret = snd_soc_register_card(card); > - if (ret) > + if (ret) { > dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret); > + platform_device_del(pdata->codec_device); > + platform_device_put(pdata->codec_device); > + } > > platform_set_drvdata(op, pdata); > - > return ret; > + > } Besides interesting whitespace, this will happily do platform_device_put() twice. I suspect it should return or something. This does not look right. Best regards, Pavel -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Attachment:
signature.asc
Description: PGP signature