From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudip Mukherjee Subject: [PATCH RESEND 1/3] drm/i915: use error path Date: Thu, 8 Oct 2015 19:27:59 +0530 Message-ID: <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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: David Airlie , Daniel Vetter Cc: intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Daniel Vetter , Sudip Mukherjee List-Id: dri-devel@lists.freedesktop.org VXNlIGdvdG8gdG8gaGFuZGxlIHRoZSBlcnJvciBwYXRoIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRo ZSBzYW1lIGNvZGUuIEluCnRoZSBlcnJvciBwYXRoIGludGVsX2RpZ19wb3J0IGlzIHRoZSBsYXN0 IG9uZSB0byBiZSByZWxlYXNlZCBhcyBpdCB3YXMKdGhlIGZpcnN0IG9uZSB0byBiZSBhbGxvY2F0 ZWQgYW5kIGlkZWFsbHkgdGhlIGVycm9yIHBhdGggc2hvdWxkIGJlIHRoZQpyZXZlcnNlIG9mIHRo ZSBleGVjdXRpb24gcGF0aC4KCkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVs LmNvbT4KQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25l ZC1vZmYtYnk6IFN1ZGlwIE11a2hlcmplZSA8c3VkaXBAdmVjdG9yaW5kaWEub3JnPgotLS0KClNl bnQgb24gMjcvMDcvMjAxNQoKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCAyMyAr KysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyks IDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggOGQzNGNhNy4uMThi Y2ZiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC02MTY4LDEwICs2MTY4LDggQEAgaW50 ZWxfZHBfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgb3V0cHV0X3JlZywgZW51bSBw b3J0IHBvcnQpCiAJCXJldHVybjsKIAogCWludGVsX2Nvbm5lY3RvciA9IGludGVsX2Nvbm5lY3Rv cl9hbGxvYygpOwotCWlmICghaW50ZWxfY29ubmVjdG9yKSB7Ci0JCWtmcmVlKGludGVsX2RpZ19w b3J0KTsKLQkJcmV0dXJuOwotCX0KKwlpZiAoIWludGVsX2Nvbm5lY3RvcikKKwkJZ290byBlcnJf Y29ubmVjdG9yX2FsbG9jOwogCiAJaW50ZWxfZW5jb2RlciA9ICZpbnRlbF9kaWdfcG9ydC0+YmFz ZTsKIAllbmNvZGVyID0gJmludGVsX2VuY29kZXItPmJhc2U7CkBAIC02MjE5LDExICs2MjE3LDE4 IEBAIGludGVsX2RwX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IG91dHB1dF9yZWcs IGVudW0gcG9ydCBwb3J0KQogCWludGVsX2RpZ19wb3J0LT5ocGRfcHVsc2UgPSBpbnRlbF9kcF9o cGRfcHVsc2U7CiAJZGV2X3ByaXYtPmhvdHBsdWcuaXJxX3BvcnRbcG9ydF0gPSBpbnRlbF9kaWdf cG9ydDsKIAotCWlmICghaW50ZWxfZHBfaW5pdF9jb25uZWN0b3IoaW50ZWxfZGlnX3BvcnQsIGlu dGVsX2Nvbm5lY3RvcikpIHsKLQkJZHJtX2VuY29kZXJfY2xlYW51cChlbmNvZGVyKTsKLQkJa2Zy ZWUoaW50ZWxfZGlnX3BvcnQpOwotCQlrZnJlZShpbnRlbF9jb25uZWN0b3IpOwotCX0KKwlpZiAo IWludGVsX2RwX2luaXRfY29ubmVjdG9yKGludGVsX2RpZ19wb3J0LCBpbnRlbF9jb25uZWN0b3Ip KQorCQlnb3RvIGVycl9pbml0X2Nvbm5lY3RvcjsKKworCXJldHVybjsKKworZXJyX2luaXRfY29u bmVjdG9yOgorCWRybV9lbmNvZGVyX2NsZWFudXAoZW5jb2Rlcik7CisJa2ZyZWUoaW50ZWxfY29u bmVjdG9yKTsKK2Vycl9jb25uZWN0b3JfYWxsb2M6CisJa2ZyZWUoaW50ZWxfZGlnX3BvcnQpOwor CisJcmV0dXJuOwogfQogCiB2b2lkIGludGVsX2RwX21zdF9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932602AbbJHN6M (ORCPT ); Thu, 8 Oct 2015 09:58:12 -0400 Received: from mail-pa0-f53.google.com ([209.85.220.53]:32830 "EHLO mail-pa0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754109AbbJHN6K (ORCPT ); Thu, 8 Oct 2015 09:58:10 -0400 From: Sudip Mukherjee To: David Airlie , Daniel Vetter Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Sudip Mukherjee , intel-gfx@lists.freedesktop.org, Daniel Vetter , Jani Nikula Subject: [PATCH RESEND 1/3] drm/i915: use error path Date: Thu, 8 Oct 2015 19:27:59 +0530 Message-Id: <1444312681-10149-1-git-send-email-sudipm.mukherjee@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 --- 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