From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v3 14/19] drm/msm: Use labels for unwinding in the error path Date: Fri, 20 Jul 2018 16:43:05 -0400 Message-ID: <20180720204315.19054-15-seanpaul@chromium.org> References: <20180720204315.19054-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180720204315.19054-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, chandanu-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, skolluku-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, dovizu-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KClRoaXMgc2lt cGxpZmllcyBjbGVhbnVwLCB0byBtYWtlIHN1cmUgbm90aGluZyBkcm9wcyBvdXQgaW4gY2FzZSBv ZgplcnJvci4KCkNoYW5nZXMgaW4gdjM6Ci0gTm9uZQoKU2lnbmVkLW9mZi1ieTogSmV5a3VtYXIg U2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KW3NlYW5wYXVsIHNwbGl0IG91dCBvZiBk cHUgbWVnYXBhdGNoIGFuZCByZW5hbWVkIGxhYmVsc10KU2lnbmVkLW9mZi1ieTogU2VhbiBQYXVs IDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2 LmMgfCA0NCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5n ZWQsIDIyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMK aW5kZXggNjc4MTY1NDNhMGQ3Li44YmQ5ZmU4MzE5NjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBA IC0zNzIsMTkgKzM3MiwxNiBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAKIAlwcml2ID0ga3phbGxvYyhzaXplb2Yo KnByaXYpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXByaXYpIHsKLQkJZHJtX2Rldl91bnJlZihkZGV2 KTsKLQkJcmV0dXJuIC1FTk9NRU07CisJCXJldCA9IC1FTk9NRU07CisJCWdvdG8gZXJyX3VucmVm X2RybV9kZXY7CiAJfQogCiAJZGRldi0+ZGV2X3ByaXZhdGUgPSBwcml2OwogCXByaXYtPmRldiA9 IGRkZXY7CiAKIAlyZXQgPSBtZHA1X21kc3NfaW5pdChkZGV2KTsKLQlpZiAocmV0KSB7Ci0JCWtm cmVlKHByaXYpOwotCQlkcm1fZGV2X3VucmVmKGRkZXYpOwotCQlyZXR1cm4gcmV0OwotCX0KKwlp ZiAocmV0KQorCQlnb3RvIGVycl9mcmVlX3ByaXY7CiAKIAltZHNzID0gcHJpdi0+bWRzczsKIApA QCAtMzk5LDE3ICszOTYsMTIgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCiAJLyogQmluZCBhbGwgb3VyIHN1Yi1j b21wb25lbnRzOiAqLwogCXJldCA9IGNvbXBvbmVudF9iaW5kX2FsbChkZXYsIGRkZXYpOwotCWlm IChyZXQpIHsKLQkJaWYgKG1kc3MgJiYgbWRzcy0+ZnVuY3MpCi0JCQltZHNzLT5mdW5jcy0+ZGVz dHJveShkZGV2KTsKLQkJa2ZyZWUocHJpdik7Ci0JCWRybV9kZXZfdW5yZWYoZGRldik7Ci0JCXJl dHVybiByZXQ7Ci0JfQorCWlmIChyZXQpCisJCWdvdG8gZXJyX2Rlc3Ryb3lfbWRzczsKIAogCXJl dCA9IG1zbV9pbml0X3ZyYW0oZGRldik7CiAJaWYgKHJldCkKLQkJZ290byBmYWlsOworCQlnb3Rv IGVycl9tc21fdW5pbml0OwogCiAJbXNtX2dlbV9zaHJpbmtlcl9pbml0KGRkZXYpOwogCkBAIC00 MzUsNyArNDI3LDcgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRldmljZSAqZGV2 LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCQkgKi8KIAkJZGV2X2VycihkZXYsICJmYWlsZWQg dG8gbG9hZCBrbXNcbiIpOwogCQlyZXQgPSBQVFJfRVJSKGttcyk7Ci0JCWdvdG8gZmFpbDsKKwkJ Z290byBlcnJfbXNtX3VuaW5pdDsKIAl9CiAKIAkvKiBFbmFibGUgbm9ybWFsaXphdGlvbiBvZiBw bGFuZSB6cG9zICovCkBAIC00NDUsNyArNDM3LDcgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQo c3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCQlyZXQgPSBrbXMt PmZ1bmNzLT5od19pbml0KGttcyk7CiAJCWlmIChyZXQpIHsKIAkJCWRldl9lcnIoZGV2LCAia21z IGh3IGluaXQgZmFpbGVkOiAlZFxuIiwgcmV0KTsKLQkJCWdvdG8gZmFpbDsKKwkJCWdvdG8gZXJy X21zbV91bmluaXQ7CiAJCX0KIAl9CiAKQEAgLTQ1NSw3ICs0NDcsNyBAQCBzdGF0aWMgaW50IG1z bV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAJ cmV0ID0gZHJtX3ZibGFua19pbml0KGRkZXYsIHByaXYtPm51bV9jcnRjcyk7CiAJaWYgKHJldCA8 IDApIHsKIAkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB2YmxhbmtcbiIpOwot CQlnb3RvIGZhaWw7CisJCWdvdG8gZXJyX21zbV91bmluaXQ7CiAJfQogCiAJaWYgKGttcykgewpA QCAtNDY0LDEzICs0NTYsMTMgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCQlwbV9ydW50aW1lX3B1dF9zeW5jKGRl dik7CiAJCWlmIChyZXQgPCAwKSB7CiAJCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBpbnN0YWxs IElSUSBoYW5kbGVyXG4iKTsKLQkJCWdvdG8gZmFpbDsKKwkJCWdvdG8gZXJyX21zbV91bmluaXQ7 CiAJCX0KIAl9CiAKIAlyZXQgPSBkcm1fZGV2X3JlZ2lzdGVyKGRkZXYsIDApOwogCWlmIChyZXQp Ci0JCWdvdG8gZmFpbDsKKwkJZ290byBlcnJfbXNtX3VuaW5pdDsKIAogCWRybV9tb2RlX2NvbmZp Z19yZXNldChkZGV2KTsKIApAQCAtNDgxLDE1ICs0NzMsMjMgQEAgc3RhdGljIGludCBtc21fZHJt X2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCiAJcmV0 ID0gbXNtX2RlYnVnZnNfbGF0ZV9pbml0KGRkZXYpOwogCWlmIChyZXQpCi0JCWdvdG8gZmFpbDsK KwkJZ290byBlcnJfbXNtX3VuaW5pdDsKIAogCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChkZGV2 KTsKIAogCXJldHVybiAwOwogCi1mYWlsOgorZXJyX21zbV91bmluaXQ6CiAJbXNtX2RybV91bmlu aXQoZGV2KTsKIAlyZXR1cm4gcmV0OworZXJyX2Rlc3Ryb3lfbWRzczoKKwlpZiAobWRzcyAmJiBt ZHNzLT5mdW5jcykKKwkJbWRzcy0+ZnVuY3MtPmRlc3Ryb3koZGRldik7CitlcnJfZnJlZV9wcml2 OgorCWtmcmVlKHByaXYpOworZXJyX3VucmVmX2RybV9kZXY6CisJZHJtX2Rldl91bnJlZihkZGV2 KTsKKwlyZXR1cm4gcmV0OwogfQogCiAvKgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVl ciwgR29vZ2xlIC8gQ2hyb21pdW0gT1MKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZyZWVkcmVubwo=