From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 1/4] drm/i915: Split I915_RESET_IN_PROGRESS into two flags Date: Thu, 16 Mar 2017 18:47:21 +0200 Message-ID: <877f3p184m.fsf@gaia.fi.intel.com> References: <20170315140129.19175-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5234D6E333 for ; Thu, 16 Mar 2017 16:47:32 +0000 (UTC) In-Reply-To: <20170315140129.19175-1-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 Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gSTkxNV9S RVNFVF9JTl9QUk9HUkVTUyBpcyBiZWluZyB1c2VkIGZvciBib3RoIHNpZ25hbGluZyB0aGUgcmVx dWlyZW1lbnQKPiB0byBpOTE1X211dGV4X2xvY2tfaW50ZXJydXB0aWJsZSgpIHRvIGF2b2lkIHRh a2luZyB0aGUgc3RydWN0X211dGV4IGFuZAo+IHRvIGluc3RydWN0IGEgd2FpdGVyIChhbHJlYWR5 IGhvbGRpbmcgdGhlIHN0cnVjdF9tdXRleCkgdG8gcGVyZm9ybSB0aGUKPiByZXNldC4gVG8gYWxs b3cgZm9yIGEgbGl0dGxlIG1vcmUgY29vcmRpbmF0aW9uLCBzcGxpdCB0aGVzZSB0d28gbWVhbmlu Zwo+IGludG8gYSBjb3VwbGUgb2YgZGlzdGluY3QgZmxhZ3MuIEk5MTVfUkVTRVRfQkFDS09GRiB0 ZWxscwo+IGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCkgbm90IHRvIGFjcXVpcmUgdGhl IG11dGV4IGFuZAo+IEk5MTVfUkVTRVRfSEFORE9GRiB0ZWxscyB0aGUgd2FpdGVyIHRvIGNhbGwg aTkxNV9yZXNldCgpLgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+CgorIEFja2VkLWJ5OiBNaWNoZWwgVGhpZXJyeSA8bWljaGVsLnRoaWVy cnlAaW50ZWwuY29tPgoKZnJvbSBlYXJsaWVyIHZlcnNpb24uCi1NaWthCgoKPiAtLS0KPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAgICAgICAgIHwgMTYgKysrKyst LS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgICAgICAgICAg fCAgNyArKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAg ICAgICAgfCA0MCArKysrKysrKysrKysrKysrKysrKystLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgICAgIHwgIDUgKy0tCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyAgICAgICAgICB8ICAyICstCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICAgICAgICAgICB8IDM4ICsrKystLS0tLS0tLS0t LS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgICAgICAg ICAgIHwgIDQgKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF9oYW5n Y2hlY2suYyB8IDE4ICsrKysrKystLS0tCj4gIDggZmlsZXMgY2hhbmdlZCwgNzEgaW5zZXJ0aW9u cygrKSwgNTkgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+ IGluZGV4IDlkYjZiMDQxYTc5OS4uNWZkZjhjMTM3MjM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMTMwNSwxNiArMTMwNSwxOCBAQCBzdGF0aWMgaW50IGk5MTVf aGFuZ2NoZWNrX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4gIAllbnVt IGludGVsX2VuZ2luZV9pZCBpZDsKPiAgCj4gIAlpZiAodGVzdF9iaXQoSTkxNV9XRURHRUQsICZk ZXZfcHJpdi0+Z3B1X2Vycm9yLmZsYWdzKSkKPiAtCQlzZXFfcHJpbnRmKG0sICJXZWRnZWRcbiIp Owo+IC0JaWYgKHRlc3RfYml0KEk5MTVfUkVTRVRfSU5fUFJPR1JFU1MsICZkZXZfcHJpdi0+Z3B1 X2Vycm9yLmZsYWdzKSkKPiAtCQlzZXFfcHJpbnRmKG0sICJSZXNldCBpbiBwcm9ncmVzc1xuIik7 Cj4gKwkJc2VxX3B1dHMobSwgIldlZGdlZFxuIik7Cj4gKwlpZiAodGVzdF9iaXQoSTkxNV9SRVNF VF9CQUNLT0ZGLCAmZGV2X3ByaXYtPmdwdV9lcnJvci5mbGFncykpCj4gKwkJc2VxX3B1dHMobSwg IlJlc2V0IGluIHByb2dyZXNzOiBzdHJ1Y3RfbXV0ZXggYmFja29mZlxuIik7Cj4gKwlpZiAodGVz dF9iaXQoSTkxNV9SRVNFVF9IQU5ET0ZGLCAmZGV2X3ByaXYtPmdwdV9lcnJvci5mbGFncykpCj4g KwkJc2VxX3B1dHMobSwgIlJlc2V0IGluIHByb2dyZXNzOiByZXNldCBoYW5kb2ZmIHRvIHdhaXRl clxuIik7Cj4gIAlpZiAod2FpdHF1ZXVlX2FjdGl2ZSgmZGV2X3ByaXYtPmdwdV9lcnJvci53YWl0 X3F1ZXVlKSkKPiAtCQlzZXFfcHJpbnRmKG0sICJXYWl0ZXIgaG9sZGluZyBzdHJ1Y3QgbXV0ZXhc biIpOwo+ICsJCXNlcV9wdXRzKG0sICJXYWl0ZXIgaG9sZGluZyBzdHJ1Y3QgbXV0ZXhcbiIpOwo+ ICAJaWYgKHdhaXRxdWV1ZV9hY3RpdmUoJmRldl9wcml2LT5ncHVfZXJyb3IucmVzZXRfcXVldWUp KQo+IC0JCXNlcV9wcmludGYobSwgInN0cnVjdF9tdXRleCBibG9ja2VkIGZvciByZXNldFxuIik7 Cj4gKwkJc2VxX3B1dHMobSwgInN0cnVjdF9tdXRleCBibG9ja2VkIGZvciByZXNldFxuIik7Cj4g IAo+ICAJaWYgKCFpOTE1LmVuYWJsZV9oYW5nY2hlY2spIHsKPiAtCQlzZXFfcHJpbnRmKG0sICJI YW5nY2hlY2sgZGlzYWJsZWRcbiIpOwo+ICsJCXNlcV9wdXRzKG0sICJIYW5nY2hlY2sgZGlzYWJs ZWRcbiIpOwo+ICAJCXJldHVybiAwOwo+ICAJfQo+ICAKPiBAQCAtNDEyMSw3ICs0MTIzLDcgQEAg aTkxNV93ZWRnZWRfc2V0KHZvaWQgKmRhdGEsIHU2NCB2YWwpCj4gIAkgKiB3aGlsZSBpdCBpcyB3 cml0aW5nIHRvICdpOTE1X3dlZGdlZCcKPiAgCSAqLwo+ICAKPiAtCWlmIChpOTE1X3Jlc2V0X2lu X3Byb2dyZXNzKCZkZXZfcHJpdi0+Z3B1X2Vycm9yKSkKPiArCWlmIChpOTE1X3Jlc2V0X2JhY2tv ZmYoJmRldl9wcml2LT5ncHVfZXJyb3IpKQo+ICAJCXJldHVybiAtRUFHQUlOOwo+ICAKPiAgCWk5 MTVfaGFuZGxlX2Vycm9yKGRldl9wcml2LCB2YWwsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4g aW5kZXggOTE2NDE2N2NkMTQ3Li5iZTNjODEyMjFkMTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiBAQCAtMTgxNSw4ICsxODE1LDkgQEAgdm9pZCBpOTE1X3Jlc2V0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCWludCByZXQ7Cj4gIAo+ICAJbG9ja2RlcF9hc3Nl cnRfaGVsZCgmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICsJR0VNX0JVR19PTighdGVz dF9iaXQoSTkxNV9SRVNFVF9CQUNLT0ZGLCAmZXJyb3ItPmZsYWdzKSk7Cj4gIAo+IC0JaWYgKCF0 ZXN0X2FuZF9jbGVhcl9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywgJmVycm9yLT5mbGFncykp Cj4gKwlpZiAoIXRlc3RfYml0KEk5MTVfUkVTRVRfSEFORE9GRiwgJmVycm9yLT5mbGFncykpCj4g IAkJcmV0dXJuOwo+ICAKPiAgCS8qIENsZWFyIGFueSBwcmV2aW91cyBmYWlsZWQgYXR0ZW1wdHMg YXQgcmVjb3ZlcnkuIFRpbWUgdG8gdHJ5IGFnYWluLiAqLwo+IEBAIC0xODY5LDcgKzE4NzAsOSBA QCB2b2lkIGk5MTVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB3 YWtldXA6Cj4gIAlpOTE1X2dlbV9yZXNldF9maW5pc2goZGV2X3ByaXYpOwo+ICAJZW5hYmxlX2ly cShkZXZfcHJpdi0+ZHJtLmlycSk7Cj4gLQl3YWtlX3VwX2JpdCgmZXJyb3ItPmZsYWdzLCBJOTE1 X1JFU0VUX0lOX1BST0dSRVNTKTsKPiArCj4gKwljbGVhcl9iaXQoSTkxNV9SRVNFVF9IQU5ET0ZG LCAmZXJyb3ItPmZsYWdzKTsKPiArCXdha2VfdXBfYml0KCZlcnJvci0+ZmxhZ3MsIEk5MTVfUkVT RVRfSEFORE9GRik7Cj4gIAlyZXR1cm47Cj4gIAo+ICBlcnJvcjoKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPiBpbmRleCA1MTU2YmNjNTlkZWEuLjBiMDJhNmQ3MTBlMSAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+IEBAIC0xNTk1LDggKzE1OTUsMzMgQEAgc3RydWN0IGk5MTVfZ3B1X2Vy cm9yIHsKPiAgCSAqLwo+ICAJdW5zaWduZWQgbG9uZyByZXNldF9jb3VudDsKPiAgCj4gKwkvKioK PiArCSAqIGZsYWdzOiBDb250cm9sIHZhcmlvdXMgc3RhZ2VzIG9mIHRoZSBHUFUgcmVzZXQKPiAr CSAqCj4gKwkgKiAjSTkxNV9SRVNFVF9CQUNLT0ZGIC0gV2hlbiB3ZSBzdGFydCBhIHJlc2V0LCB3 ZSB3YW50IHRvIHN0b3AgYW55Cj4gKwkgKiBvdGhlciB1c2VycyBhY3F1aXJpbmcgdGhlIHN0cnVj dF9tdXRleC4gVG8gZG8gdGhpcyB3ZSBzZXQgdGhlCj4gKwkgKiAjSTkxNV9SRVNFVF9CQUNLT0ZG IGJpdCBpbiB0aGUgZXJyb3IgZmxhZ3Mgd2hlbiB3ZSBkZXRlY3QgYSByZXNldAo+ICsJICogYW5k IHRoZW4gY2hlY2sgZm9yIHRoYXQgYml0IGJlZm9yZSBhY3F1aXJpbmcgdGhlIHN0cnVjdF9tdXRl eCAoaW4KPiArCSAqIGk5MTVfbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCk/KS4gSTkxNV9SRVNF VF9CQUNLT0ZGIHNlcnZlcyBhCj4gKwkgKiBzZWNvbmRhcnkgcm9sZSBpbiBwcmV2ZW50aW5nIHR3 byBjb25jdXJyZW50IGdsb2JhbCByZXNldCBhdHRlbXB0cy4KPiArCSAqCj4gKwkgKiAjSTkxNV9S RVNFVF9IQU5ET0ZGIC0gVG8gcGVyZm9ybSB0aGUgYWN0dWFsIEdQVSByZXNldCwgd2UgbmVlZCB0 aGUKPiArCSAqIHN0cnVjdF9tdXRleC4gV2UgdHJ5IHRvIGFjcXVpcmUgdGhlIHN0cnVjdF9tdXRl eCBpbiB0aGUgcmVzZXQgd29ya2VyLAo+ICsJICogYnV0IGl0IG1heSBiZSBoZWxkIGJ5IHNvbWUg bG9uZyBydW5uaW5nIHdhaXRlciAodGhhdCB3ZSBjYW5ub3QKPiArCSAqIGludGVycnVwdCB3aXRo b3V0IGNhdXNpbmcgdHJvdWJsZSkuIE9uY2Ugd2UgYXJlIHJlYWR5IHRvIGRvIHRoZSBHUFUKPiAr CSAqIHJlc2V0LCB3ZSBzZXQgdGhlIEk5MTVfUkVTRVRfSEFORE9GRiBiaXQgYW5kIHdha2V1cCBh bnkgd2FpdGVycy4gSWYKPiArCSAqIHRoZXkgYWxyZWFkeSBob2xkIHRoZSBzdHJ1Y3RfbXV0ZXgg YW5kIHdhbnQgdG8gcGFydGljaXBhdGUgdGhleSBjYW4KPiArCSAqIGluc3BlY3QgdGhlIGJpdCBh bmQgZG8gdGhlIHJlc2V0IGRpcmVjdGx5LCBvdGhlcndpc2UgdGhlIHdvcmtlcgo+ICsJICogd2Fp dHMgZm9yIHRoZSBzdHJ1Y3RfbXV0ZXguCj4gKwkgKgo+ICsJICogI0k5MTVfV0VER0VEIC0gSWYg cmVzZXQgZmFpbHMgYW5kIHdlIGNhbiBubyBsb25nZXIgdXNlIHRoZSBHUFUsCj4gKwkgKiB3ZSBz ZXQgdGhlICNJOTE1X1dFREdFRCBiaXQuIFByaW9yIHRvIGNvbW1hbmQgc3VibWlzc2lvbiwgZS5n Lgo+ICsJICogaTkxNV9nZW1fcmVxdWVzdF9hbGxvYygpLCB0aGlzIGJpdCBpcyBjaGVja2VkIGFu ZCB0aGUgc2VxdWVuY2UKPiArCSAqIGFib3J0ZWQgKHdpdGggLUVJTyByZXBvcnRlZCB0byB1c2Vy c3BhY2UpIGlmIHNldC4KPiArCSAqLwo+ICAJdW5zaWduZWQgbG9uZyBmbGFnczsKPiAtI2RlZmlu ZSBJOTE1X1JFU0VUX0lOX1BST0dSRVNTCTAKPiArI2RlZmluZSBJOTE1X1JFU0VUX0JBQ0tPRkYJ MAo+ICsjZGVmaW5lIEk5MTVfUkVTRVRfSEFORE9GRgkxCj4gICNkZWZpbmUgSTkxNV9XRURHRUQJ CShCSVRTX1BFUl9MT05HIC0gMSkKPiAgCj4gIAkvKioKPiBAQCAtMzM4Nyw5ICszNDEyLDE0IEBA IGk5MTVfZ2VtX2ZpbmRfYWN0aXZlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKTsKPiAgCj4gIHZvaWQgaTkxNV9nZW1fcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gIAo+IC1zdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9yZXNl dF9pbl9wcm9ncmVzcyhzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yKQo+ICtzdGF0aWMgaW5s aW5lIGJvb2wgaTkxNV9yZXNldF9iYWNrb2ZmKHN0cnVjdCBpOTE1X2dwdV9lcnJvciAqZXJyb3Ip Cj4gK3sKPiArCXJldHVybiB1bmxpa2VseSh0ZXN0X2JpdChJOTE1X1JFU0VUX0JBQ0tPRkYsICZl cnJvci0+ZmxhZ3MpKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBib29sIGk5MTVfcmVzZXRf aGFuZG9mZihzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yKQo+ICB7Cj4gLQlyZXR1cm4gdW5s aWtlbHkodGVzdF9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywgJmVycm9yLT5mbGFncykpOwo+ ICsJcmV0dXJuIHVubGlrZWx5KHRlc3RfYml0KEk5MTVfUkVTRVRfSEFORE9GRiwgJmVycm9yLT5m bGFncykpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV90ZXJtaW5hbGx5X3dl ZGdlZChzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yKQo+IEBAIC0zMzk3LDkgKzM0MjcsOSBA QCBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV90ZXJtaW5hbGx5X3dlZGdlZChzdHJ1Y3QgaTkxNV9n cHVfZXJyb3IgKmVycm9yKQo+ICAJcmV0dXJuIHVubGlrZWx5KHRlc3RfYml0KEk5MTVfV0VER0VE LCAmZXJyb3ItPmZsYWdzKSk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3Jl c2V0X2luX3Byb2dyZXNzX29yX3dlZGdlZChzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yKQo+ ICtzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9yZXNldF9iYWNrb2ZmX29yX3dlZGdlZChzdHJ1Y3Qg aTkxNV9ncHVfZXJyb3IgKmVycm9yKQo+ICB7Cj4gLQlyZXR1cm4gaTkxNV9yZXNldF9pbl9wcm9n cmVzcyhlcnJvcikgfCBpOTE1X3Rlcm1pbmFsbHlfd2VkZ2VkKGVycm9yKTsKPiArCXJldHVybiBp OTE1X3Jlc2V0X2JhY2tvZmYoZXJyb3IpIHwgaTkxNV90ZXJtaW5hbGx5X3dlZGdlZChlcnJvcik7 Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbmxpbmUgdTMyIGk5MTVfcmVzZXRfY291bnQoc3RydWN0IGk5 MTVfZ3B1X2Vycm9yICplcnJvcikKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBpbmRleCBkODc5 ODNiYTUzNmYuLmVjZDFiMDM4MzE4YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IEBA IC0xMDMsMTYgKzEwMywxMyBAQCBpOTE1X2dlbV93YWl0X2Zvcl9lcnJvcihzdHJ1Y3QgaTkxNV9n cHVfZXJyb3IgKmVycm9yKQo+ICAKPiAgCW1pZ2h0X3NsZWVwKCk7Cj4gIAo+IC0JaWYgKCFpOTE1 X3Jlc2V0X2luX3Byb2dyZXNzKGVycm9yKSkKPiAtCQlyZXR1cm4gMDsKPiAtCj4gIAkvKgo+ICAJ ICogT25seSB3YWl0IDEwIHNlY29uZHMgZm9yIHRoZSBncHUgcmVzZXQgdG8gY29tcGxldGUgdG8g YXZvaWQgaGFuZ2luZwo+ICAJICogdXNlcnNwYWNlLiBJZiBpdCB0YWtlcyB0aGF0IGxvbmcgc29t ZXRoaW5nIHJlYWxseSBiYWQgaXMgZ29pbmcgb24gYW5kCj4gIAkgKiB3ZSBzaG91bGQgc2ltcGx5 IHRyeSB0byBiYWlsIG91dCBhbmQgZmFpbCBhcyBncmFjZWZ1bGx5IGFzIHBvc3NpYmxlLgo+ICAJ ICovCj4gIAlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChlcnJvci0+cmVz ZXRfcXVldWUsCj4gLQkJCQkJICAgICAgICFpOTE1X3Jlc2V0X2luX3Byb2dyZXNzKGVycm9yKSwK PiArCQkJCQkgICAgICAgIWk5MTVfcmVzZXRfYmFja29mZihlcnJvciksCj4gIAkJCQkJICAgICAg IEk5MTVfUkVTRVRfVElNRU9VVCk7Cj4gIAlpZiAocmV0ID09IDApIHsKPiAgCQlEUk1fRVJST1Io IlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aGUgZ3B1IHJlc2V0IHRvIGNvbXBsZXRlXG4iKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCj4gaW5kZXggMWUxZDlmMjA3MmNk Li4wZThkMTAxMGNlY2IgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVz dC5jCj4gQEAgLTEwMTIsNyArMTAxMiw3IEBAIGJvb2wgX19pOTE1X3NwaW5fcmVxdWVzdChjb25z dCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAgCj4gIHN0YXRpYyBib29sIF9f aTkxNV93YWl0X3JlcXVlc3RfY2hlY2tfYW5kX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxdWVzdCkKPiAgewo+IC0JaWYgKGxpa2VseSghaTkxNV9yZXNldF9pbl9wcm9ncmVz cygmcmVxdWVzdC0+aTkxNS0+Z3B1X2Vycm9yKSkpCj4gKwlpZiAobGlrZWx5KCFpOTE1X3Jlc2V0 X2hhbmRvZmYoJnJlcXVlc3QtPmk5MTUtPmdwdV9lcnJvcikpKQo+ICAJCXJldHVybiBmYWxzZTsK PiAgCj4gIAlfX3NldF9jdXJyZW50X3N0YXRlKFRBU0tfUlVOTklORyk7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCj4gaW5kZXggZTY0NmM0ZWJhNjVkLi40OTVlNmE3OWNhY2YgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfaXJxLmMKPiBAQCAtMjYzMSwyMiArMjYzMSw2IEBAIHN0YXRpYyBpcnFyZXR1 cm5fdCBnZW44X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCXJldHVybiByZXQ7 Cj4gIH0KPiAgCj4gLXN0YXRpYyB2b2lkIGk5MTVfZXJyb3Jfd2FrZV91cChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gLXsKPiAtCS8qCj4gLQkgKiBOb3RpZnkgYWxsIHdhaXRl cnMgZm9yIEdQVSBjb21wbGV0aW9uIGV2ZW50cyB0aGF0IHJlc2V0IHN0YXRlIGhhcwo+IC0JICog YmVlbiBjaGFuZ2VkLCBhbmQgdGhhdCB0aGV5IG5lZWQgdG8gcmVzdGFydCB0aGVpciB3YWl0IGFm dGVyCj4gLQkgKiBjaGVja2luZyBmb3IgcG90ZW50aWFsIGVycm9ycyAoYW5kIGJhaWwgb3V0IHRv IGRyb3AgbG9ja3MgaWYgdGhlcmUgaXMKPiAtCSAqIGEgZ3B1IHJlc2V0IHBlbmRpbmcgc28gdGhh dCBpOTE1X2Vycm9yX3dvcmtfZnVuYyBjYW4gYWNxdWlyZSB0aGVtKS4KPiAtCSAqLwo+IC0KPiAt CS8qIFdha2UgdXAgX193YWl0X3NlcW5vLCBwb3RlbnRpYWxseSBob2xkaW5nIGRldi0+c3RydWN0 X211dGV4LiAqLwo+IC0Jd2FrZV91cF9hbGwoJmRldl9wcml2LT5ncHVfZXJyb3Iud2FpdF9xdWV1 ZSk7Cj4gLQo+IC0JLyogV2FrZSB1cCBpbnRlbF9jcnRjX3dhaXRfZm9yX3BlbmRpbmdfZmxpcHMs IGhvbGRpbmcgY3J0Yy0+bXV0ZXguICovCj4gLQl3YWtlX3VwX2FsbCgmZGV2X3ByaXYtPnBlbmRp bmdfZmxpcF9xdWV1ZSk7Cj4gLX0KPiAtCj4gIC8qKgo+ICAgKiBpOTE1X3Jlc2V0X2FuZF93YWtl dXAgLSBkbyBwcm9jZXNzIGNvbnRleHQgZXJyb3IgaGFuZGxpbmcgd29yawo+ICAgKiBAZGV2X3By aXY6IGk5MTUgZGV2aWNlIHByaXZhdGUKPiBAQCAtMjY3Niw2ICsyNjYwLDkgQEAgc3RhdGljIHZv aWQgaTkxNV9yZXNldF9hbmRfd2FrZXVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKPiAgCWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPiAgCWludGVsX3ByZXBhcmVf cmVzZXQoZGV2X3ByaXYpOwo+ICAKPiArCXNldF9iaXQoSTkxNV9SRVNFVF9IQU5ET0ZGLCAmZGV2 X3ByaXYtPmdwdV9lcnJvci5mbGFncyk7Cj4gKwl3YWtlX3VwX2FsbCgmZGV2X3ByaXYtPmdwdV9l cnJvci53YWl0X3F1ZXVlKTsKPiArCj4gIAlkbyB7Cj4gIAkJLyoKPiAgCQkgKiBBbGwgc3RhdGUg cmVzZXQgX211c3RfIGJlIGNvbXBsZXRlZCBiZWZvcmUgd2UgdXBkYXRlIHRoZQo+IEBAIC0yNjkw LDcgKzI2NzcsNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3Jlc2V0X2FuZF93YWtldXAoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAKPiAgCQkvKiBXZSBuZWVkIHRvIHdhaXQgZm9y IGFueW9uZSBob2xkaW5nIHRoZSBsb2NrIHRvIHdha2V1cCAqLwo+ICAJfSB3aGlsZSAod2FpdF9v bl9iaXRfdGltZW91dCgmZGV2X3ByaXYtPmdwdV9lcnJvci5mbGFncywKPiAtCQkJCSAgICAgSTkx NV9SRVNFVF9JTl9QUk9HUkVTUywKPiArCQkJCSAgICAgSTkxNV9SRVNFVF9IQU5ET0ZGLAo+ICAJ CQkJICAgICBUQVNLX1VOSU5URVJSVVBUSUJMRSwKPiAgCQkJCSAgICAgSFopKTsKPiAgCj4gQEAg LTI3MDUsNiArMjY5Miw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfcmVzZXRfYW5kX3dha2V1cChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkgKiBOb3RlOiBUaGUgd2FrZV91cCBh bHNvIHNlcnZlcyBhcyBhIG1lbW9yeSBiYXJyaWVyIHNvIHRoYXQKPiAgCSAqIHdhaXRlcnMgc2Vl IHRoZSB1cGRhdGVkIHZhbHVlIG9mIHRoZSBkZXZfcHJpdi0+Z3B1X2Vycm9yLgo+ICAJICovCj4g KwljbGVhcl9iaXQoSTkxNV9SRVNFVF9CQUNLT0ZGLCAmZGV2X3ByaXYtPmdwdV9lcnJvci5mbGFn cyk7Cj4gIAl3YWtlX3VwX2FsbCgmZGV2X3ByaXYtPmdwdV9lcnJvci5yZXNldF9xdWV1ZSk7Cj4g IH0KPiAgCj4gQEAgLTI3ODgsMjQgKzI3NzYsMTAgQEAgdm9pZCBpOTE1X2hhbmRsZV9lcnJvcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlpZiAoIWVuZ2luZV9tYXNrKQo+ ICAJCXJldHVybjsKPiAgCj4gLQlpZiAodGVzdF9hbmRfc2V0X2JpdChJOTE1X1JFU0VUX0lOX1BS T0dSRVNTLAo+ICsJaWYgKHRlc3RfYW5kX3NldF9iaXQoSTkxNV9SRVNFVF9CQUNLT0ZGLAo+ICAJ CQkgICAgICZkZXZfcHJpdi0+Z3B1X2Vycm9yLmZsYWdzKSkKPiAgCQlyZXR1cm47Cj4gIAo+IC0J LyoKPiAtCSAqIFdha2V1cCB3YWl0aW5nIHByb2Nlc3NlcyBzbyB0aGF0IHRoZSByZXNldCBmdW5j dGlvbgo+IC0JICogaTkxNV9yZXNldF9hbmRfd2FrZXVwIGRvZXNuJ3QgZGVhZGxvY2sgdHJ5aW5n IHRvIGdyYWIKPiAtCSAqIHZhcmlvdXMgbG9ja3MuIEJ5IGJ1bXBpbmcgdGhlIHJlc2V0IGNvdW50 ZXIgZmlyc3QsIHRoZSB3b2tlbgo+IC0JICogcHJvY2Vzc2VzIHdpbGwgc2VlIGEgcmVzZXQgaW4g cHJvZ3Jlc3MgYW5kIGJhY2sgb2ZmLAo+IC0JICogcmVsZWFzaW5nIHRoZWlyIGxvY2tzIGFuZCB0 aGVuIHdhaXQgZm9yIHRoZSByZXNldCBjb21wbGV0aW9uLgo+IC0JICogV2UgbXVzdCBkbyB0aGlz IGZvciBfYWxsXyBncHUgd2FpdGVycyB0aGF0IG1pZ2h0IGhvbGQgbG9ja3MKPiAtCSAqIHRoYXQg dGhlIHJlc2V0IHdvcmsgbmVlZHMgdG8gYWNxdWlyZS4KPiAtCSAqCj4gLQkgKiBOb3RlOiBUaGUg d2FrZV91cCBhbHNvIHByb3ZpZGVzIGEgbWVtb3J5IGJhcnJpZXIgdG8gZW5zdXJlIHRoYXQgdGhl Cj4gLQkgKiB3YWl0ZXJzIHNlZSB0aGUgdXBkYXRlZCB2YWx1ZSBvZiB0aGUgcmVzZXQgZmxhZ3Mu Cj4gLQkgKi8KPiAtCWk5MTVfZXJyb3Jfd2FrZV91cChkZXZfcHJpdik7Cj4gLQo+ICAJaTkxNV9y ZXNldF9hbmRfd2FrZXVwKGRldl9wcml2KTsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gaW5kZXggNGI3MzUxM2I0NmMxLi41OTU5YzliNmRjOTcgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTM2MzksNyArMzYzOSw3IEBAIHN0 YXRpYyBib29sIGFib3J0X2ZsaXBfb25fcmVzZXQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4g IHsKPiAgCXN0cnVjdCBpOTE1X2dwdV9lcnJvciAqZXJyb3IgPSAmdG9faTkxNShjcnRjLT5iYXNl LmRldiktPmdwdV9lcnJvcjsKPiAgCj4gLQlpZiAoaTkxNV9yZXNldF9pbl9wcm9ncmVzcyhlcnJv cikpCj4gKwlpZiAoaTkxNV9yZXNldF9iYWNrb2ZmKGVycm9yKSkKPiAgCQlyZXR1cm4gdHJ1ZTsK PiAgCj4gIAlpZiAoY3J0Yy0+cmVzZXRfY291bnQgIT0gaTkxNV9yZXNldF9jb3VudChlcnJvcikp Cj4gQEAgLTEwNTk1LDcgKzEwNTk1LDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxp cChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJZ290byBjbGVhbnVwOwo+ICAKPiAgCWludGVs X2NydGMtPnJlc2V0X2NvdW50ID0gaTkxNV9yZXNldF9jb3VudCgmZGV2X3ByaXYtPmdwdV9lcnJv cik7Cj4gLQlpZiAoaTkxNV9yZXNldF9pbl9wcm9ncmVzc19vcl93ZWRnZWQoJmRldl9wcml2LT5n cHVfZXJyb3IpKSB7Cj4gKwlpZiAoaTkxNV9yZXNldF9iYWNrb2ZmX29yX3dlZGdlZCgmZGV2X3By aXYtPmdwdV9lcnJvcikpIHsKPiAgCQlyZXQgPSAtRUlPOwo+ICAJCWdvdG8gdW5sb2NrOwo+ICAJ fQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFu Z2NoZWNrLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFuZ2NoZWNr LmMKPiBpbmRleCBkNGFjZWU2NzMwZTkuLjZlYzdjNzMxYTI2NyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFuZ2NoZWNrLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfaGFuZ2NoZWNrLmMKPiBAQCAtMzAxLDcg KzMwMSw4IEBAIHN0YXRpYyBpbnQgaWd0X2dsb2JhbF9yZXNldCh2b2lkICphcmcpCj4gIAo+ICAJ LyogQ2hlY2sgdGhhdCB3ZSBjYW4gaXNzdWUgYSBnbG9iYWwgR1BVIHJlc2V0ICovCj4gIAo+IC0J c2V0X2JpdChJOTE1X1JFU0VUX0lOX1BST0dSRVNTLCAmaTkxNS0+Z3B1X2Vycm9yLmZsYWdzKTsK PiArCXNldF9iaXQoSTkxNV9SRVNFVF9CQUNLT0ZGLCAmaTkxNS0+Z3B1X2Vycm9yLmZsYWdzKTsK PiArCXNldF9iaXQoSTkxNV9SRVNFVF9IQU5ET0ZGLCAmaTkxNS0+Z3B1X2Vycm9yLmZsYWdzKTsK PiAgCj4gIAltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiAgCXJlc2V0X2Nv dW50ID0gaTkxNV9yZXNldF9jb3VudCgmaTkxNS0+Z3B1X2Vycm9yKTsKPiBAQCAtMzE0LDcgKzMx NSw4IEBAIHN0YXRpYyBpbnQgaWd0X2dsb2JhbF9yZXNldCh2b2lkICphcmcpCj4gIAl9Cj4gIAlt dXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+ICAKPiAtCUdFTV9CVUdfT04o dGVzdF9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywgJmk5MTUtPmdwdV9lcnJvci5mbGFncykp Owo+ICsJR0VNX0JVR19PTih0ZXN0X2JpdChJOTE1X1JFU0VUX0hBTkRPRkYsICZpOTE1LT5ncHVf ZXJyb3IuZmxhZ3MpKTsKPiArCWNsZWFyX2JpdChJOTE1X1JFU0VUX0JBQ0tPRkYsICZpOTE1LT5n cHVfZXJyb3IuZmxhZ3MpOwo+ICAJaWYgKGk5MTVfdGVybWluYWxseV93ZWRnZWQoJmk5MTUtPmdw dV9lcnJvcikpCj4gIAkJZXJyID0gLUVJTzsKPiAgCj4gQEAgLTMzMCw3ICszMzIsNyBAQCBzdGF0 aWMgdTMyIGZha2VfaGFuZ2NoZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCj4g IAo+ICAJcmVzZXRfY291bnQgPSBpOTE1X3Jlc2V0X2NvdW50KCZycS0+aTkxNS0+Z3B1X2Vycm9y KTsKPiAgCj4gLQlzZXRfYml0KEk5MTVfUkVTRVRfSU5fUFJPR1JFU1MsICZycS0+aTkxNS0+Z3B1 X2Vycm9yLmZsYWdzKTsKPiArCXNldF9iaXQoSTkxNV9SRVNFVF9IQU5ET0ZGLCAmcnEtPmk5MTUt PmdwdV9lcnJvci5mbGFncyk7Cj4gIAl3YWtlX3VwX2FsbCgmcnEtPmk5MTUtPmdwdV9lcnJvci53 YWl0X3F1ZXVlKTsKPiAgCj4gIAlyZXR1cm4gcmVzZXRfY291bnQ7Cj4gQEAgLTM1Nyw3ICszNTks NyBAQCBzdGF0aWMgaW50IGlndF93YWl0X3Jlc2V0KHZvaWQgKmFyZykKPiAgCj4gIAkvKiBDaGVj ayB0aGF0IHdlIGRldGVjdCBhIHN0dWNrIHdhaXRlciBhbmQgaXNzdWUgYSByZXNldCAqLwo+ICAK PiAtCXNldF9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywgJmk5MTUtPmdwdV9lcnJvci5mbGFn cyk7Cj4gKwlzZXRfYml0KEk5MTVfUkVTRVRfQkFDS09GRiwgJmk5MTUtPmdwdV9lcnJvci5mbGFn cyk7Cj4gIAo+ICAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gIAllcnIg PSBoYW5nX2luaXQoJmgsIGk5MTUpOwo+IEBAIC0zODgsOCArMzkwLDggQEAgc3RhdGljIGludCBp Z3Rfd2FpdF9yZXNldCh2b2lkICphcmcpCj4gIAkJZXJyID0gdGltZW91dDsKPiAgCQlnb3RvIG91 dF9ycTsKPiAgCX0KPiAtCUdFTV9CVUdfT04odGVzdF9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVT UywgJmk5MTUtPmdwdV9lcnJvci5mbGFncykpOwo+ICAKPiArCUdFTV9CVUdfT04odGVzdF9iaXQo STkxNV9SRVNFVF9IQU5ET0ZGLCAmaTkxNS0+Z3B1X2Vycm9yLmZsYWdzKSk7Cj4gIAlpZiAoaTkx NV9yZXNldF9jb3VudCgmaTkxNS0+Z3B1X2Vycm9yKSA9PSByZXNldF9jb3VudCkgewo+ICAJCXBy X2VycigiTm8gR1BVIHJlc2V0IHJlY29yZGVkIVxuIik7Cj4gIAkJZXJyID0gLUVJTlZBTDsKPiBA QCAtNDAyLDYgKzQwNCw3IEBAIHN0YXRpYyBpbnQgaWd0X3dhaXRfcmVzZXQodm9pZCAqYXJnKQo+ ICAJaGFuZ19maW5pKCZoKTsKPiAgdW5sb2NrOgo+ICAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0u c3RydWN0X211dGV4KTsKPiArCWNsZWFyX2JpdChJOTE1X1JFU0VUX0JBQ0tPRkYsICZpOTE1LT5n cHVfZXJyb3IuZmxhZ3MpOwo+ICAKPiAgCWlmIChpOTE1X3Rlcm1pbmFsbHlfd2VkZ2VkKCZpOTE1 LT5ncHVfZXJyb3IpKQo+ICAJCXJldHVybiAtRUlPOwo+IEBAIC00MjIsNiArNDI1LDcgQEAgc3Rh dGljIGludCBpZ3RfcmVzZXRfcXVldWUodm9pZCAqYXJnKQo+ICAJaWYgKCFpZ3RfY2FuX21pX3N0 b3JlX2R3b3JkX2ltbShpOTE1KSkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gKwlzZXRfYml0KEk5MTVf UkVTRVRfQkFDS09GRiwgJmk5MTUtPmdwdV9lcnJvci5mbGFncyk7Cj4gIAltdXRleF9sb2NrKCZp OTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiAgCWVyciA9IGhhbmdfaW5pdCgmaCwgaTkxNSk7Cj4g IAlpZiAoZXJyKQo+IEBAIC00NzAsOCArNDc0LDkgQEAgc3RhdGljIGludCBpZ3RfcmVzZXRfcXVl dWUodm9pZCAqYXJnKQo+ICAKPiAgCQkJaTkxNV9yZXNldChpOTE1KTsKPiAgCj4gLQkJCUdFTV9C VUdfT04odGVzdF9iaXQoSTkxNV9SRVNFVF9JTl9QUk9HUkVTUywKPiArCQkJR0VNX0JVR19PTih0 ZXN0X2JpdChJOTE1X1JFU0VUX0hBTkRPRkYsCj4gIAkJCQkJICAgICZpOTE1LT5ncHVfZXJyb3Iu ZmxhZ3MpKTsKPiArCj4gIAkJCWlmIChwcmV2LT5mZW5jZS5lcnJvciAhPSAtRUlPKSB7Cj4gIAkJ CQlwcl9lcnIoIkdQVSByZXNldCBub3QgcmVjb3JkZWQgb24gaGFuZ2luZyByZXF1ZXN0IFtmZW5j ZS5lcnJvcj0lZF0hXG4iLAo+ICAJCQkJICAgICAgIHByZXYtPmZlbmNlLmVycm9yKTsKPiBAQCAt NTE0LDYgKzUxOSw3IEBAIHN0YXRpYyBpbnQgaWd0X3Jlc2V0X3F1ZXVlKHZvaWQgKmFyZykKPiAg CWhhbmdfZmluaSgmaCk7Cj4gIHVubG9jazoKPiAgCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0 cnVjdF9tdXRleCk7Cj4gKwljbGVhcl9iaXQoSTkxNV9SRVNFVF9CQUNLT0ZGLCAmaTkxNS0+Z3B1 X2Vycm9yLmZsYWdzKTsKPiAgCj4gIAlpZiAoaTkxNV90ZXJtaW5hbGx5X3dlZGdlZCgmaTkxNS0+ Z3B1X2Vycm9yKSkKPiAgCQlyZXR1cm4gLUVJTzsKPiAtLSAKPiAyLjExLjAKPgo+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK