From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH RESEND 1/3] drm/i915: use error path Date: Thu, 8 Oct 2015 16:30:22 +0200 Message-ID: <20151008143022.GD3383@phenom.ffwll.local> References: <1444312681-10149-1-git-send-email-sudipm.mukherjee@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1444312681-10149-1-git-send-email-sudipm.mukherjee@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sudip Mukherjee Cc: David Airlie , Daniel Vetter , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBPY3QgMDgsIDIwMTUgYXQgMDc6Mjc6NTlQTSArMDUzMCwgU3VkaXAgTXVraGVyamVl IHdyb3RlOgo+IFVzZSBnb3RvIHRvIGhhbmRsZSB0aGUgZXJyb3IgcGF0aCB0byBhdm9pZCBkdXBs aWNhdGluZyB0aGUgc2FtZSBjb2RlLiBJbgo+IHRoZSBlcnJvciBwYXRoIGludGVsX2RpZ19wb3J0 IGlzIHRoZSBsYXN0IG9uZSB0byBiZSByZWxlYXNlZCBhcyBpdCB3YXMKPiB0aGUgZmlyc3Qgb25l IHRvIGJlIGFsbG9jYXRlZCBhbmQgaWRlYWxseSB0aGUgZXJyb3IgcGF0aCBzaG91bGQgYmUgdGhl Cj4gcmV2ZXJzZSBvZiB0aGUgZXhlY3V0aW9uIHBhdGguCj4gCj4gQ2M6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFA bGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFN1ZGlwIE11a2hlcmplZSA8c3VkaXBA dmVjdG9yaW5kaWEub3JnPgoKUXVldWVkIGZvciAtbmV4dCwgdGhhbmtzIGZvciB0aGUgcGF0Y2gu Ci1EYW5pZWwKCj4gLS0tCj4gCj4gU2VudCBvbiAyNy8wNy8yMDE1Cj4gCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMgfCAyMyArKysrKysrKysrKysrKy0tLS0tLS0tLQo+ICAxIGZp bGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPiBpbmRleCA4ZDM0Y2E3Li4xOGJjZmJlIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jCj4gQEAgLTYxNjgsMTAgKzYxNjgsOCBAQCBpbnRlbF9kcF9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCBvdXRwdXRfcmVnLCBlbnVtIHBvcnQgcG9ydCkKPiAgCQly ZXR1cm47Cj4gIAo+ICAJaW50ZWxfY29ubmVjdG9yID0gaW50ZWxfY29ubmVjdG9yX2FsbG9jKCk7 Cj4gLQlpZiAoIWludGVsX2Nvbm5lY3Rvcikgewo+IC0JCWtmcmVlKGludGVsX2RpZ19wb3J0KTsK PiAtCQlyZXR1cm47Cj4gLQl9Cj4gKwlpZiAoIWludGVsX2Nvbm5lY3RvcikKPiArCQlnb3RvIGVy cl9jb25uZWN0b3JfYWxsb2M7Cj4gIAo+ICAJaW50ZWxfZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9y dC0+YmFzZTsKPiAgCWVuY29kZXIgPSAmaW50ZWxfZW5jb2Rlci0+YmFzZTsKPiBAQCAtNjIxOSwx MSArNjIxNywxOCBAQCBpbnRlbF9kcF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBv dXRwdXRfcmVnLCBlbnVtIHBvcnQgcG9ydCkKPiAgCWludGVsX2RpZ19wb3J0LT5ocGRfcHVsc2Ug PSBpbnRlbF9kcF9ocGRfcHVsc2U7Cj4gIAlkZXZfcHJpdi0+aG90cGx1Zy5pcnFfcG9ydFtwb3J0 XSA9IGludGVsX2RpZ19wb3J0Owo+ICAKPiAtCWlmICghaW50ZWxfZHBfaW5pdF9jb25uZWN0b3Io aW50ZWxfZGlnX3BvcnQsIGludGVsX2Nvbm5lY3RvcikpIHsKPiAtCQlkcm1fZW5jb2Rlcl9jbGVh bnVwKGVuY29kZXIpOwo+IC0JCWtmcmVlKGludGVsX2RpZ19wb3J0KTsKPiAtCQlrZnJlZShpbnRl bF9jb25uZWN0b3IpOwo+IC0JfQo+ICsJaWYgKCFpbnRlbF9kcF9pbml0X2Nvbm5lY3RvcihpbnRl bF9kaWdfcG9ydCwgaW50ZWxfY29ubmVjdG9yKSkKPiArCQlnb3RvIGVycl9pbml0X2Nvbm5lY3Rv cjsKPiArCj4gKwlyZXR1cm47Cj4gKwo+ICtlcnJfaW5pdF9jb25uZWN0b3I6Cj4gKwlkcm1fZW5j b2Rlcl9jbGVhbnVwKGVuY29kZXIpOwo+ICsJa2ZyZWUoaW50ZWxfY29ubmVjdG9yKTsKPiArZXJy X2Nvbm5lY3Rvcl9hbGxvYzoKPiArCWtmcmVlKGludGVsX2RpZ19wb3J0KTsKPiArCj4gKwlyZXR1 cm47Cj4gIH0KPiAgCj4gIHZvaWQgaW50ZWxfZHBfbXN0X3N1c3BlbmQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKPiAtLSAKPiAxLjkuMQo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5n aW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933416AbbJHO1e (ORCPT ); Thu, 8 Oct 2015 10:27:34 -0400 Received: from mail-wi0-f174.google.com ([209.85.212.174]:35049 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933205AbbJHO13 (ORCPT ); Thu, 8 Oct 2015 10:27:29 -0400 Date: Thu, 8 Oct 2015 16:30:22 +0200 From: Daniel Vetter To: Sudip Mukherjee Cc: David Airlie , Daniel Vetter , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Daniel Vetter , Jani Nikula Subject: Re: [PATCH RESEND 1/3] drm/i915: use error path Message-ID: <20151008143022.GD3383@phenom.ffwll.local> Mail-Followup-To: Sudip Mukherjee , David Airlie , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, Daniel Vetter , Jani Nikula References: <1444312681-10149-1-git-send-email-sudipm.mukherjee@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1444312681-10149-1-git-send-email-sudipm.mukherjee@gmail.com> X-Operating-System: Linux phenom 4.1.0-2-amd64 User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 08, 2015 at 07:27:59PM +0530, Sudip Mukherjee wrote: > Use goto to handle the error path to avoid duplicating the same code. In > the error path intel_dig_port is the last one to be released as it was > the first one to be allocated and ideally the error path should be the > reverse of the execution path. > > Cc: Daniel Vetter > Cc: Jani Nikula > Signed-off-by: Sudip Mukherjee Queued for -next, thanks for the patch. -Daniel > --- > > Sent on 27/07/2015 > > drivers/gpu/drm/i915/intel_dp.c | 23 ++++++++++++++--------- > 1 file changed, 14 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index 8d34ca7..18bcfbe 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -6168,10 +6168,8 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port) > return; > > intel_connector = intel_connector_alloc(); > - if (!intel_connector) { > - kfree(intel_dig_port); > - return; > - } > + if (!intel_connector) > + goto err_connector_alloc; > > intel_encoder = &intel_dig_port->base; > encoder = &intel_encoder->base; > @@ -6219,11 +6217,18 @@ intel_dp_init(struct drm_device *dev, int output_reg, enum port port) > intel_dig_port->hpd_pulse = intel_dp_hpd_pulse; > dev_priv->hotplug.irq_port[port] = intel_dig_port; > > - if (!intel_dp_init_connector(intel_dig_port, intel_connector)) { > - drm_encoder_cleanup(encoder); > - kfree(intel_dig_port); > - kfree(intel_connector); > - } > + if (!intel_dp_init_connector(intel_dig_port, intel_connector)) > + goto err_init_connector; > + > + return; > + > +err_init_connector: > + drm_encoder_cleanup(encoder); > + kfree(intel_connector); > +err_connector_alloc: > + kfree(intel_dig_port); > + > + return; > } > > void intel_dp_mst_suspend(struct drm_device *dev) > -- > 1.9.1 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch