From mboxrd@z Thu Jan 1 00:00:00 1970 From: nicolas.ferre@atmel.com (Nicolas Ferre) Date: Tue, 21 Jun 2016 14:00:51 +0200 Subject: [PATCH] drm: atmel-hlcdc: Fix OF graph parsing In-Reply-To: <1464938795-1838-1-git-send-email-boris.brezillon@free-electrons.com> References: <1464938795-1838-1-git-send-email-boris.brezillon@free-electrons.com> Message-ID: <57692C73.8020109@atmel.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Le 03/06/2016 09:26, Boris Brezillon a ?crit : > atmel_hlcdc_create_outputs() iterates over OF graph nodes and releases > the node (using of_node_put()) after each iteration, which is wrong > since for_each_endpoint_of_node() is already taking care of that. > > Move the of_node_put() call in the error path. > > Signed-off-by: Boris Brezillon > Fixes: 17a8e03e7e97 ("drm: atmel-hlcdc: rework the output code to support drm bridges") Reviewed-by: Nicolas Ferre > --- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c > index 39802c0..3d34fc4 100644 > --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c > +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_output.c > @@ -266,9 +266,10 @@ int atmel_hlcdc_create_outputs(struct drm_device *dev) > if (!ret) > ret = atmel_hlcdc_check_endpoint(dev, &ep); > > - of_node_put(ep_np); > - if (ret) > + if (ret) { > + of_node_put(ep_np); > return ret; > + } > } > > for_each_endpoint_of_node(dev->dev->of_node, ep_np) { > @@ -276,9 +277,10 @@ int atmel_hlcdc_create_outputs(struct drm_device *dev) > if (!ret) > ret = atmel_hlcdc_attach_endpoint(dev, &ep); > > - of_node_put(ep_np); > - if (ret) > + if (ret) { > + of_node_put(ep_np); > return ret; > + } > } > > return 0; > -- Nicolas Ferre From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Ferre Subject: Re: [PATCH] drm: atmel-hlcdc: Fix OF graph parsing Date: Tue, 21 Jun 2016 14:00:51 +0200 Message-ID: <57692C73.8020109@atmel.com> References: <1464938795-1838-1-git-send-email-boris.brezillon@free-electrons.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from eusmtp01.atmel.com (eusmtp01.atmel.com [212.144.249.243]) by gabe.freedesktop.org (Postfix) with ESMTPS id EC14F6E69D for ; Tue, 21 Jun 2016 12:00:54 +0000 (UTC) In-Reply-To: <1464938795-1838-1-git-send-email-boris.brezillon@free-electrons.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Boris Brezillon , David Airlie , Daniel Vetter , dri-devel@lists.freedesktop.org Cc: Alexandre Belloni , Jean-Christophe Plagniol-Villard , linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org TGUgMDMvMDYvMjAxNiAwOToyNiwgQm9yaXMgQnJlemlsbG9uIGEgw6ljcml0IDoKPiBhdG1lbF9o bGNkY19jcmVhdGVfb3V0cHV0cygpIGl0ZXJhdGVzIG92ZXIgT0YgZ3JhcGggbm9kZXMgYW5kIHJl bGVhc2VzCj4gdGhlIG5vZGUgKHVzaW5nIG9mX25vZGVfcHV0KCkpIGFmdGVyIGVhY2ggaXRlcmF0 aW9uLCB3aGljaCBpcyB3cm9uZwo+IHNpbmNlIGZvcl9lYWNoX2VuZHBvaW50X29mX25vZGUoKSBp cyBhbHJlYWR5IHRha2luZyBjYXJlIG9mIHRoYXQuCj4gCj4gTW92ZSB0aGUgb2Zfbm9kZV9wdXQo KSBjYWxsIGluIHRoZSBlcnJvciBwYXRoLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEJvcmlzIEJyZXpp bGxvbiA8Ym9yaXMuYnJlemlsbG9uQGZyZWUtZWxlY3Ryb25zLmNvbT4KPiBGaXhlczogMTdhOGUw M2U3ZTk3ICgiZHJtOiBhdG1lbC1obGNkYzogcmV3b3JrIHRoZSBvdXRwdXQgY29kZSB0byBzdXBw b3J0IGRybSBicmlkZ2VzIikKClJldmlld2VkLWJ5OiBOaWNvbGFzIEZlcnJlIDxuaWNvbGFzLmZl cnJlQGF0bWVsLmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1l bF9obGNkY19vdXRwdXQuYyB8IDEwICsrKysrKy0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDYgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX291dHB1dC5jIGIvZHJpdmVycy9ncHUvZHJtL2F0 bWVsLWhsY2RjL2F0bWVsX2hsY2RjX291dHB1dC5jCj4gaW5kZXggMzk4MDJjMC4uM2QzNGZjNCAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfb3V0 cHV0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfb3V0 cHV0LmMKPiBAQCAtMjY2LDkgKzI2NiwxMCBAQCBpbnQgYXRtZWxfaGxjZGNfY3JlYXRlX291dHB1 dHMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlpZiAoIXJldCkKPiAgCQkJcmV0ID0gYXRt ZWxfaGxjZGNfY2hlY2tfZW5kcG9pbnQoZGV2LCAmZXApOwo+ICAKPiAtCQlvZl9ub2RlX3B1dChl cF9ucCk7Cj4gLQkJaWYgKHJldCkKPiArCQlpZiAocmV0KSB7Cj4gKwkJCW9mX25vZGVfcHV0KGVw X25wKTsKPiAgCQkJcmV0dXJuIHJldDsKPiArCQl9Cj4gIAl9Cj4gIAo+ICAJZm9yX2VhY2hfZW5k cG9pbnRfb2Zfbm9kZShkZXYtPmRldi0+b2Zfbm9kZSwgZXBfbnApIHsKPiBAQCAtMjc2LDkgKzI3 NywxMCBAQCBpbnQgYXRtZWxfaGxjZGNfY3JlYXRlX291dHB1dHMoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCQlpZiAoIXJldCkKPiAgCQkJcmV0ID0gYXRtZWxfaGxjZGNfYXR0YWNoX2VuZHBv aW50KGRldiwgJmVwKTsKPiAgCj4gLQkJb2Zfbm9kZV9wdXQoZXBfbnApOwo+IC0JCWlmIChyZXQp Cj4gKwkJaWYgKHJldCkgewo+ICsJCQlvZl9ub2RlX3B1dChlcF9ucCk7Cj4gIAkJCXJldHVybiBy ZXQ7Cj4gKwkJfQo+ICAJfQo+ICAKPiAgCXJldHVybiAwOwo+IAoKCi0tIApOaWNvbGFzIEZlcnJl Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=