From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm: Avoid connector reference imbalance on error path Date: Wed, 18 May 2016 12:24:42 +0200 Message-ID: <20160518102442.GD27098@phenom.ffwll.local> References: <1462535265-13058-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2A6436E076 for ; Wed, 18 May 2016 10:24:44 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id g17so5047849wme.2 for ; Wed, 18 May 2016 03:24:44 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1462535265-13058-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chris Wilson Cc: Daniel Vetter , Daniel Stone , dri-devel@lists.freedesktop.org, Dave Airlie List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBNYXkgMDYsIDIwMTYgYXQgMTI6NDc6NDVQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFdoaWxzdCBsb29raW5nIGF0IHRoZSBmYWxsb3V0IGZyb20gdXNpbmcgY29ubmVjdG9y IHJlZmVyZW5jZXMgZm9yCj4gYXRvbWljLCBJIG5vdGljZWQgdGhhdCB0aGVyZSBpcyBhbiBlYXJs eSByZXR1cm4gYnVyaWVkIGluCj4gZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKCkg dGhhdCBpZiBoaXQgY291bGQgY2F1c2UgdXMgdG8gbGVhayBhCj4gcmVmZXJlbmNlIG9uIHRoZSBj b25uZWN0b3IuCj4gCj4gRml4ZXM6IGQyMzA3ZGVhMTQgKGRybS9hdG9taWM6IHVzZSBjb25uZWN0 b3IgcmVmZXJlbmNlcyAodjMpKQo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgo+IENjOiBEYW5pZWwgU3RvbmUgPGRhbmllbHNAY29sbGFib3Jh LmNvbT4KPiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiBDYzog RGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KCkFwcGxpZWQgdG8gZHJtLW1pc2MsIHRo YW5rcy4KLURhbmllbAoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyB8IDIw ICsrKysrKysrKysrLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCsp LCA5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwo+IGluZGV4IDg2ZTg5ZGIwMmVk Ny4uM2ZmMWVkN2IzM2RiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWlj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCj4gQEAgLTExNjAsMTQgKzEx NjAsMTggQEAgZHJtX2F0b21pY19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29u bmVjdG9yX3N0YXRlICpjb25uX3N0YXRlLAo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg KmNydGNfc3RhdGU7Cj4gIAo+IC0JaWYgKGNydGMpCj4gLQkJZHJtX2Nvbm5lY3Rvcl9yZWZlcmVu Y2UoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKPiAtCWlmIChjb25uX3N0YXRlLT5jcnRjICYmIGNv bm5fc3RhdGUtPmNydGMgIT0gY3J0Yykgewo+ICsJaWYgKGNvbm5fc3RhdGUtPmNydGMgPT0gY3J0 YykKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlpZiAoY29ubl9zdGF0ZS0+Y3J0Yykgewo+ICAJCWNy dGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9leGlzdGluZ19jcnRjX3N0YXRlKGNvbm5fc3RhdGUt PnN0YXRlLAo+ICAJCQkJCQkJCWNvbm5fc3RhdGUtPmNydGMpOwo+ICAKPiAgCQljcnRjX3N0YXRl LT5jb25uZWN0b3JfbWFzayAmPQo+ICAJCQl+KDEgPDwgZHJtX2Nvbm5lY3Rvcl9pbmRleChjb25u X3N0YXRlLT5jb25uZWN0b3IpKTsKPiArCj4gKwkJZHJtX2Nvbm5lY3Rvcl91bnJlZmVyZW5jZShj b25uX3N0YXRlLT5jb25uZWN0b3IpOwo+ICsJCWNvbm5fc3RhdGUtPmNydGMgPSBOVUxMOwo+ICAJ fQo+ICAKPiAgCWlmIChjcnRjKSB7Cj4gQEAgLTExNzcsMTggKzExODEsMTYgQEAgZHJtX2F0b21p Y19zZXRfY3J0Y19mb3JfY29ubmVjdG9yKHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25u X3N0YXRlLAo+ICAKPiAgCQljcnRjX3N0YXRlLT5jb25uZWN0b3JfbWFzayB8PQo+ICAJCQkxIDw8 IGRybV9jb25uZWN0b3JfaW5kZXgoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKTsKPiAtCX0KPiAgCj4g LQlpZiAoY29ubl9zdGF0ZS0+Y3J0YykKPiAtCQlkcm1fY29ubmVjdG9yX3VucmVmZXJlbmNlKGNv bm5fc3RhdGUtPmNvbm5lY3Rvcik7Cj4gLQljb25uX3N0YXRlLT5jcnRjID0gY3J0YzsKPiArCQlk cm1fY29ubmVjdG9yX3JlZmVyZW5jZShjb25uX3N0YXRlLT5jb25uZWN0b3IpOwo+ICsJCWNvbm5f c3RhdGUtPmNydGMgPSBjcnRjOwo+ICAKPiAtCWlmIChjcnRjKQo+ICAJCURSTV9ERUJVR19BVE9N SUMoIkxpbmsgY29ubmVjdG9yIHN0YXRlICVwIHRvIFtDUlRDOiVkOiVzXVxuIiwKPiAgCQkJCSBj b25uX3N0YXRlLCBjcnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lKTsKPiAtCWVsc2UKPiArCX0gZWxz ZSB7Cj4gIAkJRFJNX0RFQlVHX0FUT01JQygiTGluayBjb25uZWN0b3Igc3RhdGUgJXAgdG8gW05P Q1JUQ11cbiIsCj4gIAkJCQkgY29ubl9zdGF0ZSk7Cj4gKwl9Cj4gIAo+ICAJcmV0dXJuIDA7Cj4g IH0KPiAtLSAKPiAyLjguMQo+IAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIs IEludGVsIENvcnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=