From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 08/10] drm/crc: Cleanup crtc_crc_open function Date: Thu, 12 Jul 2018 14:39:55 +0300 Message-ID: <2218246.iABgPZ8dVG@avalon> References: <20180712083635.7472-1-mahesh1.kumar@intel.com> <20180712083635.7472-9-mahesh1.kumar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180712083635.7472-9-mahesh1.kumar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Mahesh Kumar Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGkgTWFoZXNoLAoKVGhhbmsgeW91IGZvciB0aGUgcGF0Y2guCgpPbiBUaHVyc2RheSwgMTIgSnVs eSAyMDE4IDExOjM2OjMzIEVFU1QgTWFoZXNoIEt1bWFyIHdyb3RlOgo+IFRoaXMgcGF0Y2ggbWFr ZSBjaGFuZ2VzIHRvIGFsbG9jYXRlIGNyYy1lbnRyaWVzIGJ1ZmZlciBiZWZvcmUKPiBlbmFibGlu ZyBDUkMgZ2VuZXJhdGlvbi4KPiBJdCBtb3ZlcyBhbGwgdGhlIGZhaWx1cmUgY2hlY2sgZWFybHkg aW4gdGhlIGZ1bmN0aW9uIGJlZm9yZSBzZXR0aW5nCj4gdGhlIHNvdXJjZSBvciBtZW1vcnkgYWxs b2NhdGlvbi4KPiBOb3cgc2V0X2NyY19zb3VyY2UgdGFrZXMgb25seSB0d28gdmFyaWFibGUgaW5w dXRzLCB2YWx1ZXNfY250IHdlCj4gYWxyZWFkeSBnZXRzIGFzIHBhcnQgb2YgdmVyaWZ5X2NyY19z b3VyY2UuCj4gCj4gQ2hhbmdlcyBzaW5jZSBWMToKPiAgLSByZWZhY3RvciBjb2RlIHRvIHVzZSBz aW5nbGUgc3BpbiBsb2NrCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFoZXNoIEt1bWFyIDxtYWhlc2gx Lmt1bWFyQGludGVsLmNvbT4KPiBDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ IENjOiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+ Cj4gUmV2aWV3ZWQtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+Cj4gQWNrZWQtYnk6IExlbyBMaSA8c3VucGVuZy5saUBhbWQuY29tPgoKRm9y IGNvcmUgY29kZSBhbmQgdGhlIFItQ2FyIERVIGRyaXZlciwKClJldmlld2VkLWJ5OiBMYXVyZW50 IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cgo+IC0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oICB8ICAzICst Cj4gIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fY3JjLmMgIHwg IDQgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9kZWJ1Z2ZzX2NyYy5jICAgICAgICAgICAgICAg ICAgfCA2MSArKysrKysrKystLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcGlwZV9jcmMuYyAgICAgICAgICAgICAgfCAgNCArLQo+ICBkcml2ZXJzL2dwdS9kcm0v cmNhci1kdS9yY2FyX2R1X2NydGMuYyAgICAgICAgICAgICB8ICA1ICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgICAgICAgIHwgIDYgKy0tCj4gIGluY2x1 ZGUvZHJtL2RybV9jcnRjLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKy0KPiAg OCBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA1MiBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVf ZG0uaAo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0u aCBpbmRleAo+IGU0M2VkMDY0ZGM0Ni4uNTQwNTZkMTgwMDAzIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5oCj4gQEAgLTI1OCw4 ICsyNTgsNyBAQCBhbWRncHVfZG1fcmVtb3ZlX3NpbmtfZnJvbV9mcmVlc3luY19tb2R1bGUoc3Ry dWN0Cj4gZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAKPiAgLyogYW1kZ3B1X2RtX2NyYy5j ICovCj4gICNpZmRlZiBDT05GSUdfREVCVUdfRlMKPiAtaW50IGFtZGdwdV9kbV9jcnRjX3NldF9j cmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3QgY2hhcgo+ICpzcmNfbmFtZSwg LQkJCQkgIHNpemVfdCAqdmFsdWVzX2NudCk7Cj4gK2ludCBhbWRncHVfZG1fY3J0Y19zZXRfY3Jj X3NvdXJjZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNoYXIKPiAqc3JjX25hbWUpOyBp bnQgYW1kZ3B1X2RtX2NydGNfdmVyaWZ5X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRj LAo+ICAJCQkJICAgICBjb25zdCBjaGFyICpzcmNfbmFtZSwKPiAgCQkJCSAgICAgc2l6ZV90ICp2 YWx1ZXNfY250KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Ft ZGdwdV9kbS9hbWRncHVfZG1fY3JjLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9h bWRncHVfZG0vYW1kZ3B1X2RtX2NyYy5jIGluZGV4Cj4gZGZjY2E1OTRkNTJhLi5lN2FkNTI4ZjU4 NTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9h bWRncHVfZG1fY3JjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1 X2RtL2FtZGdwdV9kbV9jcmMuYwo+IEBAIC02Miw4ICs2Miw3IEBAIGFtZGdwdV9kbV9jcnRjX3Zl cmlmeV9jcmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiBjb25zdCBjaGFyICpzcmNf bmFtZSwgcmV0dXJuIDA7Cj4gIH0KPiAKPiAtaW50IGFtZGdwdV9kbV9jcnRjX3NldF9jcmNfc291 cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3QgY2hhcgo+ICpzcmNfbmFtZSwgLQkJCSAg IHNpemVfdCAqdmFsdWVzX2NudCkKPiAraW50IGFtZGdwdV9kbV9jcnRjX3NldF9jcmNfc291cmNl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3QgY2hhcgo+ICpzcmNfbmFtZSkgewo+ICAJc3Ry dWN0IGRtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPSB0b19kbV9jcnRjX3N0YXRlKGNydGMtPnN0 YXRlKTsKPiAgCXN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbV9zdGF0ZSA9IGNydGNfc3Rh dGUtPnN0cmVhbTsKPiBAQCAtOTksNyArOTgsNiBAQCBpbnQgYW1kZ3B1X2RtX2NydGNfc2V0X2Ny Y19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IGNvbnN0IGNoYXIgKnNyY19uYW1lLCBy ZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAKPiAtCSp2YWx1ZXNfY250ID0gMzsKPiAgCS8qIFJlc2V0 IGNyY19za2lwcGVkIG9uIGRtIHN0YXRlICovCj4gIAljcnRjX3N0YXRlLT5jcmNfc2tpcF9jb3Vu dCA9IDA7Cj4gIAlyZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9k ZWJ1Z2ZzX2NyYy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RlYnVnZnNfY3JjLmMgaW5kZXgg OTQwYjc2YTFhYjcxLi43Mzg2MzkxNjM2ZTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9kZWJ1Z2ZzX2NyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kZWJ1Z2ZzX2Ny Yy5jCj4gQEAgLTEyNywxMSArMTI3LDkgQEAgc3RhdGljIHNzaXplX3QgY3JjX2NvbnRyb2xfd3Jp dGUoc3RydWN0IGZpbGUgKmZpbGUsCj4gY29uc3QgY2hhciBfX3VzZXIgKnVidWYsIGlmIChzb3Vy Y2VbbGVuXSA9PSAnXG4nKQo+ICAJCXNvdXJjZVtsZW5dID0gJ1wwJzsKPiAKPiAtCWlmIChjcnRj LT5mdW5jcy0+dmVyaWZ5X2NyY19zb3VyY2UpIHsKPiAtCQlyZXQgPSBjcnRjLT5mdW5jcy0+dmVy aWZ5X2NyY19zb3VyY2UoY3J0Yywgc291cmNlLCAmdmFsdWVzX2NudCk7Cj4gLQkJaWYgKHJldCkK PiAtCQkJcmV0dXJuIHJldDsKPiAtCX0KPiArCXJldCA9IGNydGMtPmZ1bmNzLT52ZXJpZnlfY3Jj X3NvdXJjZShjcnRjLCBzb3VyY2UsICZ2YWx1ZXNfY250KTsKPiArCWlmIChyZXQpCj4gKwkJcmV0 dXJuIHJldDsKPiAKPiAgCXNwaW5fbG9ja19pcnEoJmNyYy0+bG9jayk7Cj4gCj4gQEAgLTE5Nyw0 MCArMTk1LDQwIEBAIHN0YXRpYyBpbnQgY3J0Y19jcmNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBzdHJ1Y3QKPiBmaWxlICpmaWxlcCkgcmV0dXJuIHJldDsKPiAgCX0KPiAKPiArCXJldCA9IGNy dGMtPmZ1bmNzLT52ZXJpZnlfY3JjX3NvdXJjZShjcnRjLCBjcmMtPnNvdXJjZSwgJnZhbHVlc19j bnQpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCWlmIChXQVJOX09OKHZh bHVlc19jbnQgPiBEUk1fTUFYX0NSQ19OUikpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJ aWYgKFdBUk5fT04odmFsdWVzX2NudCA9PSAwKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4g KwllbnRyaWVzID0ga2NhbGxvYyhEUk1fQ1JDX0VOVFJJRVNfTlIsIHNpemVvZigqZW50cmllcyks IEdGUF9LRVJORUwpOwo+ICsJaWYgKCFlbnRyaWVzKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsK PiAgCXNwaW5fbG9ja19pcnEoJmNyYy0+bG9jayk7Cj4gLQlpZiAoIWNyYy0+b3BlbmVkKQo+ICsJ aWYgKCFjcmMtPm9wZW5lZCkgewo+ICAJCWNyYy0+b3BlbmVkID0gdHJ1ZTsKPiAtCWVsc2UKPiAr CQljcmMtPmVudHJpZXMgPSBlbnRyaWVzOwo+ICsJCWNyYy0+dmFsdWVzX2NudCA9IHZhbHVlc19j bnQ7Cj4gKwl9IGVsc2Ugewo+ICAJCXJldCA9IC1FQlVTWTsKPiArCX0KPiAgCXNwaW5fdW5sb2Nr X2lycSgmY3JjLT5sb2NrKTsKPiAKPiAtCWlmIChyZXQpCj4gKwlpZiAocmV0KSB7Cj4gKwkJa2Zy ZWUoZW50cmllcyk7Cj4gIAkJcmV0dXJuIHJldDsKPiArCX0KPiAKPiAtCXJldCA9IGNydGMtPmZ1 bmNzLT5zZXRfY3JjX3NvdXJjZShjcnRjLCBjcmMtPnNvdXJjZSwgJnZhbHVlc19jbnQpOwo+ICsJ cmV0ID0gY3J0Yy0+ZnVuY3MtPnNldF9jcmNfc291cmNlKGNydGMsIGNyYy0+c291cmNlKTsKPiAg CWlmIChyZXQpCj4gIAkJZ290byBlcnI7Cj4gCj4gLQlpZiAoV0FSTl9PTih2YWx1ZXNfY250ID4g RFJNX01BWF9DUkNfTlIpKSB7Cj4gLQkJcmV0ID0gLUVJTlZBTDsKPiAtCQlnb3RvIGVycl9kaXNh YmxlOwo+IC0JfQo+IC0KPiAtCWlmIChXQVJOX09OKHZhbHVlc19jbnQgPT0gMCkpIHsKPiAtCQly ZXQgPSAtRUlOVkFMOwo+IC0JCWdvdG8gZXJyX2Rpc2FibGU7Cj4gLQl9Cj4gLQo+IC0JZW50cmll cyA9IGtjYWxsb2MoRFJNX0NSQ19FTlRSSUVTX05SLCBzaXplb2YoKmVudHJpZXMpLCBHRlBfS0VS TkVMKTsKPiAtCWlmICghZW50cmllcykgewo+IC0JCXJldCA9IC1FTk9NRU07Cj4gLQkJZ290byBl cnJfZGlzYWJsZTsKPiAtCX0KPiAtCj4gIAlzcGluX2xvY2tfaXJxKCZjcmMtPmxvY2spOwo+IC0J Y3JjLT5lbnRyaWVzID0gZW50cmllczsKPiAtCWNyYy0+dmFsdWVzX2NudCA9IHZhbHVlc19jbnQ7 Cj4gLQo+ICAJLyoKPiAgCSAqIE9ubHkgcmV0dXJuIG9uY2Ugd2UgZ290IGEgZmlyc3QgZnJhbWUs IHNvIHVzZXJzcGFjZSBkb2Vzbid0IGhhdmUgdG8KPiAgCSAqIGd1ZXNzIHdoZW4gdGhpcyBwYXJ0 aWN1bGFyIHBpZWNlIG9mIEhXIHdpbGwgYmUgcmVhZHkgdG8gc3RhcnQKPiBAQCAtMjQ3LDcgKzI0 NSw3IEBAIHN0YXRpYyBpbnQgY3J0Y19jcmNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1 Y3QKPiBmaWxlICpmaWxlcCkgcmV0dXJuIDA7Cj4gCj4gIGVycl9kaXNhYmxlOgo+IC0JY3J0Yy0+ ZnVuY3MtPnNldF9jcmNfc291cmNlKGNydGMsIE5VTEwsICZ2YWx1ZXNfY250KTsKPiArCWNydGMt PmZ1bmNzLT5zZXRfY3JjX3NvdXJjZShjcnRjLCBOVUxMKTsKPiAgZXJyOgo+ICAJc3Bpbl9sb2Nr X2lycSgmY3JjLT5sb2NrKTsKPiAgCWNydGNfY3JjX2NsZWFudXAoY3JjKTsKPiBAQCAtMjU5LDkg KzI1Nyw4IEBAIHN0YXRpYyBpbnQgY3J0Y19jcmNfcmVsZWFzZShzdHJ1Y3QgaW5vZGUgKmlub2Rl LCBzdHJ1Y3QKPiBmaWxlICpmaWxlcCkgewo+ICAJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZmls ZXAtPmZfaW5vZGUtPmlfcHJpdmF0ZTsKPiAgCXN0cnVjdCBkcm1fY3J0Y19jcmMgKmNyYyA9ICZj cnRjLT5jcmM7Cj4gLQlzaXplX3QgdmFsdWVzX2NudDsKPiAKPiAtCWNydGMtPmZ1bmNzLT5zZXRf Y3JjX3NvdXJjZShjcnRjLCBOVUxMLCAmdmFsdWVzX2NudCk7Cj4gKwljcnRjLT5mdW5jcy0+c2V0 X2NyY19zb3VyY2UoY3J0YywgTlVMTCk7Cj4gCj4gIAlzcGluX2xvY2tfaXJxKCZjcmMtPmxvY2sp Owo+ICAJY3J0Y19jcmNfY2xlYW51cChjcmMpOwo+IEBAIC0zNjcsNyArMzY0LDcgQEAgaW50IGRy bV9kZWJ1Z2ZzX2NydGNfY3JjX2FkZChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIHsKPiAgCXN0 cnVjdCBkZW50cnkgKmNyY19lbnQsICplbnQ7Cj4gCj4gLQlpZiAoIWNydGMtPmZ1bmNzLT5zZXRf Y3JjX3NvdXJjZSkKPiArCWlmICghY3J0Yy0+ZnVuY3MtPnNldF9jcmNfc291cmNlIHx8ICFjcnRj LT5mdW5jcy0+dmVyaWZ5X2NyY19zb3VyY2UpCj4gIAkJcmV0dXJuIDA7Cj4gCj4gIAljcmNfZW50 ID0gZGVidWdmc19jcmVhdGVfZGlyKCJjcmMiLCBjcnRjLT5kZWJ1Z2ZzX2VudHJ5KTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oIGluZGV4IDI5YjA1NGRlOWUxMy4uODE0ZjZmM2UxNTk1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMjE1NSw4ICsyMTU1LDcgQEAgdm9p ZCBsc3Bjb25fd2FpdF9wY29uX21vZGUoc3RydWN0IGludGVsX2xzcGNvbgo+ICpsc3Bjb24pOwo+ IAo+ICAvKiBpbnRlbF9waXBlX2NyYy5jICovCj4gICNpZmRlZiBDT05GSUdfREVCVUdfRlMKPiAt aW50IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25z dCBjaGFyCj4gKnNvdXJjZV9uYW1lLCAtCQkJICAgICAgc2l6ZV90ICp2YWx1ZXNfY250KTsKPiAr aW50IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25z dCBjaGFyCj4gKnNvdXJjZV9uYW1lKTsgaW50IGludGVsX2NydGNfdmVyaWZ5X2NyY19zb3VyY2Uo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJCQkJIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lLCBz aXplX3QgKnZhbHVlc19jbnQpOwo+ICBjb25zdCBjaGFyICpjb25zdCAqaW50ZWxfY3J0Y19nZXRf Y3JjX3NvdXJjZXMoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9waXBlX2NyYy5jIGluZGV4IDgzZjlhZGUwY2Q4MS4uZjNjOTAxMGUzMzJhCj4gMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVfY3JjLmMKPiBAQCAtNTgzLDggKzU4Myw3IEBA IGludCBpbnRlbF9jcnRjX3ZlcmlmeV9jcmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PiBjb25zdCBjaGFyICpzb3VyY2VfbmFtZSwgcmV0dXJuIC1FSU5WQUw7Cj4gIH0KPiAKPiAtaW50 IGludGVsX2NydGNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25zdCBj aGFyCj4gKnNvdXJjZV9uYW1lLCAtCQkJICAgICAgc2l6ZV90ICp2YWx1ZXNfY250KQo+ICtpbnQg aW50ZWxfY3J0Y19zZXRfY3JjX3NvdXJjZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNo YXIKPiAqc291cmNlX25hbWUpIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9waXBlX2NyYyAqcGlwZV9j cmMgPSAmZGV2X3ByaXYtPnBpcGVfY3JjW2NydGMtPmluZGV4XTsKPiBAQCAtNjIzLDcgKzYyMiw2 IEBAIGludCBpbnRlbF9jcnRjX3NldF9jcmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK PiBjb25zdCBjaGFyICpzb3VyY2VfbmFtZSwgfQo+IAo+ICAJcGlwZV9jcmMtPnNraXBwZWQgPSAw Owo+IC0JKnZhbHVlc19jbnQgPSA1Owo+IAo+ICBvdXQ6Cj4gIAlpbnRlbF9kaXNwbGF5X3Bvd2Vy X3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMKPiBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3Jj YXJfZHVfY3J0Yy5jIGluZGV4IDcxMjQ5MTgzNzJmOC4uNzJkYjE4MzRkZDUwCj4gMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9jcnRjLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+IEBAIC04MDgsOCArODA4LDcgQEAg c3RhdGljIGludCByY2FyX2R1X2NydGNfdmVyaWZ5X2NyY19zb3VyY2Uoc3RydWN0Cj4gZHJtX2Ny dGMgKmNydGMsIH0KPiAKPiAgc3RhdGljIGludCByY2FyX2R1X2NydGNfc2V0X2NyY19zb3VyY2Uo c3RydWN0IGRybV9jcnRjICpjcnRjLAo+IC0JCQkJICAgICAgIGNvbnN0IGNoYXIgKnNvdXJjZV9u YW1lLAo+IC0JCQkJICAgICAgIHNpemVfdCAqdmFsdWVzX2NudCkKPiArCQkJCSAgICAgICBjb25z dCBjaGFyICpzb3VyY2VfbmFtZSkKPiAgewo+ICAJc3RydWN0IGRybV9tb2Rlc2V0X2FjcXVpcmVf Y3R4IGN0eDsKPiAgCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKPiBAQCAtODM3 LDggKzgzNiw2IEBAIHN0YXRpYyBpbnQgcmNhcl9kdV9jcnRjX3NldF9jcmNfc291cmNlKHN0cnVj dCBkcm1fY3J0Ywo+ICpjcnRjLCByZXR1cm4gLUVJTlZBTDsKPiAgCX0KPiAKPiAtCSp2YWx1ZXNf Y250ID0gMTsKPiAtCj4gIAkvKiBQZXJmb3JtIGFuIGF0b21pYyBjb21taXQgdG8gc2V0IHRoZSBD UkMgc291cmNlLiAqLwo+ICAJZHJtX21vZGVzZXRfYWNxdWlyZV9pbml0KCZjdHgsIDApOwo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5j Cj4gYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jIGluZGV4Cj4g NzdlOTFiMTVkZGI0Li42NTczNzIzMDY2MjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiBAQCAtMTExNyw3ICsxMTE3LDcgQEAgc3RhdGljIHN0 cnVjdCBkcm1fY29ubmVjdG9yCj4gKnZvcF9nZXRfZWRwX2Nvbm5lY3RvcihzdHJ1Y3Qgdm9wICp2 b3ApIH0KPiAKPiAgc3RhdGljIGludCB2b3BfY3J0Y19zZXRfY3JjX3NvdXJjZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCj4gLQkJCQkgICBjb25zdCBjaGFyICpzb3VyY2VfbmFtZSwgc2l6ZV90ICp2 YWx1ZXNfY250KQo+ICsJCQkJICAgY29uc3QgY2hhciAqc291cmNlX25hbWUpCj4gIHsKPiAgCXN0 cnVjdCB2b3AgKnZvcCA9IHRvX3ZvcChjcnRjKTsKPiAgCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3I7Cj4gQEAgLTExMjcsOCArMTEyNyw2IEBAIHN0YXRpYyBpbnQgdm9wX2NydGNfc2V0 X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjCj4gKmNydGMsIGlmICghY29ubmVjdG9yKQo+ICAJ CXJldHVybiAtRUlOVkFMOwo+IAo+IC0JKnZhbHVlc19jbnQgPSAzOwo+IC0KPiAgCWlmIChzb3Vy Y2VfbmFtZSAmJiBzdHJjbXAoc291cmNlX25hbWUsICJhdXRvIikgPT0gMCkKPiAgCQlyZXQgPSBh bmFsb2dpeF9kcF9zdGFydF9jcmMoY29ubmVjdG9yKTsKPiAgCWVsc2UgaWYgKCFzb3VyY2VfbmFt ZSkKPiBAQCAtMTE1Miw3ICsxMTUwLDcgQEAgdm9wX2NydGNfdmVyaWZ5X2NyY19zb3VyY2Uoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAo+IGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lLAo+IAo+ICAjZWxz ZQo+ICBzdGF0aWMgaW50IHZvcF9jcnRjX3NldF9jcmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKPiAtCQkJCSAgIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lLCBzaXplX3QgKnZhbHVlc19j bnQpCj4gKwkJCQkgICBjb25zdCBjaGFyICpzb3VyY2VfbmFtZSkKPiAgewo+ICAJcmV0dXJuIC1F Tk9ERVY7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1 ZGUvZHJtL2RybV9jcnRjLmgKPiBpbmRleCA2OTg4NjAyNWU2MjguLjEwMTNkNjU5NjQwOCAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJt X2NydGMuaAo+IEBAIC02ODIsOCArNjgyLDcgQEAgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHsKPiAg CSAqCj4gIAkgKiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1 cmUuCj4gIAkgKi8KPiAtCWludCAoKnNldF9jcmNfc291cmNlKShzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsIGNvbnN0IGNoYXIgKnNvdXJjZSwKPiAtCQkJICAgICAgc2l6ZV90ICp2YWx1ZXNfY250KTsK PiArCWludCAoKnNldF9jcmNfc291cmNlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNo YXIgKnNvdXJjZSk7Cj4gIAkvKioKPiAgCSAqIEB2ZXJpZnlfY3JjX3NvdXJjZToKPiAgCSAqCgoK LS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=