From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 9/9] drm/i915: Move releasing of the GEM request from free to retire/cancel Date: Tue, 19 Apr 2016 13:16:44 +0100 Message-ID: <571621AC.9030301@linux.intel.com> References: <1460721275-1001-1-git-send-email-tvrtko.ursulin@linux.intel.com> <1461048560-31983-1-git-send-email-chris@chris-wilson.co.uk> <1461048560-31983-10-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id C53D76E346 for ; Tue, 19 Apr 2016 12:16:45 +0000 (UTC) In-Reply-To: <1461048560-31983-10-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE5LzA0LzE2IDA3OjQ5LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gSWYgd2UgbW92ZSB0aGUg cmVsZWFzZSBvZiB0aGUgR0VNIHJlcXVlc3QgKGkuZS4gZGVjb3VwbGluZyBpdCBmcm9tIHRoZQo+ IHZhcmlvdXMgbGlzdHMgdXNlZCBmb3IgY2xpZW50IGFuZCBjb250ZXh0IHRyYWNraW5nKSBhZnRl ciBpdCBpcyBjb21wbGV0ZQo+IChlaXRoZXIgYnkgdGhlIEdQVSByZXRpcmluZyB0aGUgcmVxdWVz dCwgb3IgYnkgdGhlIGNhbGxlciBjYW5jZWxsaW5nIHRoZQo+IHJlcXVlc3QpLCB3ZSBjYW4gcmVt b3ZlIHRoZSByZXF1aXJlbWVudCB0aGF0IHRoZSBmaW5hbCB1bnJlZmVyZW5jZSBvZgo+IHRoZSBH RU0gcmVxdWVzdCBuZWVkIHRvIGJlIHVuZGVyIHRoZSBzdHJ1Y3RfbXV0ZXguCj4gCj4gdjIsdjM6 IFJlYmFsYW5jZSBleGVjbGlzdHMgYnkgbW92aW5nIHRoZSBjb250ZXh0IHVucGlubmluZy4KPiAK PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgfCAgNCAr Ky0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgIHwgMjUgKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f cmVxdWVzdC5oICB8IDE0IC0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9icmVhZGNydW1icy5jIHwgIDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmMgICAgICAgICB8ICA0IC0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMg ICAgICAgICAgfCAgMiArLQo+ICAgNyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAz OCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCA0MDU3YzBm ZWJjY2QuLjFmNTQzNGY3YTI5NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBAIC0y NTQyLDcgKzI1NDIsNyBAQCBpOTE1X2dlbV93YWl0X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKPiAgIAkJCXJldCA9IF9faTkx NV93YWl0X3JlcXVlc3QocmVxW2ldLCB0cnVlLAo+ICAgCQkJCQkJICBhcmdzLT50aW1lb3V0X25z ID4gMCA/ICZhcmdzLT50aW1lb3V0X25zIDogTlVMTCwKPiAgIAkJCQkJCSAgdG9fcnBzX2NsaWVu dChmaWxlKSk7Cj4gLQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQocmVx W2ldKTsKPiArCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcVtpXSk7Cj4gICAJfQo+ ICAgCXJldHVybiByZXQ7Cj4gICAKPiBAQCAtMzU0OCw3ICszNTQ4LDcgQEAgaTkxNV9nZW1fcmlu Z190aHJvdHRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUp Cj4gICAJCXJldHVybiAwOwo+ICAgCj4gICAJcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdCh0YXJn ZXQsIHRydWUsIE5VTEwsIE5VTEwpOwo+IC0JaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9f dW5sb2NrZWQodGFyZ2V0KTsKPiArCWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UodGFyZ2V0 KTsKPiAgIAo+ICAgCXJldHVybiByZXQ7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3JlcXVlc3QuYwo+IGluZGV4IDhkN2M0MTVmMTg5Ni4uYzE0ZGNhM2Q4Yjg3IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwo+IEBAIC0yNTAsNiArMjUwLDcg QEAgaTkxNV9nZW1fcmVxdWVzdF9yZW1vdmVfZnJvbV9jbGllbnQoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9yZXRp cmUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgewo+ICAgCXRyYWNl X2k5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHJlcXVlc3QpOwo+ICsJbGlzdF9kZWxfaW5pdCgmcmVx dWVzdC0+bGlzdCk7Cj4gICAKPiAgIAkvKiBXZSBrbm93IHRoZSBHUFUgbXVzdCBoYXZlIHJlYWQg dGhlIHJlcXVlc3QgdG8gaGF2ZQo+ICAgCSAqIHNlbnQgdXMgdGhlIHNlcW5vICsgaW50ZXJydXB0 LCBzbyB1c2UgdGhlIHBvc2l0aW9uCj4gQEAgLTI2MSw5ICsyNjIsMTUgQEAgc3RhdGljIHZvaWQg aTkxNV9nZW1fcmVxdWVzdF9yZXRpcmUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1 ZXN0KQo+ICAgCSAqLwo+ICAgCXJlcXVlc3QtPnJpbmdidWYtPmxhc3RfcmV0aXJlZF9oZWFkID0g cmVxdWVzdC0+cG9zdGZpeDsKPiAgIAo+IC0JbGlzdF9kZWxfaW5pdCgmcmVxdWVzdC0+bGlzdCk7 Cj4gICAJaTkxNV9nZW1fcmVxdWVzdF9yZW1vdmVfZnJvbV9jbGllbnQocmVxdWVzdCk7Cj4gICAK PiArCWlmIChyZXF1ZXN0LT5waW5uZWRfY29udGV4dCkgewo+ICsJCWlmIChpOTE1LmVuYWJsZV9l eGVjbGlzdHMpCj4gKwkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxdWVzdC0+cGlubmVkX2Nv bnRleHQsCj4gKwkJCQkJICAgICAgIHJlcXVlc3QtPmVuZ2luZSk7Cj4gKwl9Cj4gKwo+ICsJaTkx NV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShyZXF1ZXN0LT5jdHgpOwo+ICAgCWk5MTVfZ2VtX3Jl cXVlc3RfdW5yZWZlcmVuY2UocmVxdWVzdCk7Cj4gICB9Cj4gICAKPiBAQCAtNjM2LDE5ICs2NDMs NyBAQCBpbnQgaTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpCj4gICAKPiAgIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFf cmVmKQo+ICAgewo+IC0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWlu ZXJfb2YocmVxX3JlZiwKPiAtCQkJCQkJIHR5cGVvZigqcmVxKSwgcmVmKTsKPiAtCXN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHggPSByZXEtPmN0eDsKPiAtCj4gLQlpZiAocmVxLT5maWxlX3ByaXYp Cj4gLQkJaTkxNV9nZW1fcmVxdWVzdF9yZW1vdmVfZnJvbV9jbGllbnQocmVxKTsKPiAtCj4gLQlp ZiAocmVxLT5waW5uZWRfY29udGV4dCkgewo+IC0JCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMp Cj4gLQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxLT5waW5uZWRfY29udGV4dCwKPiAtCQkJ CQkgICAgICAgcmVxLT5lbmdpbmUpOwo+IC0JfQo+IC0KPiAtCWk5MTVfZ2VtX2NvbnRleHRfdW5y ZWZlcmVuY2UoY3R4KTsKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxID0KPiAr CQljb250YWluZXJfb2YocmVxX3JlZiwgdHlwZW9mKCpyZXEpLCByZWYpOwo+ICAgCWttZW1fY2Fj aGVfZnJlZSh0b19pOTE1KHJlcSktPnJlcXVlc3RzLCByZXEpOwo+ICAgfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKPiBpbmRleCAzODk4MTNjYmMxOWEuLjQ4YmZmN2Rj NGY5MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0 LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKPiBAQCAt MTcwLDIzICsxNzAsOSBAQCBpOTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiAgIHN0YXRpYyBpbmxpbmUgdm9pZAo+ICAgaTkxNV9nZW1f cmVxdWVzdF91bnJlZmVyZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiAg IHsKPiAtCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcmVxLT5lbmdpbmUtPmRldi0+c3RydWN0 X211dGV4KSk7Cj4gICAJa3JlZl9wdXQoJnJlcS0+cmVmLCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUp Owo+ICAgfQo+ICAgCj4gLXN0YXRpYyBpbmxpbmUgdm9pZAo+IC1pOTE1X2dlbV9yZXF1ZXN0X3Vu cmVmZXJlbmNlX191bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPiAt ewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldjsKPiAtCj4gLQlpZiAoIXJlcSkKPiAtCQlyZXR1 cm47Cj4gLQo+IC0JZGV2ID0gcmVxLT5lbmdpbmUtPmRldjsKPiAtCWlmIChrcmVmX3B1dF9tdXRl eCgmcmVxLT5yZWYsIGk5MTVfZ2VtX3JlcXVlc3RfZnJlZSwgJmRldi0+c3RydWN0X211dGV4KSkK PiAtCQltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiAtfQo+IC0KPiAgIHN0YXRp YyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbihzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKipwZHN0LAo+ICAgCQkJCQkgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnNyYykKPiAgIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYnJl YWRjcnVtYnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2JyZWFkY3J1bWJzLmMKPiBp bmRleCA3OWYxNzU4NTM1NDguLmQ3ZDE5ZTE3MzE4ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9icmVhZGNydW1icy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYnJlYWRjcnVtYnMuYwoKISA6KQoKPiBAQCAtMzc5LDcgKzM3OSw3IEBAIHN0YXRp YyBpbnQgaW50ZWxfYnJlYWRjcnVtYnNfc2lnbmFsZXIodm9pZCAqYXJnKQo+ICAgCQkJICovCj4g ICAJCQlpbnRlbF9lbmdpbmVfcmVtb3ZlX3dhaXQoZW5naW5lLCAmc2lnbmFsLT53YWl0KTsKPiAg IAo+IC0JCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlX191bmxvY2tlZChzaWduYWwtPnJl cXVlc3QpOwo+ICsJCQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHNpZ25hbC0+cmVxdWVz dCk7Cj4gICAKPiAgIAkJCS8qIEZpbmQgdGhlIG5leHQgb2xkZXN0IHNpZ25hbC4gTm90ZSB0aGF0 IGFzIHdlIGhhdmUKPiAgIAkJCSAqIG5vdCBiZWVuIGhvbGRpbmcgdGhlIGxvY2ssIGFub3RoZXIg Y2xpZW50IG1heQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBjYWZm NjU2NDE3YzIuLjA3ZGZkNTVmZmY5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPiBAQCAtMTEzNzAsNyArMTEzNzAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tbWlvX2Zs aXBfd29ya19mdW5jKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiAgIAkJV0FSTl9PTihfX2k5 MTVfd2FpdF9yZXF1ZXN0KG1taW9fZmxpcC0+cmVxLAo+ICAgCQkJCQkgICAgZmFsc2UsIE5VTEws Cj4gICAJCQkJCSAgICAmbW1pb19mbGlwLT5pOTE1LT5ycHMubW1pb2ZsaXBzKSk7Cj4gLQkJaTkx NV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQobW1pb19mbGlwLT5yZXEpOwo+ICsJ CWk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2UobW1pb19mbGlwLT5yZXEpOwo+ICAgCX0KPiAg IAo+ICAgCS8qIEZvciBmcmFtZWJ1ZmZlciBiYWNrZWQgYnkgZG1hYnVmLCB3YWl0IGZvciBmZW5j ZSAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggMGU1NWYyMDZlNTkyLi4wZWFh NzRmYWI4N2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC01ODcsNyArNTg3 LDYgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq Y3Vyc29yOwo+ICAgCWludCBudW1fZWxlbWVudHMgPSAwOwo+ICAgCj4gLQlpbnRlbF9scl9jb250 ZXh0X3BpbihyZXF1ZXN0LT5jdHgsIHJlcXVlc3QtPmVuZ2luZSk7CgpJIHdvdWxkIHByZWZlciB0 aGlzIHN0ZXAgdG8gYmUgYSBzZXBhcmF0ZSBwYXRjaCBmcm9tIHRoZQpyZXRpcmUvZnJlZSByZW9y Zy4KCkFsc28sIGluIG15IHRlc3RpbmcsIGFub3RoZXIgcGF0Y2ggd2FzIHJlcXVpcmVkIGJlZm9y ZSB0aGlzCnN0ZXAgdG8gbWFrZSBpdCB3b3JrLiBCYXNpY2FsbHk6CgpGcm9tIDg0OGRmMzdlZjkw ZGZiN2M3YWRiZjU5ZDE1NWMzOWQ4ZTQ1MjFiOGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkRhdGU6IEZyaSwg MTUgQXByIDIwMTYgMTY6MTM6MjYgKzAxMDAKU3ViamVjdDogW1BBVENIIDYvN10gZHJtL2k5MTU6 IFN0b3JlIExSQyBoYXJkd2FyZSBpZCBpbiB0aGUgY29udGV4dAoKVGhpcyB3YXkgaW4gdGhlIGZv bGxvd2luZyBwYXRjaCB3ZSBjYW4gZGlzY29ubmVjdCByZXF1ZXN0cwpmcm9tIGNvbnRleHRzLgoK U2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICB8IDMgKysrCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyB8IDMgKystCiAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDc5YzIz MTA4Y2MzNS4uZDg1YzAzNDI1YzU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTIzMzQs NiArMjMzNCw5IEBAIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAKICAgICAgICAvKiog RXhlY2xpc3RzIG5vLiBvZiB0aW1lcyB0aGlzIHJlcXVlc3QgaGFzIGJlZW4gc2VudCB0byB0aGUg RUxTUCAqLwogICAgICAgIGludCBlbHNwX3N1Ym1pdHRlZDsKKworICAgICAgIC8qKiBFeGVjbGlz dHMgY29udGV4dCBoYXJkd2FyZSBpZC4gKi8KKyAgICAgICB1bnNpZ25lZCBjdHhfaHdfaWQ7CiB9 OwogCiBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKiBfX211c3RfY2hlY2sKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKaW5kZXggOGY4ZGExYjAxNDU4Li44NzFmMzk5Zjg0ZjYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCkBAIC00NzUsNyArNDc1LDcgQEAgZXhlY2xpc3RzX2NoZWNrX3Jl bW92ZV9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHJlcXVlc3Rf aWQpCiAgICAgICAgaWYgKCFoZWFkX3JlcSkKICAgICAgICAgICAgICAgIHJldHVybiAwOwogCi0g ICAgICAgaWYgKHVubGlrZWx5KGhlYWRfcmVxLT5jdHgtPmh3X2lkICE9IHJlcXVlc3RfaWQpKQor ICAgICAgIGlmICh1bmxpa2VseShoZWFkX3JlcS0+Y3R4X2h3X2lkICE9IHJlcXVlc3RfaWQpKQog ICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAKICAgICAgICBXQVJOKGhlYWRfcmVxLT5lbHNwX3N1 Ym1pdHRlZCA9PSAwLCAiTmV2ZXIgc3VibWl0dGVkIGhlYWQgcmVxdWVzdFxuIik7CkBAIC02MTQs NiArNjE0LDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogICAgICAgIH0KIAogICAgICAgIGxpc3RfYWRk X3RhaWwoJnJlcXVlc3QtPmV4ZWNsaXN0X2xpbmssICZlbmdpbmUtPmV4ZWNsaXN0X3F1ZXVlKTsK KyAgICAgICByZXF1ZXN0LT5jdHhfaHdfaWQgPSByZXF1ZXN0LT5jdHgtPmh3X2lkOwogICAgICAg IGlmIChudW1fZWxlbWVudHMgPT0gMCkKICAgICAgICAgICAgICAgIGV4ZWNsaXN0c19jb250ZXh0 X3VucXVldWUoZW5naW5lKTsKIAotLSAKMS45LjEKCk90aGVyd2lzZSBJIHdhcyBoaXR0aW5nIHJl cXVlc3RzIHdpdGggdW5waW5uZWQgTFJDcyBvbiB0aGUKZXhlY2xpc3RzIHF1ZXVlIHNvIGNoZWNr X3JlbW92ZSB3YXMgZmFpbGluZyB0byBzcG90IHByb2dyZXNzLgoKSSBoYWQgYSB0aGVvcnkgb24g d2h5IHRoYXQgd2FzIGhhcHBlbmluZyBidXQgSSBhbSBub3Qgc3VyZQphYm91dCBpdCBhbnkgbG9u Z2VyLiBXaWxsIHRyeSB0byBzdHJlc3MgaXQgYSBiaXQgd2l0aCB5b3VyCnNlcmllcyBhbmQgc2Vl IGlmIEkgY2FuIGhpdCB0aGUgcHJvYmxlbS4KCkJ1dCBlaXRoZXIgd2F5IEkgdGhpbmsgcmVtb3Zp bmcgdGhlIGV4dHJhIGV4ZWNsaXN0IHBpbi91bnBpbgpyZW1vdmFsIGZyb20gdGhpcyBwYXRjaCB3 b3VsZCBiZSBiZXR0ZXIuCgo+ICAgCWk5MTVfZ2VtX3JlcXVlc3RfcmVmZXJlbmNlKHJlcXVlc3Qp Owo+ICAgCj4gICAJc3Bpbl9sb2NrX2JoKCZlbmdpbmUtPmV4ZWNsaXN0X2xvY2spOwo+IEBAIC0x MDA2LDkgKzEwMDUsNiBAQCB2b2lkIGludGVsX2V4ZWNsaXN0c19yZXRpcmVfcmVxdWVzdHMoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCXNwaW5fdW5sb2NrX2JoKCZlbmdpbmUt PmV4ZWNsaXN0X2xvY2spOwo+ICAgCj4gICAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJlcSwg dG1wLCAmcmV0aXJlZF9saXN0LCBleGVjbGlzdF9saW5rKSB7Cj4gLQkJaWYgKHJlcS0+cGlubmVk X2NvbnRleHQpCj4gLQkJCWludGVsX2xyX2NvbnRleHRfdW5waW4ocmVxLT5waW5uZWRfY29udGV4 dCwgZW5naW5lKTsKPiAtCj4gICAJCWxpc3RfZGVsKCZyZXEtPmV4ZWNsaXN0X2xpbmspOwo+ICAg CQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcSk7Cj4gICAJfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwo+IGluZGV4IGI5NjRjNDQ4YmMwMy4uNTY1YjcyNWNkODE3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9wbS5jCj4gQEAgLTczNjQsNyArNzM2NCw3IEBAIHN0YXRpYyB2b2lkIF9f aW50ZWxfcnBzX2Jvb3N0X3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ICAgCWlmICgh aTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQocmVxKSkKPiAgIAkJZ2VuNl9ycHNfYm9vc3QodG9f aTkxNShyZXEpLCBOVUxMLCByZXEtPmVtaXR0ZWRfamlmZmllcyk7Cj4gICAKPiAtCWk5MTVfZ2Vt X3JlcXVlc3RfdW5yZWZlcmVuY2VfX3VubG9ja2VkKHJlcSk7Cj4gKwlpOTE1X2dlbV9yZXF1ZXN0 X3VucmVmZXJlbmNlKHJlcSk7Cj4gICAJa2ZyZWUoYm9vc3QpOwo+ICAgfQo+ICAgCj4gCgpSZWdh cmRzLAoKVHZydGtvCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK