From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 32/33] drm/i915: Rename i915_timeline to intel_timeline and move under gt Date: Wed, 19 Jun 2019 14:24:58 +0100 Message-ID: <20190619132459.25351-33-tvrtko.ursulin@linux.intel.com> References: <20190619132459.25351-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 425F56E3F2 for ; Wed, 19 Jun 2019 13:26:02 +0000 (UTC) In-Reply-To: <20190619132459.25351-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk1vdmUgYWxs IHRpbWVsaW5lIGNvZGUgdW5kZXIgZ3QgYW5kIHJlbmFtZSB0byBpbnRlbF9ndCBwcmVmaXguCgpT aWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpT dWdnZXN0ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpSZXZp ZXdlZC1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICAgIHwgICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZS5oZWFkZXItdGVzdCAgICAgfCAgIDEgLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyAgIHwgIDEwICstCiAuLi4vZ3B1 L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmggfCAgIDQgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5jICAgICAgICB8ICAgMiArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lLmggICAgICAgIHwgICA0ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYyAgICAgfCAgMTQgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV90eXBlcy5oICB8ICAgNCArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgIDEwICstCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yZXNldC5jICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYyAgICB8ICAxOCArLS0KIC4uLi97aTkxNV90aW1l bGluZS5jID0+IGd0L2ludGVsX3RpbWVsaW5lLmN9ICB8IDEwOCArKysrKysrKy0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5oICAgICAgfCAgOTMgKysrKysr KysrKysrKwogLi4uL2ludGVsX3RpbWVsaW5lX3R5cGVzLmh9ICAgICAgICAgICAgICAgICAgIHwg ICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jICAgICAgICAgfCAg MTAgKy0KIC4uLi9zZWxmdGVzdF90aW1lbGluZS5jfSAgICAgICAgICAgICAgICAgICAgICB8IDEy MiArKysrKysrKystLS0tLS0tLS0KIC4uLi9pOTE1L3sgPT4gZ3R9L3NlbGZ0ZXN0cy9tb2NrX3Rp bWVsaW5lLmMgICB8ICAgNiArLQogLi4uL2k5MTUveyA9PiBndH0vc2VsZnRlc3RzL21vY2tfdGlt ZWxpbmUuaCAgIHwgICA2ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAg ICAgICAgICAgfCAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAg ICAgICAgICB8ICAgOCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAg ICAgICAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyAgICAg ICAgICAgfCAgMTQgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5oICAgICAg ICAgICB8ICAgOCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5oICAgICAg ICAgIHwgIDkzIC0tLS0tLS0tLS0tLS0KIC4uLi9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZl X3NlbGZ0ZXN0cy5oICB8ICAgMiArLQogLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tf c2VsZnRlc3RzLmggIHwgICAyICstCiAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dl bV9kZXZpY2UuYyAgfCAgIDYgKy0KIDI3IGZpbGVzIGNoYW5nZWQsIDI3OSBpbnNlcnRpb25zKCsp LCAyODAgZGVsZXRpb25zKC0pCiByZW5hbWUgZHJpdmVycy9ncHUvZHJtL2k5MTUve2k5MTVfdGlt ZWxpbmUuYyA9PiBndC9pbnRlbF90aW1lbGluZS5jfSAoODIlKQogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmgKIHJlbmFtZSBkcml2ZXJz L2dwdS9kcm0vaTkxNS97aTkxNV90aW1lbGluZV90eXBlcy5oID0+IGd0L2ludGVsX3RpbWVsaW5l X3R5cGVzLmh9ICg5MyUpCiByZW5hbWUgZHJpdmVycy9ncHUvZHJtL2k5MTUve3NlbGZ0ZXN0cy9p OTE1X3RpbWVsaW5lLmMgPT4gZ3Qvc2VsZnRlc3RfdGltZWxpbmUuY30gKDg3JSkKIHJlbmFtZSBk cml2ZXJzL2dwdS9kcm0vaTkxNS97ID0+IGd0fS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jICg3 MiUpCiByZW5hbWUgZHJpdmVycy9ncHUvZHJtL2k5MTUveyA9PiBndH0vc2VsZnRlc3RzL21vY2tf dGltZWxpbmUuaCAoNTMlKQogZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdGltZWxpbmUuaAoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2Vm aWxlIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKaW5kZXggMTlmOGI2NzQ1NzcyLi44 NGFjMGZkMWI4ZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCkBAIC04Miw2ICs4Miw3IEBAIGd0LXkg Kz0gXAogCWd0L2ludGVsX3JpbmdidWZmZXIubyBcCiAJZ3QvaW50ZWxfbW9jcy5vIFwKIAlndC9p bnRlbF9zc2V1Lm8gXAorCWd0L2ludGVsX3RpbWVsaW5lLm8gXAogCWd0L2ludGVsX3dvcmthcm91 bmRzLm8KIGd0LSQoQ09ORklHX0RSTV9JOTE1X1NFTEZURVNUKSArPSBcCiAJZ3QvbW9ja19lbmdp bmUubwpAQCAtMTI3LDcgKzEyOCw2IEBAIGk5MTUteSArPSBcCiAJICBpOTE1X3F1ZXJ5Lm8gXAog CSAgaTkxNV9yZXF1ZXN0Lm8gXAogCSAgaTkxNV9zY2hlZHVsZXIubyBcCi0JICBpOTE1X3RpbWVs aW5lLm8gXAogCSAgaTkxNV90cmFjZV9wb2ludHMubyBcCiAJICBpOTE1X3ZtYS5vIFwKIAkgIGlu dGVsX3dvcGNtLm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlLmhl YWRlci10ZXN0IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUuaGVhZGVyLXRlc3QKaW5k ZXggZTZiYTY2Zjc4N2Y5Li4wODliMTRiMDczN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L01ha2VmaWxlLmhlYWRlci10ZXN0CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01h a2VmaWxlLmhlYWRlci10ZXN0CkBAIC0xMSw3ICsxMSw2IEBAIGhlYWRlcl90ZXN0IDo9IFwKIAlp OTE1X3ByaW9saXN0X3R5cGVzLmggXAogCWk5MTVfcmVnLmggXAogCWk5MTVfc2NoZWR1bGVyX3R5 cGVzLmggXAotCWk5MTVfdGltZWxpbmVfdHlwZXMuaCBcCiAJaTkxNV91dGlscy5oIFwKIAlpbnRl bF9jc3IuaCBcCiAJaW50ZWxfZHJ2LmggXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9jb250ZXh0LmMKaW5kZXggMWExZjZjYTE5YTg3Li5lMjQ0ZmZhZGZlZTEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMzE2LDcgKzMxNiw3 IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fY29u dGV4dCAqY3R4KQogCW11dGV4X2Rlc3Ryb3koJmN0eC0+ZW5naW5lc19tdXRleCk7CiAKIAlpZiAo Y3R4LT50aW1lbGluZSkKLQkJaTkxNV90aW1lbGluZV9wdXQoY3R4LT50aW1lbGluZSk7CisJCWlu dGVsX3RpbWVsaW5lX3B1dChjdHgtPnRpbWVsaW5lKTsKIAogCWtmcmVlKGN0eC0+bmFtZSk7CiAJ cHV0X3BpZChjdHgtPnBpZCk7CkBAIC01MjgsOSArNTI4LDkgQEAgaTkxNV9nZW1fY3JlYXRlX2Nv bnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1bnNpZ25lZCBpbnQgZmxh Z3MpCiAJfQogCiAJaWYgKGZsYWdzICYgSTkxNV9DT05URVhUX0NSRUFURV9GTEFHU19TSU5HTEVf VElNRUxJTkUpIHsKLQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lOworCQlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCi0JCXRpbWVsaW5lID0gaTkxNV90aW1lbGluZV9j cmVhdGUoJmRldl9wcml2LT5ndCwgTlVMTCk7CisJCXRpbWVsaW5lID0gaW50ZWxfdGltZWxpbmVf Y3JlYXRlKCZkZXZfcHJpdi0+Z3QsIE5VTEwpOwogCQlpZiAoSVNfRVJSKHRpbWVsaW5lKSkgewog CQkJY29udGV4dF9jbG9zZShjdHgpOwogCQkJcmV0dXJuIEVSUl9DQVNUKHRpbWVsaW5lKTsKQEAg LTIwMTUsOCArMjAxNSw4IEBAIHN0YXRpYyBpbnQgY2xvbmVfdGltZWxpbmUoc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmRzdCwKIAkJR0VNX0JVR19PTihzcmMtPnRpbWVsaW5lID09IGRzdC0+dGlt ZWxpbmUpOwogCiAJCWlmIChkc3QtPnRpbWVsaW5lKQotCQkJaTkxNV90aW1lbGluZV9wdXQoZHN0 LT50aW1lbGluZSk7Ci0JCWRzdC0+dGltZWxpbmUgPSBpOTE1X3RpbWVsaW5lX2dldChzcmMtPnRp bWVsaW5lKTsKKwkJCWludGVsX3RpbWVsaW5lX3B1dChkc3QtPnRpbWVsaW5lKTsKKwkJZHN0LT50 aW1lbGluZSA9IGludGVsX3RpbWVsaW5lX2dldChzcmMtPnRpbWVsaW5lKTsKIAl9CiAKIAlyZXR1 cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250 ZXh0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90 eXBlcy5oCmluZGV4IGNjNTEzNDEwZWVlZi4uMGVlNjE0ODJlZjk0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dF90eXBlcy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9jb250ZXh0X3R5cGVzLmgKQEAgLTI2LDcgKzI2 LDcgQEAgc3RydWN0IHBpZDsKIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlOwogc3RydWN0IGRybV9p OTE1X2ZpbGVfcHJpdmF0ZTsKIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2U7Ci1zdHJ1Y3QgaTkx NV90aW1lbGluZTsKK3N0cnVjdCBpbnRlbF90aW1lbGluZTsKIHN0cnVjdCBpbnRlbF9yaW5nOwog CiBzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyB7CkBAIC03Nyw3ICs3Nyw3IEBAIHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0IHsKIAlzdHJ1Y3QgaTkxNV9nZW1fZW5naW5lcyBfX3JjdSAqZW5naW5lczsK IAlzdHJ1Y3QgbXV0ZXggZW5naW5lc19tdXRleDsgLyogZ3VhcmRzIHdyaXRlcyB0byBlbmdpbmVz ICovCiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGludGVsX3Rp bWVsaW5lICp0aW1lbGluZTsKIAogCS8qKgogCSAqIEB2bTogdW5pcXVlIGFkZHJlc3Mgc3BhY2Ug KEdUVCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BtLmMKaW5kZXggMDUwMTFkNGEz Yjg4Li44ZjcyMWNmMGFiOTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9p OTE1X2dlbV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5j CkBAIC0zOCw3ICszOCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3Bhcmsoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiAJCWk5MTVfZ2VtX2JhdGNoX3Bvb2xfZmluaSgmZW5naW5lLT5i YXRjaF9wb29sKTsKIAl9CiAKLQlpOTE1X3RpbWVsaW5lc19wYXJrKGk5MTUpOworCWludGVsX3Rp bWVsaW5lc19wYXJrKGk5MTUpOwogCWk5MTVfdm1hX3BhcmtlZChpOTE1KTsKIAogCWk5MTVfZ2xv YmFsc19wYXJrKCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZS5oCmluZGV4IDJm MWM2ODcxZWU5NS4uZmE1NTE2NGIwOWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9lbmdpbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmUuaApAQCAtMTQsNyArMTQsNyBAQAogI2luY2x1ZGUgImk5MTVfcmVnLmgiCiAjaW5jbHVk ZSAiaTkxNV9yZXF1ZXN0LmgiCiAjaW5jbHVkZSAiaTkxNV9zZWxmdGVzdC5oIgotI2luY2x1ZGUg Imk5MTVfdGltZWxpbmUuaCIKKyNpbmNsdWRlICJndC9pbnRlbF90aW1lbGluZS5oIgogI2luY2x1 ZGUgImludGVsX2VuZ2luZV90eXBlcy5oIgogI2luY2x1ZGUgImludGVsX2dwdV9jb21tYW5kcy5o IgogI2luY2x1ZGUgImludGVsX3dvcmthcm91bmRzLmgiCkBAIC0yNDUsNyArMjQ1LDcgQEAgaW50 ZWxfd3JpdGVfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBpbnQg cmVnLCB1MzIgdmFsdWUpCiAKIHN0cnVjdCBpbnRlbF9yaW5nICoKIGludGVsX2VuZ2luZV9jcmVh dGVfcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCi0JCQkgc3RydWN0IGk5MTVf dGltZWxpbmUgKnRpbWVsaW5lLAorCQkJIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUs CiAJCQkgaW50IHNpemUpOwogaW50IGludGVsX3JpbmdfcGluKHN0cnVjdCBpbnRlbF9yaW5nICpy aW5nKTsKIHZvaWQgaW50ZWxfcmluZ19yZXNldChzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZywgdTMy IHRhaWwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBh MDYxM2E4M2NiN2IuLjAyZGFjZWEyODU4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lX2NzLmMKQEAgLTcyMCw3ICs3MjAsNyBAQCB2b2lkIGludGVsX2VuZ2luZXNfc2V0 X3NjaGVkdWxlcl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiBzdHJ1Y3Qg bWVhc3VyZV9icmVhZGNydW1iIHsKIAlzdHJ1Y3QgaTkxNV9yZXF1ZXN0IHJxOwotCXN0cnVjdCBp OTE1X3RpbWVsaW5lIHRpbWVsaW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSB0aW1lbGluZTsK IAlzdHJ1Y3QgaW50ZWxfcmluZyByaW5nOwogCXUzMiBjc1sxMDI0XTsKIH07CkBAIC03MzYsOSAr NzM2LDkgQEAgc3RhdGljIGludCBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogCWlmICghZnJhbWUpCiAJCXJldHVybiAtRU5PTUVNOwogCi0JaWYg KGk5MTVfdGltZWxpbmVfaW5pdCgmZnJhbWUtPnRpbWVsaW5lLAotCQkJICAgICAgIGVuZ2luZS0+ Z3QsCi0JCQkgICAgICAgZW5naW5lLT5zdGF0dXNfcGFnZS52bWEpKQorCWlmIChpbnRlbF90aW1l bGluZV9pbml0KCZmcmFtZS0+dGltZWxpbmUsCisJCQkJZW5naW5lLT5ndCwKKwkJCQllbmdpbmUt PnN0YXR1c19wYWdlLnZtYSkpCiAJCWdvdG8gb3V0X2ZyYW1lOwogCiAJSU5JVF9MSVNUX0hFQUQo JmZyYW1lLT5yaW5nLnJlcXVlc3RfbGlzdCk7CkBAIC03NTMsMTcgKzc1MywxNyBAQCBzdGF0aWMg aW50IG1lYXN1cmVfYnJlYWRjcnVtYl9kdyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUp CiAJZnJhbWUtPnJxLnJpbmcgPSAmZnJhbWUtPnJpbmc7CiAJZnJhbWUtPnJxLnRpbWVsaW5lID0g JmZyYW1lLT50aW1lbGluZTsKIAotCWR3ID0gaTkxNV90aW1lbGluZV9waW4oJmZyYW1lLT50aW1l bGluZSk7CisJZHcgPSBpbnRlbF90aW1lbGluZV9waW4oJmZyYW1lLT50aW1lbGluZSk7CiAJaWYg KGR3IDwgMCkKIAkJZ290byBvdXRfdGltZWxpbmU7CiAKIAlkdyA9IGVuZ2luZS0+ZW1pdF9maW5p X2JyZWFkY3J1bWIoJmZyYW1lLT5ycSwgZnJhbWUtPmNzKSAtIGZyYW1lLT5jczsKIAlHRU1fQlVH X09OKGR3ICYgMSk7IC8qIFJJTkdfVEFJTCBtdXN0IGJlIHF3b3JkIGFsaWduZWQgKi8KIAotCWk5 MTVfdGltZWxpbmVfdW5waW4oJmZyYW1lLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfdW5w aW4oJmZyYW1lLT50aW1lbGluZSk7CiAKIG91dF90aW1lbGluZToKLQlpOTE1X3RpbWVsaW5lX2Zp bmkoJmZyYW1lLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfZmluaSgmZnJhbWUtPnRpbWVs aW5lKTsKIG91dF9mcmFtZToKIAlrZnJlZShmcmFtZSk7CiAJcmV0dXJuIGR3OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAppbmRleCA4ZjQzYWU4MjNkODcu LjBlNzQxN2I4ZGVlOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X3R5cGVzLmgKQEAgLTE5LDcgKzE5LDcgQEAKICNpbmNsdWRlICJpOTE1X3BtdS5oIgogI2luY2x1 ZGUgImk5MTVfcHJpb2xpc3RfdHlwZXMuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCi0j aW5jbHVkZSAiaTkxNV90aW1lbGluZV90eXBlcy5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVs aW5lX3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfc3NldS5oIgogI2luY2x1ZGUgImludGVsX3dh a2VyZWYuaCIKICNpbmNsdWRlICJpbnRlbF93b3JrYXJvdW5kc190eXBlcy5oIgpAQCAtNjcsNyAr NjcsNyBAQCBzdHJ1Y3QgaW50ZWxfcmluZyB7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdm9p ZCAqdmFkZHI7CiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHJlcXVlc3RfbGlzdDsK IAlzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV9saW5rOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2xyYy5jCmluZGV4IDY1YTc2M2VlNzIxNy4uNGQ4NjZjZDExOWQ4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9scmMuYwpAQCAtMjkzOCwxMyArMjkzOCwxMyBAQCBwb3B1bGF0ZV9scl9jb250 ZXh0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg c3RydWN0IGk5MTVfdGltZWxpbmUgKgorc3RhdGljIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqCiBn ZXRfdGltZWxpbmUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwgc3RydWN0IGludGVsX2d0 ICpndCkKIHsKIAlpZiAoY3R4LT50aW1lbGluZSkKLQkJcmV0dXJuIGk5MTVfdGltZWxpbmVfZ2V0 KGN0eC0+dGltZWxpbmUpOworCQlyZXR1cm4gaW50ZWxfdGltZWxpbmVfZ2V0KGN0eC0+dGltZWxp bmUpOwogCWVsc2UKLQkJcmV0dXJuIGk5MTVfdGltZWxpbmVfY3JlYXRlKGd0LCBOVUxMKTsKKwkJ cmV0dXJuIGludGVsX3RpbWVsaW5lX2NyZWF0ZShndCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpbnQg ZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQgKmNl LApAQCAtMjk1NCw3ICsyOTU0LDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZl cnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJc3RydWN0IGk5MTVfdm1hICp2 bWE7CiAJdTMyIGNvbnRleHRfc2l6ZTsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1l bGluZTsKIAlpbnQgcmV0OwogCiAJaWYgKGNlLT5zdGF0ZSkKQEAgLTI5ODcsNyArMjk4Nyw3IEBA IHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVs X2NvbnRleHQgKmNlLAogCXJpbmcgPSBpbnRlbF9lbmdpbmVfY3JlYXRlX3JpbmcoZW5naW5lLAog CQkJCQl0aW1lbGluZSwKIAkJCQkJY2UtPmdlbV9jb250ZXh0LT5yaW5nX3NpemUpOwotCWk5MTVf dGltZWxpbmVfcHV0KHRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9wdXQodGltZWxpbmUpOwog CWlmIChJU19FUlIocmluZykpIHsKIAkJcmV0ID0gUFRSX0VSUihyaW5nKTsKIAkJZ290byBlcnJv cl9kZXJlZl9vYmo7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9y ZXNldC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwppbmRleCA1Mjk3 YjNhY2I1NmQuLjNjOTI1YWY2NDc5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfcmVzZXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNl dC5jCkBAIC04NTEsNyArODUxLDcgQEAgdm9pZCBpOTE1X2dlbV9zZXRfd2VkZ2VkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogc3RhdGljIGJvb2wgX19pOTE1X2dlbV91bnNldF93ZWRn ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJc3RydWN0IGk5MTVfZ3B1X2Vy cm9yICplcnJvciA9ICZpOTE1LT5ncHVfZXJyb3I7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRs OworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAKIAlpZiAoIXRlc3RfYml0KEk5MTVfV0VE R0VELCAmZXJyb3ItPmZsYWdzKSkKIAkJcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggMWEyOGMxMTE3Zjk0Li4yOTg1YmNkMTc1YzYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3JpbmdidWZmZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTExNTYs NyArMTE1Niw3IEBAIGludCBpbnRlbF9yaW5nX3BpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykK IAogCUdFTV9CVUdfT04ocmluZy0+dmFkZHIpOwogCi0JcmV0ID0gaTkxNV90aW1lbGluZV9waW4o cmluZy0+dGltZWxpbmUpOworCXJldCA9IGludGVsX3RpbWVsaW5lX3BpbihyaW5nLT50aW1lbGlu ZSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtMTE5MSw3ICsxMTkxLDcgQEAgaW50 IGludGVsX3JpbmdfcGluKHN0cnVjdCBpbnRlbF9yaW5nICpyaW5nKQogdW5waW5fcmluZzoKIAlp OTE1X3ZtYV91bnBpbih2bWEpOwogdW5waW5fdGltZWxpbmU6Ci0JaTkxNV90aW1lbGluZV91bnBp bihyaW5nLT50aW1lbGluZSk7CisJaW50ZWxfdGltZWxpbmVfdW5waW4ocmluZy0+dGltZWxpbmUp OwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTEyMjIsNyArMTIyMiw3IEBAIHZvaWQgaW50ZWxfcmlu Z191bnBpbihzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZykKIAlyaW5nLT52bWEtPm9iai0+cGluX2ds b2JhbC0tOwogCWk5MTVfdm1hX3VucGluKHJpbmctPnZtYSk7CiAKLQlpOTE1X3RpbWVsaW5lX3Vu cGluKHJpbmctPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV91bnBpbihyaW5nLT50aW1lbGlu ZSk7CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaTkxNV92bWEgKmNyZWF0ZV9yaW5nX3ZtYShzdHJ1Y3Qg aTkxNV9nZ3R0ICpnZ3R0LCBpbnQgc2l6ZSkKQEAgLTEyNTgsNyArMTI1OCw3IEBAIHN0YXRpYyBz dHJ1Y3QgaTkxNV92bWEgKmNyZWF0ZV9yaW5nX3ZtYShzdHJ1Y3QgaTkxNV9nZ3R0ICpnZ3R0LCBp bnQgc2l6ZSkKIAogc3RydWN0IGludGVsX3JpbmcgKgogaW50ZWxfZW5naW5lX2NyZWF0ZV9yaW5n KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKLQkJCSBzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGltZWxpbmUsCisJCQkgc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1lbGluZSwKIAkJCSBp bnQgc2l6ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkx NTsKQEAgLTEyNzQsNyArMTI3NCw3IEBAIGludGVsX2VuZ2luZV9jcmVhdGVfcmluZyhzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAKIAlrcmVmX2luaXQoJnJpbmctPnJlZik7CiAJSU5J VF9MSVNUX0hFQUQoJnJpbmctPnJlcXVlc3RfbGlzdCk7Ci0JcmluZy0+dGltZWxpbmUgPSBpOTE1 X3RpbWVsaW5lX2dldCh0aW1lbGluZSk7CisJcmluZy0+dGltZWxpbmUgPSBpbnRlbF90aW1lbGlu ZV9nZXQodGltZWxpbmUpOwogCiAJcmluZy0+c2l6ZSA9IHNpemU7CiAJLyogV29ya2Fyb3VuZCBh biBlcnJhdHVtIG9uIHRoZSBpODMwIHdoaWNoIGNhdXNlcyBhIGhhbmcgaWYKQEAgLTEzMDQsNyAr MTMwNCw3IEBAIHZvaWQgaW50ZWxfcmluZ19mcmVlKHN0cnVjdCBrcmVmICpyZWYpCiAJaTkxNV92 bWFfY2xvc2UocmluZy0+dm1hKTsKIAlpOTE1X3ZtYV9wdXQocmluZy0+dm1hKTsKIAotCWk5MTVf dGltZWxpbmVfcHV0KHJpbmctPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9wdXQocmluZy0+ dGltZWxpbmUpOwogCWtmcmVlKHJpbmcpOwogfQogCkBAIC0yMjU5LDExICsyMjU5LDExIEBAIGlu dCBpbnRlbF9yaW5nX3N1Ym1pc3Npb25fc2V0dXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKQogCiBpbnQgaW50ZWxfcmluZ19zdWJtaXNzaW9uX2luaXQoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwlzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCXN0cnVjdCBpbnRlbF9yaW5nICpyaW5nOwog CWludCBlcnI7CiAKLQl0aW1lbGluZSA9IGk5MTVfdGltZWxpbmVfY3JlYXRlKGVuZ2luZS0+Z3Qs IGVuZ2luZS0+c3RhdHVzX3BhZ2Uudm1hKTsKKwl0aW1lbGluZSA9IGludGVsX3RpbWVsaW5lX2Ny ZWF0ZShlbmdpbmUtPmd0LCBlbmdpbmUtPnN0YXR1c19wYWdlLnZtYSk7CiAJaWYgKElTX0VSUih0 aW1lbGluZSkpIHsKIAkJZXJyID0gUFRSX0VSUih0aW1lbGluZSk7CiAJCWdvdG8gZXJyOwpAQCAt MjI3MSw3ICsyMjcxLDcgQEAgaW50IGludGVsX3Jpbmdfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlHRU1fQlVHX09OKHRpbWVsaW5lLT5oYXNfaW5pdGlh bF9icmVhZGNydW1iKTsKIAogCXJpbmcgPSBpbnRlbF9lbmdpbmVfY3JlYXRlX3JpbmcoZW5naW5l LCB0aW1lbGluZSwgMzIgKiBQQUdFX1NJWkUpOwotCWk5MTVfdGltZWxpbmVfcHV0KHRpbWVsaW5l KTsKKwlpbnRlbF90aW1lbGluZV9wdXQodGltZWxpbmUpOwogCWlmIChJU19FUlIocmluZykpIHsK IAkJZXJyID0gUFRSX0VSUihyaW5nKTsKIAkJZ290byBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF90aW1lbGluZS5jCnNpbWlsYXJpdHkgaW5kZXggODIlCnJlbmFtZSBmcm9tIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuYwpyZW5hbWUgdG8gZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfdGltZWxpbmUuYwppbmRleCAzZTJjMzE2OWRjNjkuLjFhM2YwNDQ1ODczMCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKQEAgLTEwLDEyICsxMCwxMiBA QAogCiAjaW5jbHVkZSAiaTkxNV9hY3RpdmUuaCIKICNpbmNsdWRlICJpOTE1X3N5bmNtYXAuaCIK LSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxpbmUu aCIKIAogI2RlZmluZSBwdHJfc2V0X2JpdChwdHIsIGJpdCkgKCh0eXBlb2YocHRyKSkoKHVuc2ln bmVkIGxvbmcpKHB0cikgfCBCSVQoYml0KSkpCiAjZGVmaW5lIHB0cl90ZXN0X2JpdChwdHIsIGJp dCkgKCh1bnNpZ25lZCBsb25nKShwdHIpICYgQklUKGJpdCkpCiAKLXN0cnVjdCBpOTE1X3RpbWVs aW5lX2h3c3Ageworc3RydWN0IGludGVsX3RpbWVsaW5lX2h3c3AgewogCXN0cnVjdCBpbnRlbF9n dCAqZ3Q7CiAJc3RydWN0IGk5MTVfZ3RfdGltZWxpbmVzICpndF90aW1lbGluZXM7CiAJc3RydWN0 IGxpc3RfaGVhZCBmcmVlX2xpbms7CkBAIC0yMyw5ICsyMyw5IEBAIHN0cnVjdCBpOTE1X3RpbWVs aW5lX2h3c3AgewogCXU2NCBmcmVlX2JpdG1hcDsKIH07CiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5l X2NhY2hlbGluZSB7CitzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lIHsKIAlzdHJ1Y3Qg aTkxNV9hY3RpdmUgYWN0aXZlOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lX2h3c3AgKmh3c3A7CisJ c3RydWN0IGludGVsX3RpbWVsaW5lX2h3c3AgKmh3c3A7CiAJdm9pZCAqdmFkZHI7CiAjZGVmaW5l IENBQ0hFTElORV9CSVRTIDYKICNkZWZpbmUgQ0FDSEVMSU5FX0ZSRUUgQ0FDSEVMSU5FX0JJVFMK QEAgLTUxLDEwICs1MSwxMCBAQCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpfX2h3c3BfYWxsb2Mo c3RydWN0IGludGVsX2d0ICpndCkKIH0KIAogc3RhdGljIHN0cnVjdCBpOTE1X3ZtYSAqCi1od3Nw X2FsbG9jKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSwgdW5zaWduZWQgaW50ICpjYWNo ZWxpbmUpCitod3NwX2FsbG9jKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHVuc2ln bmVkIGludCAqY2FjaGVsaW5lKQogewogCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAm dGltZWxpbmUtPmd0LT50aW1lbGluZXM7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCAqaHdz cDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfaHdzcCAqaHdzcDsKIAogCUJVSUxEX0JVR19PTihC SVRTX1BFUl9UWVBFKHU2NCkgKiBDQUNIRUxJTkVfQllURVMgPiBQQUdFX1NJWkUpOwogCkBAIC0x MDAsNyArMTAwLDcgQEAgaHdzcF9hbGxvYyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUs IHVuc2lnbmVkIGludCAqY2FjaGVsaW5lKQogCXJldHVybiBod3NwLT52bWE7CiB9CiAKLXN0YXRp YyB2b2lkIF9faWRsZV9od3NwX2ZyZWUoc3RydWN0IGk5MTVfdGltZWxpbmVfaHdzcCAqaHdzcCwg aW50IGNhY2hlbGluZSkKK3N0YXRpYyB2b2lkIF9faWRsZV9od3NwX2ZyZWUoc3RydWN0IGludGVs X3RpbWVsaW5lX2h3c3AgKmh3c3AsIGludCBjYWNoZWxpbmUpCiB7CiAJc3RydWN0IGk5MTVfZ3Rf dGltZWxpbmVzICpndCA9IGh3c3AtPmd0X3RpbWVsaW5lczsKIAl1bnNpZ25lZCBsb25nIGZsYWdz OwpAQCAtMTI0LDcgKzEyNCw3IEBAIHN0YXRpYyB2b2lkIF9faWRsZV9od3NwX2ZyZWUoc3RydWN0 IGk5MTVfdGltZWxpbmVfaHdzcCAqaHdzcCwgaW50IGNhY2hlbGluZSkKIAlzcGluX3VubG9ja19p cnFyZXN0b3JlKCZndC0+aHdzcF9sb2NrLCBmbGFncyk7CiB9CiAKLXN0YXRpYyB2b2lkIF9faWRs ZV9jYWNoZWxpbmVfZnJlZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQorc3Rh dGljIHZvaWQgX19pZGxlX2NhY2hlbGluZV9mcmVlKHN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNo ZWxpbmUgKmNsKQogewogCUdFTV9CVUdfT04oIWk5MTVfYWN0aXZlX2lzX2lkbGUoJmNsLT5hY3Rp dmUpKTsKIApAQCAtMTM4LDcgKzEzOCw3IEBAIHN0YXRpYyB2b2lkIF9faWRsZV9jYWNoZWxpbmVf ZnJlZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQogCiBzdGF0aWMgdm9pZCBf X2NhY2hlbGluZV9yZXRpcmUoc3RydWN0IGk5MTVfYWN0aXZlICphY3RpdmUpCiB7Ci0Jc3RydWN0 IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCA9CisJc3RydWN0IGludGVsX3RpbWVsaW5lX2Nh Y2hlbGluZSAqY2wgPQogCQljb250YWluZXJfb2YoYWN0aXZlLCB0eXBlb2YoKmNsKSwgYWN0aXZl KTsKIAogCWk5MTVfdm1hX3VucGluKGNsLT5od3NwLT52bWEpOwpAQCAtMTQ2LDEwICsxNDYsMTAg QEAgc3RhdGljIHZvaWQgX19jYWNoZWxpbmVfcmV0aXJlKHN0cnVjdCBpOTE1X2FjdGl2ZSAqYWN0 aXZlKQogCQlfX2lkbGVfY2FjaGVsaW5lX2ZyZWUoY2wpOwogfQogCi1zdGF0aWMgc3RydWN0IGk5 MTVfdGltZWxpbmVfY2FjaGVsaW5lICoKLWNhY2hlbGluZV9hbGxvYyhzdHJ1Y3QgaTkxNV90aW1l bGluZV9od3NwICpod3NwLCB1bnNpZ25lZCBpbnQgY2FjaGVsaW5lKQorc3RhdGljIHN0cnVjdCBp bnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKgorY2FjaGVsaW5lX2FsbG9jKHN0cnVjdCBpbnRlbF90 aW1lbGluZV9od3NwICpod3NwLCB1bnNpZ25lZCBpbnQgY2FjaGVsaW5lKQogewotCXN0cnVjdCBp OTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2w7CisJc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hl bGluZSAqY2w7CiAJdm9pZCAqdmFkZHI7CiAKIAlHRU1fQlVHX09OKGNhY2hlbGluZSA+PSBCSVQo Q0FDSEVMSU5FX0JJVFMpKTsKQEAgLTE3MywxOSArMTczLDE5IEBAIGNhY2hlbGluZV9hbGxvYyhz dHJ1Y3QgaTkxNV90aW1lbGluZV9od3NwICpod3NwLCB1bnNpZ25lZCBpbnQgY2FjaGVsaW5lKQog CXJldHVybiBjbDsKIH0KIAotc3RhdGljIHZvaWQgY2FjaGVsaW5lX2FjcXVpcmUoc3RydWN0IGk5 MTVfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKK3N0YXRpYyB2b2lkIGNhY2hlbGluZV9hY3F1aXJl KHN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQogewogCWlmIChjbCAmJiBpOTE1 X2FjdGl2ZV9hY3F1aXJlKCZjbC0+YWN0aXZlKSkKIAkJX19pOTE1X3ZtYV9waW4oY2wtPmh3c3At PnZtYSk7CiB9CiAKLXN0YXRpYyB2b2lkIGNhY2hlbGluZV9yZWxlYXNlKHN0cnVjdCBpOTE1X3Rp bWVsaW5lX2NhY2hlbGluZSAqY2wpCitzdGF0aWMgdm9pZCBjYWNoZWxpbmVfcmVsZWFzZShzdHJ1 Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbCkKIHsKIAlpZiAoY2wpCiAJCWk5MTVfYWN0 aXZlX3JlbGVhc2UoJmNsLT5hY3RpdmUpOwogfQogCi1zdGF0aWMgdm9pZCBjYWNoZWxpbmVfZnJl ZShzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsKQorc3RhdGljIHZvaWQgY2FjaGVs aW5lX2ZyZWUoc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCiB7CiAJR0VNX0JV R19PTihwdHJfdGVzdF9iaXQoY2wtPnZhZGRyLCBDQUNIRUxJTkVfRlJFRSkpOwogCWNsLT52YWRk ciA9IHB0cl9zZXRfYml0KGNsLT52YWRkciwgQ0FDSEVMSU5FX0ZSRUUpOwpAQCAtMTk0LDkgKzE5 NCw5IEBAIHN0YXRpYyB2b2lkIGNhY2hlbGluZV9mcmVlKHN0cnVjdCBpOTE1X3RpbWVsaW5lX2Nh Y2hlbGluZSAqY2wpCiAJCV9faWRsZV9jYWNoZWxpbmVfZnJlZShjbCk7CiB9CiAKLWludCBpOTE1 X3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRpbWVsaW5lLAotCQkgICAgICAg c3RydWN0IGludGVsX2d0ICpndCwKLQkJICAgICAgIHN0cnVjdCBpOTE1X3ZtYSAqaHdzcCkKK2lu dCBpbnRlbF90aW1lbGluZV9pbml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsCisJ CQlzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAorCQkJc3RydWN0IGk5MTVfdm1hICpod3NwKQogewogCXZv aWQgKnZhZGRyOwogCkBAIC0yMTYsNyArMjE2LDcgQEAgaW50IGk5MTVfdGltZWxpbmVfaW5pdChz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUsCiAJdGltZWxpbmUtPmh3c3BfY2FjaGVsaW5l ID0gTlVMTDsKIAogCWlmICghaHdzcCkgewotCQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxp bmUgKmNsOworCQlzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpjbDsKIAkJdW5zaWdu ZWQgaW50IGNhY2hlbGluZTsKIAogCQlod3NwID0gaHdzcF9hbGxvYyh0aW1lbGluZSwgJmNhY2hl bGluZSk7CkBAIC0yNzMsMTIgKzI3MywxMiBAQCBzdGF0aWMgdm9pZCB0aW1lbGluZXNfaW5pdChz dHJ1Y3QgaW50ZWxfZ3QgKmd0KQogCWk5MTVfZ2VtX3Nocmlua2VyX3RhaW50c19tdXRleChndC0+ aTkxNSwgJnRpbWVsaW5lcy0+bXV0ZXgpOwogfQogCi12b2lkIGk5MTVfdGltZWxpbmVzX2luaXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit2b2lkIGludGVsX3RpbWVsaW5lc19pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewogCXRpbWVsaW5lc19pbml0KCZpOTE1 LT5ndCk7CiB9CiAKLXN0YXRpYyB2b2lkIHRpbWVsaW5lX2FkZF90b19hY3RpdmUoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRsKQorc3RhdGljIHZvaWQgdGltZWxpbmVfYWRkX3RvX2FjdGl2ZShzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCXN0cnVjdCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3Qg PSAmdGwtPmd0LT50aW1lbGluZXM7CiAKQEAgLTI4Nyw3ICsyODcsNyBAQCBzdGF0aWMgdm9pZCB0 aW1lbGluZV9hZGRfdG9fYWN0aXZlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKIAltdXRleF91 bmxvY2soJmd0LT5tdXRleCk7CiB9CiAKLXN0YXRpYyB2b2lkIHRpbWVsaW5lX3JlbW92ZV9mcm9t X2FjdGl2ZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitzdGF0aWMgdm9pZCB0aW1lbGluZV9y ZW1vdmVfZnJvbV9hY3RpdmUoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAlzdHJ1Y3Qg aTkxNV9ndF90aW1lbGluZXMgKmd0ID0gJnRsLT5ndC0+dGltZWxpbmVzOwogCkBAIC0yOTksNyAr Mjk5LDcgQEAgc3RhdGljIHZvaWQgdGltZWxpbmVfcmVtb3ZlX2Zyb21fYWN0aXZlKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bCkKIHN0YXRpYyB2b2lkIHRpbWVsaW5lc19wYXJrKHN0cnVjdCBpbnRl bF9ndCAqZ3QpCiB7CiAJc3RydWN0IGk5MTVfZ3RfdGltZWxpbmVzICp0aW1lbGluZXMgPSAmZ3Qt PnRpbWVsaW5lczsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAogCW11dGV4X2xvY2soJnRpbWVsaW5lcy0+bXV0ZXgp OwogCWxpc3RfZm9yX2VhY2hfZW50cnkodGltZWxpbmUsICZ0aW1lbGluZXMtPmFjdGl2ZV9saXN0 LCBsaW5rKSB7CkBAIC0zMTUsNyArMzE1LDcgQEAgc3RhdGljIHZvaWQgdGltZWxpbmVzX3Bhcmso c3RydWN0IGludGVsX2d0ICpndCkKIH0KIAogLyoqCi0gKiBpOTE1X3RpbWVsaW5lc19wYXJrIC0g Y2FsbGVkIHdoZW4gdGhlIGRyaXZlciBpZGxlcworICogaW50ZWxfdGltZWxpbmVzX3BhcmsgLSBj YWxsZWQgd2hlbiB0aGUgZHJpdmVyIGlkbGVzCiAgKiBAaTkxNTogdGhlIGRybV9pOTE1X3ByaXZh dGUgZGV2aWNlCiAgKgogICogV2hlbiB0aGUgZHJpdmVyIGlzIGNvbXBsZXRlbHkgaWRsZSwgd2Ug a25vdyB0aGF0IGFsbCBvZiBvdXIgc3luYyBwb2ludHMKQEAgLTMyNCwxMiArMzI0LDEyIEBAIHN0 YXRpYyB2b2lkIHRpbWVsaW5lc19wYXJrKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAgKiB0aGUgZmVu Y2UgaXMgc2lnbmFsZWQgYW5kIHRoZXJlZm9yZSB3ZSB3aWxsIG5vdCBldmVuIGxvb2sgdGhlbSB1 cCBpbiB0aGUKICAqIHN5bmMgcG9pbnQgbWFwLgogICovCi12b2lkIGk5MTVfdGltZWxpbmVzX3Bh cmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit2b2lkIGludGVsX3RpbWVsaW5lc19w YXJrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewogCXRpbWVsaW5lc19wYXJrKCZp OTE1LT5ndCk7CiB9CiAKLXZvaWQgaTkxNV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVs aW5lICp0aW1lbGluZSkKK3ZvaWQgaW50ZWxfdGltZWxpbmVfZmluaShzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKnRpbWVsaW5lKQogewogCUdFTV9CVUdfT04odGltZWxpbmUtPnBpbl9jb3VudCk7CiAJ R0VNX0JVR19PTighbGlzdF9lbXB0eSgmdGltZWxpbmUtPnJlcXVlc3RzKSk7CkBAIC0zNDQsMTcg KzM0NCwxNyBAQCB2b2lkIGk5MTVfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90aW1lbGluZSAq dGltZWxpbmUpCiAJaTkxNV92bWFfcHV0KHRpbWVsaW5lLT5od3NwX2dndHQpOwogfQogCi1zdHJ1 Y3QgaTkxNV90aW1lbGluZSAqCi1pOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3Qg Kmd0LCBzdHJ1Y3QgaTkxNV92bWEgKmdsb2JhbF9od3NwKQorc3RydWN0IGludGVsX3RpbWVsaW5l ICoKK2ludGVsX3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBzdHJ1Y3QgaTkx NV92bWEgKmdsb2JhbF9od3NwKQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsK KwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCWludCBlcnI7CiAKIAl0aW1lbGlu ZSA9IGt6YWxsb2Moc2l6ZW9mKCp0aW1lbGluZSksIEdGUF9LRVJORUwpOwogCWlmICghdGltZWxp bmUpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCi0JZXJyID0gaTkxNV90aW1lbGluZV9p bml0KHRpbWVsaW5lLCBndCwgZ2xvYmFsX2h3c3ApOworCWVyciA9IGludGVsX3RpbWVsaW5lX2lu aXQodGltZWxpbmUsIGd0LCBnbG9iYWxfaHdzcCk7CiAJaWYgKGVycikgewogCQlrZnJlZSh0aW1l bGluZSk7CiAJCXJldHVybiBFUlJfUFRSKGVycik7CkBAIC0zNjUsNyArMzY1LDcgQEAgaTkxNV90 aW1lbGluZV9jcmVhdGUoc3RydWN0IGludGVsX2d0ICpndCwgc3RydWN0IGk5MTVfdm1hICpnbG9i YWxfaHdzcCkKIAlyZXR1cm4gdGltZWxpbmU7CiB9CiAKLWludCBpOTE1X3RpbWVsaW5lX3Bpbihz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCitpbnQgaW50ZWxfdGltZWxpbmVfcGluKHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGwpCiB7CiAJaW50IGVycjsKIApAQCAtMzkxLDcgKzM5MSw3IEBAIGlu dCBpOTE1X3RpbWVsaW5lX3BpbihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpCiAJcmV0dXJuIGVy cjsKIH0KIAotc3RhdGljIHUzMiB0aW1lbGluZV9hZHZhbmNlKHN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0bCkKK3N0YXRpYyB1MzIgdGltZWxpbmVfYWR2YW5jZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsKQogewogCUdFTV9CVUdfT04oIXRsLT5waW5fY291bnQpOwogCUdFTV9CVUdfT04odGwtPnNl cW5vICYgdGwtPmhhc19pbml0aWFsX2JyZWFkY3J1bWIpOwpAQCAtMzk5LDE3ICszOTksMTcgQEAg c3RhdGljIHUzMiB0aW1lbGluZV9hZHZhbmNlKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKIAly ZXR1cm4gdGwtPnNlcW5vICs9IDEgKyB0bC0+aGFzX2luaXRpYWxfYnJlYWRjcnVtYjsKIH0KIAot c3RhdGljIHZvaWQgdGltZWxpbmVfcm9sbGJhY2soc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQor c3RhdGljIHZvaWQgdGltZWxpbmVfcm9sbGJhY2soc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkK IHsKIAl0bC0+c2Vxbm8gLT0gMSArIHRsLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iOwogfQogCiBz dGF0aWMgbm9pbmxpbmUgaW50Ci1fX2k5MTVfdGltZWxpbmVfZ2V0X3NlcW5vKHN0cnVjdCBpOTE1 X3RpbWVsaW5lICp0bCwKLQkJCSAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCi0JCQkgIHUzMiAq c2Vxbm8pCitfX2ludGVsX3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsLAorCQkJICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkgICB1MzIgKnNlcW5vKQog ewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqY2w7CisJc3RydWN0IGludGVsX3Rp bWVsaW5lX2NhY2hlbGluZSAqY2w7CiAJdW5zaWduZWQgaW50IGNhY2hlbGluZTsKIAlzdHJ1Y3Qg aTkxNV92bWEgKnZtYTsKIAl2b2lkICp2YWRkcjsKQEAgLTQ5NSwzMSArNDk1LDMxIEBAIF9faTkx NV90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAogCXJldHVybiBl cnI7CiB9CiAKLWludCBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaTkxNV90aW1lbGlu ZSAqdGwsCi0JCQkgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCi0JCQkgICAgdTMyICpzZXFu bykKK2ludCBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGludGVsX3RpbWVsaW5lICp0 bCwKKwkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkgICAgIHUzMiAqc2Vxbm8p CiB7CiAJKnNlcW5vID0gdGltZWxpbmVfYWR2YW5jZSh0bCk7CiAKIAkvKiBSZXBsYWNlIHRoZSBI V1NQIG9uIHdyYXBhcm91bmQgZm9yIEhXIHNlbWFwaG9yZXMgKi8KIAlpZiAodW5saWtlbHkoISpz ZXFubyAmJiB0bC0+aHdzcF9jYWNoZWxpbmUpKQotCQlyZXR1cm4gX19pOTE1X3RpbWVsaW5lX2dl dF9zZXFubyh0bCwgcnEsIHNlcW5vKTsKKwkJcmV0dXJuIF9faW50ZWxfdGltZWxpbmVfZ2V0X3Nl cW5vKHRsLCBycSwgc2Vxbm8pOwogCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY2FjaGVs aW5lX3JlZihzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmNsLAorc3RhdGljIGludCBj YWNoZWxpbmVfcmVmKHN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmNsLAogCQkJIHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQogewogCXJldHVybiBpOTE1X2FjdGl2ZV9yZWYoJmNsLT5h Y3RpdmUsIHJxLT5mZW5jZS5jb250ZXh0LCBycSk7CiB9CiAKLWludCBpOTE1X3RpbWVsaW5lX3Jl YWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAotCQkJICAgIHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnRvLAotCQkJICAgIHUzMiAqaHdzcCkKK2ludCBpbnRlbF90aW1lbGluZV9yZWFkX2h3 c3Aoc3RydWN0IGk5MTVfcmVxdWVzdCAqZnJvbSwKKwkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVz dCAqdG8sCisJCQkgICAgIHUzMiAqaHdzcCkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNo ZWxpbmUgKmNsID0gZnJvbS0+aHdzcF9jYWNoZWxpbmU7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsID0gZnJvbS0+dGltZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAq Y2wgPSBmcm9tLT5od3NwX2NhY2hlbGluZTsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsID0g ZnJvbS0+dGltZWxpbmU7CiAJaW50IGVycjsKIAogCUdFTV9CVUdfT04odG8tPnRpbWVsaW5lID09 IHRsKTsKQEAgLTU0Miw3ICs1NDIsNyBAQCBpbnQgaTkxNV90aW1lbGluZV9yZWFkX2h3c3Aoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqZnJvbSwKIAlyZXR1cm4gZXJyOwogfQogCi12b2lkIGk5MTVfdGlt ZWxpbmVfdW5waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQordm9pZCBpbnRlbF90aW1lbGlu ZV91bnBpbihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCUdFTV9CVUdfT04oIXRsLT5w aW5fY291bnQpOwogCWlmICgtLXRsLT5waW5fY291bnQpCkBAIC01NjEsMTIgKzU2MSwxMiBAQCB2 b2lkIGk5MTVfdGltZWxpbmVfdW5waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQogCV9faTkx NV92bWFfdW5waW4odGwtPmh3c3BfZ2d0dCk7CiB9CiAKLXZvaWQgX19pOTE1X3RpbWVsaW5lX2Zy ZWUoc3RydWN0IGtyZWYgKmtyZWYpCit2b2lkIF9faW50ZWxfdGltZWxpbmVfZnJlZShzdHJ1Y3Qg a3JlZiAqa3JlZikKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUgPQorCXN0cnVj dCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUgPQogCQljb250YWluZXJfb2Yoa3JlZiwgdHlwZW9m KCp0aW1lbGluZSksIGtyZWYpOwogCi0JaTkxNV90aW1lbGluZV9maW5pKHRpbWVsaW5lKTsKKwlp bnRlbF90aW1lbGluZV9maW5pKHRpbWVsaW5lKTsKIAlrZnJlZSh0aW1lbGluZSk7CiB9CiAKQEAg LTU4MCwxMiArNTgwLDEyIEBAIHN0YXRpYyB2b2lkIHRpbWVsaW5lc19maW5pKHN0cnVjdCBpbnRl bF9ndCAqZ3QpCiAJbXV0ZXhfZGVzdHJveSgmdGltZWxpbmVzLT5tdXRleCk7CiB9CiAKLXZvaWQg aTkxNV90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3ZvaWQg aW50ZWxfdGltZWxpbmVzX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJ dGltZWxpbmVzX2ZpbmkoJmk5MTUtPmd0KTsKIH0KIAogI2lmIElTX0VOQUJMRUQoQ09ORklHX0RS TV9JOTE1X1NFTEZURVNUKQotI2luY2x1ZGUgInNlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMiCi0j aW5jbHVkZSAic2VsZnRlc3RzL2k5MTVfdGltZWxpbmUuYyIKKyNpbmNsdWRlICJndC9zZWxmdGVz dHMvbW9ja190aW1lbGluZS5jIgorI2luY2x1ZGUgImd0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMiCiAj ZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5l LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGluZS5oCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTA4Y2ViZjY0ODMzCi0tLSAvZGV2L251bGwK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuaApAQCAtMCwwICsx LDkzIEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTYgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisg KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl cnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhl IFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRp b24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBk aXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0 d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBm dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgor ICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90 aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQg aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJl LgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBF VkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisKKyNpZm5k ZWYgSTkxNV9USU1FTElORV9ICisjZGVmaW5lIEk5MTVfVElNRUxJTkVfSAorCisjaW5jbHVkZSA8 bGludXgvbG9ja2RlcC5oPgorCisjaW5jbHVkZSAiaTkxNV9hY3RpdmUuaCIKKyNpbmNsdWRlICJp OTE1X3N5bmNtYXAuaCIKKyNpbmNsdWRlICJndC9pbnRlbF90aW1lbGluZV90eXBlcy5oIgorCitp bnQgaW50ZWxfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAorCQkJc3Ry dWN0IGludGVsX2d0ICpndCwKKwkJCXN0cnVjdCBpOTE1X3ZtYSAqaHdzcCk7Cit2b2lkIGludGVs X3RpbWVsaW5lX2Zpbmkoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCk7CisKK3N0cnVjdCBpbnRl bF90aW1lbGluZSAqCitpbnRlbF90aW1lbGluZV9jcmVhdGUoc3RydWN0IGludGVsX2d0ICpndCwg c3RydWN0IGk5MTVfdm1hICpnbG9iYWxfaHdzcCk7CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGlu dGVsX3RpbWVsaW5lICoKK2ludGVsX3RpbWVsaW5lX2dldChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRpbWVsaW5lKQoreworCWtyZWZfZ2V0KCZ0aW1lbGluZS0+a3JlZik7CisJcmV0dXJuIHRpbWVs aW5lOworfQorCit2b2lkIF9faW50ZWxfdGltZWxpbmVfZnJlZShzdHJ1Y3Qga3JlZiAqa3JlZik7 CitzdGF0aWMgaW5saW5lIHZvaWQgaW50ZWxfdGltZWxpbmVfcHV0KHN0cnVjdCBpbnRlbF90aW1l bGluZSAqdGltZWxpbmUpCit7CisJa3JlZl9wdXQoJnRpbWVsaW5lLT5rcmVmLCBfX2ludGVsX3Rp bWVsaW5lX2ZyZWUpOworfQorCitzdGF0aWMgaW5saW5lIGludCBfX2ludGVsX3RpbWVsaW5lX3N5 bmNfc2V0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCisJCQkJCSAgICB1NjQgY29udGV4dCwg dTMyIHNlcW5vKQoreworCXJldHVybiBpOTE1X3N5bmNtYXBfc2V0KCZ0bC0+c3luYywgY29udGV4 dCwgc2Vxbm8pOworfQorCitzdGF0aWMgaW5saW5lIGludCBpbnRlbF90aW1lbGluZV9zeW5jX3Nl dChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAorCQkJCQkgIGNvbnN0IHN0cnVjdCBkbWFfZmVu Y2UgKmZlbmNlKQoreworCXJldHVybiBfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBmZW5j ZS0+Y29udGV4dCwgZmVuY2UtPnNlcW5vKTsKK30KKworc3RhdGljIGlubGluZSBib29sIF9faW50 ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAorCQkJ CQkJICB1NjQgY29udGV4dCwgdTMyIHNlcW5vKQoreworCXJldHVybiBpOTE1X3N5bmNtYXBfaXNf bGF0ZXIoJnRsLT5zeW5jLCBjb250ZXh0LCBzZXFubyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9v bCBpbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGws CisJCQkJCQljb25zdCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKK3sKKwlyZXR1cm4gX19pbnRl bF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHRsLCBmZW5jZS0+Y29udGV4dCwgZmVuY2UtPnNlcW5v KTsKK30KKworaW50IGludGVsX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRs KTsKK2ludCBpbnRlbF90aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGludGVsX3RpbWVsaW5lICp0 bCwKKwkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkgICAgIHUzMiAqc2Vxbm8p Owordm9pZCBpbnRlbF90aW1lbGluZV91bnBpbihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKTsK KworaW50IGludGVsX3RpbWVsaW5lX3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9t LAorCQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp1bnRpbCwKKwkJCSAgICAgdTMyICpod3Nw X29mZnNldCk7CisKK3ZvaWQgaW50ZWxfdGltZWxpbmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpOwordm9pZCBpbnRlbF90aW1lbGluZXNfcGFyayhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSk7Cit2b2lkIGludGVsX3RpbWVsaW5lc19maW5pKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3RpbWVsaW5lX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF90aW1lbGluZV90eXBlcy5oCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmVfdHlwZXMuaApyZW5hbWUgdG8gZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaAppbmRleCA5MzE1ODVlMTJkNDEu LjlhNzFhZWE3YTMzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1l bGluZV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5l X3R5cGVzLmgKQEAgLTE2LDEwICsxNiwxMCBAQAogCiBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZTsK IHN0cnVjdCBpOTE1X3ZtYTsKLXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZTsKK3N0cnVj dCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmU7CiBzdHJ1Y3QgaTkxNV9zeW5jbWFwOwogCi1zdHJ1 Y3QgaTkxNV90aW1lbGluZSB7CitzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgewogCXU2NCBmZW5jZV9j b250ZXh0OwogCXUzMiBzZXFubzsKIApAQCAtMzAsNyArMzAsNyBAQCBzdHJ1Y3QgaTkxNV90aW1l bGluZSB7CiAJc3RydWN0IGk5MTVfdm1hICpod3NwX2dndHQ7CiAJdTMyIGh3c3Bfb2Zmc2V0Owog Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lICpod3NwX2NhY2hlbGluZTsKKwlzdHJ1 Y3QgaW50ZWxfdGltZWxpbmVfY2FjaGVsaW5lICpod3NwX2NhY2hlbGluZTsKIAogCWJvb2wgaGFz X2luaXRpYWxfYnJlYWRjcnVtYjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvbW9ja19lbmdpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L21vY2tfZW5naW5lLmMK aW5kZXggMjY4NGNhZmNjZDJjLi4zMjVlYmQzZjcxNDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L21vY2tfZW5naW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv bW9ja19lbmdpbmUuYwpAQCAtMzMsMTUgKzMzLDE1IEBACiAKIHN0cnVjdCBtb2NrX3Jpbmcgewog CXN0cnVjdCBpbnRlbF9yaW5nIGJhc2U7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgdGltZWxpbmU7 CisJc3RydWN0IGludGVsX3RpbWVsaW5lIHRpbWVsaW5lOwogfTsKIAotc3RhdGljIHZvaWQgbW9j a190aW1lbGluZV9waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQorc3RhdGljIHZvaWQgbW9j a190aW1lbGluZV9waW4oc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsKIAl0bC0+cGluX2Nv dW50Kys7CiB9CiAKLXN0YXRpYyB2b2lkIG1vY2tfdGltZWxpbmVfdW5waW4oc3RydWN0IGk5MTVf dGltZWxpbmUgKnRsKQorc3RhdGljIHZvaWQgbW9ja190aW1lbGluZV91bnBpbihzdHJ1Y3QgaW50 ZWxfdGltZWxpbmUgKnRsKQogewogCUdFTV9CVUdfT04oIXRsLT5waW5fY291bnQpOwogCXRsLT5w aW5fY291bnQtLTsKQEAgLTU2LDcgKzU2LDcgQEAgc3RhdGljIHN0cnVjdCBpbnRlbF9yaW5nICpt b2NrX3Jpbmcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWlmICghcmluZykKIAkJ cmV0dXJuIE5VTEw7CiAKLQlpZiAoaTkxNV90aW1lbGluZV9pbml0KCZyaW5nLT50aW1lbGluZSwg ZW5naW5lLT5ndCwgTlVMTCkpIHsKKwlpZiAoaW50ZWxfdGltZWxpbmVfaW5pdCgmcmluZy0+dGlt ZWxpbmUsIGVuZ2luZS0+Z3QsIE5VTEwpKSB7CiAJCWtmcmVlKHJpbmcpOwogCQlyZXR1cm4gTlVM TDsKIAl9CkBAIC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyB2b2lkIG1vY2tfcmluZ19mcmVlKHN0cnVj dCBpbnRlbF9yaW5nICpiYXNlKQogewogCXN0cnVjdCBtb2NrX3JpbmcgKnJpbmcgPSBjb250YWlu ZXJfb2YoYmFzZSwgdHlwZW9mKCpyaW5nKSwgYmFzZSk7CiAKLQlpOTE1X3RpbWVsaW5lX2Zpbmko JnJpbmctPnRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9maW5pKCZyaW5nLT50aW1lbGluZSk7 CiAJa2ZyZWUocmluZyk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pOTE1X3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVz dF90aW1lbGluZS5jCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X3RpbWVsaW5lLmMKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKaW5kZXggNDRkMDMxNDQ2ZjA4Li4xOTNj YzU2NGFkZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfdGltZWxp bmUuYwpAQCAtOCwxNCArOCwxNCBAQAogCiAjaW5jbHVkZSAiZ2VtL2k5MTVfZ2VtX3BtLmgiCiAK LSNpbmNsdWRlICJpOTE1X3JhbmRvbS5oIgotI2luY2x1ZGUgImk5MTVfc2VsZnRlc3QuaCIKKyNp bmNsdWRlICIuLi9zZWxmdGVzdHMvaTkxNV9yYW5kb20uaCIKKyNpbmNsdWRlICIuLi9pOTE1X3Nl bGZ0ZXN0LmgiCiAKLSNpbmNsdWRlICJpZ3RfZmx1c2hfdGVzdC5oIgotI2luY2x1ZGUgIm1vY2tf Z2VtX2RldmljZS5oIgotI2luY2x1ZGUgIm1vY2tfdGltZWxpbmUuaCIKKyNpbmNsdWRlICIuLi9z ZWxmdGVzdHMvaWd0X2ZsdXNoX3Rlc3QuaCIKKyNpbmNsdWRlICIuLi9zZWxmdGVzdHMvbW9ja19n ZW1fZGV2aWNlLmgiCisjaW5jbHVkZSAic2VsZnRlc3RzL21vY2tfdGltZWxpbmUuaCIKIAotc3Rh dGljIHN0cnVjdCBwYWdlICpod3NwX3BhZ2Uoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKQorc3Rh dGljIHN0cnVjdCBwYWdlICpod3NwX3BhZ2Uoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdGwtPmh3c3BfZ2d0dC0+b2JqOwog CkBAIC0yMyw3ICsyMyw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGFnZSAqaHdzcF9wYWdlKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bCkKIAlyZXR1cm4gc2dfcGFnZShvYmotPm1tLnBhZ2VzLT5zZ2wpOwog fQogCi1zdGF0aWMgdW5zaWduZWQgbG9uZyBod3NwX2NhY2hlbGluZShzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGwpCitzdGF0aWMgdW5zaWduZWQgbG9uZyBod3NwX2NhY2hlbGluZShzdHJ1Y3QgaW50 ZWxfdGltZWxpbmUgKnRsKQogewogCXVuc2lnbmVkIGxvbmcgYWRkcmVzcyA9ICh1bnNpZ25lZCBs b25nKXBhZ2VfYWRkcmVzcyhod3NwX3BhZ2UodGwpKTsKIApAQCAtMzUsNyArMzUsNyBAQCBzdGF0 aWMgdW5zaWduZWQgbG9uZyBod3NwX2NhY2hlbGluZShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwp CiBzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNTsKIAlzdHJ1Y3QgcmFkaXhfdHJlZV9yb290IGNhY2hlbGluZXM7Ci0Jc3RydWN0IGk5MTVf dGltZWxpbmUgKipoaXN0b3J5OworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqKmhpc3Rvcnk7CiAJ dW5zaWduZWQgbG9uZyBjb3VudCwgbWF4OwogCXN0cnVjdCBybmRfc3RhdGUgcHJuZzsKIH07CkBA IC00NiwxMiArNDYsMTIgQEAgZW51bSB7CiAKIHN0YXRpYyB2b2lkIF9fbW9ja19od3NwX3JlY29y ZChzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAkJCSAgICAgICB1bnNpZ25lZCBp bnQgaWR4LAotCQkJICAgICAgIHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCkKKwkJCSAgICAgICBz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCXRsID0geGNoZygmc3RhdGUtPmhpc3Rvcnlb aWR4XSwgdGwpOwogCWlmICh0bCkgewogCQlyYWRpeF90cmVlX2RlbGV0ZSgmc3RhdGUtPmNhY2hl bGluZXMsIGh3c3BfY2FjaGVsaW5lKHRsKSk7Ci0JCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwkJ aW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAl9CiB9CiAKQEAgLTU5LDE0ICs1OSwxNCBAQCBzdGF0 aWMgaW50IF9fbW9ja19od3NwX3RpbWVsaW5lKHN0cnVjdCBtb2NrX2h3c3BfZnJlZWxpc3QgKnN0 YXRlLAogCQkJCXVuc2lnbmVkIGludCBjb3VudCwKIAkJCQl1bnNpZ25lZCBpbnQgZmxhZ3MpCiB7 Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7 CiAJdW5zaWduZWQgaW50IGlkeDsKIAogCXdoaWxlIChjb3VudC0tKSB7CiAJCXVuc2lnbmVkIGxv bmcgY2FjaGVsaW5lOwogCQlpbnQgZXJyOwogCi0JCXRsID0gaTkxNV90aW1lbGluZV9jcmVhdGUo JnN0YXRlLT5pOTE1LT5ndCwgTlVMTCk7CisJCXRsID0gaW50ZWxfdGltZWxpbmVfY3JlYXRlKCZz dGF0ZS0+aTkxNS0+Z3QsIE5VTEwpOwogCQlpZiAoSVNfRVJSKHRsKSkKIAkJCXJldHVybiBQVFJf RVJSKHRsKTsKIApAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgaW50IF9fbW9ja19od3NwX3RpbWVs aW5lKHN0cnVjdCBtb2NrX2h3c3BfZnJlZWxpc3QgKnN0YXRlLAogCQkJCXByX2VycigiSFdTUCBj YWNoZWxpbmUgJWx1IGFscmVhZHkgdXNlZDsgZHVwbGljYXRlIGFsbG9jYXRpb24hXG4iLAogCQkJ CSAgICAgICBjYWNoZWxpbmUpOwogCQkJfQotCQkJaTkxNV90aW1lbGluZV9wdXQodGwpOworCQkJ aW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCXJldHVybiBlcnI7CiAJCX0KIApAQCAtMTYyLDIx ICsxNjIsMjEgQEAgc3RydWN0IF9faWd0X3N5bmMgewogCWJvb2wgc2V0OwogfTsKIAotc3RhdGlj IGludCBfX2lndF9zeW5jKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKK3N0YXRpYyBpbnQgX19p Z3Rfc3luYyhzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLAogCQkgICAgICB1NjQgY3R4LAogCQkg ICAgICBjb25zdCBzdHJ1Y3QgX19pZ3Rfc3luYyAqcCwKIAkJICAgICAgY29uc3QgY2hhciAqbmFt ZSkKIHsKIAlpbnQgcmV0OwogCi0JaWYgKF9faTkxNV90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHRs LCBjdHgsIHAtPnNlcW5vKSAhPSBwLT5leHBlY3RlZCkgeworCWlmIChfX2ludGVsX3RpbWVsaW5l X3N5bmNfaXNfbGF0ZXIodGwsIGN0eCwgcC0+c2Vxbm8pICE9IHAtPmV4cGVjdGVkKSB7CiAJCXBy X2VycigiJXM6ICVzKGN0eD0lbGx1LCBzZXFubz0ldSkgZXhwZWN0ZWQgcGFzc2VkICVzIGJ1dCBm YWlsZWRcbiIsCiAJCSAgICAgICBuYW1lLCBwLT5uYW1lLCBjdHgsIHAtPnNlcW5vLCB5ZXNubyhw LT5leHBlY3RlZCkpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAlpZiAocC0+c2V0KSB7Ci0J CXJldCA9IF9faTkxNV90aW1lbGluZV9zeW5jX3NldCh0bCwgY3R4LCBwLT5zZXFubyk7CisJCXJl dCA9IF9faW50ZWxfdGltZWxpbmVfc3luY19zZXQodGwsIGN0eCwgcC0+c2Vxbm8pOwogCQlpZiAo cmV0KQogCQkJcmV0dXJuIHJldDsKIAl9CkBAIC0yMDQsNyArMjA0LDcgQEAgc3RhdGljIGludCBp Z3Rfc3luYyh2b2lkICphcmcpCiAJCXsgInVud3JhcCIsIFVJTlRfTUFYLCB0cnVlLCBmYWxzZSB9 LAogCQl7fSwKIAl9LCAqcDsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSB0bDsKKwlzdHJ1Y3QgaW50 ZWxfdGltZWxpbmUgdGw7CiAJaW50IG9yZGVyLCBvZmZzZXQ7CiAJaW50IHJldCA9IC1FTk9ERVY7 CiAKQEAgLTI0OCw3ICsyNDgsNyBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHJhbmRvbV9lbmdpbmUo c3RydWN0IHJuZF9zdGF0ZSAqcm5kKQogc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykK IHsKIAlzdHJ1Y3Qgcm5kX3N0YXRlIHBybmc7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgdGw7CisJ c3RydWN0IGludGVsX3RpbWVsaW5lIHRsOwogCXVuc2lnbmVkIGxvbmcgZW5kX3RpbWUsIGNvdW50 OwogCXU2NCBwcm5nMzJfMU07CiAJa3RpbWVfdCBrdDsKQEAgLTI4Niw3ICsyODYsNyBAQCBzdGF0 aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCWRvIHsKIAkJdTY0IGlkID0gaTkxNV9wcmFu ZG9tX3U2NF9zdGF0ZSgmcHJuZyk7CiAKLQkJX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwg aWQsIDApOworCQlfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgaWQsIDApOwogCQljb3Vu dCsrOwogCX0gd2hpbGUgKCF0aW1lX2FmdGVyKGppZmZpZXMsIGVuZF90aW1lKSk7CiAJa3QgPSBr dGltZV9zdWIoa3RpbWVfZ2V0KCksIGt0KTsKQEAgLTMwMSw3ICszMDEsNyBAQCBzdGF0aWMgaW50 IGJlbmNoX3N5bmModm9pZCAqYXJnKQogCXdoaWxlIChlbmRfdGltZS0tKSB7CiAJCXU2NCBpZCA9 IGk5MTVfcHJhbmRvbV91NjRfc3RhdGUoJnBybmcpOwogCi0JCWlmICghX19pOTE1X3RpbWVsaW5l X3N5bmNfaXNfbGF0ZXIoJnRsLCBpZCwgMCkpIHsKKwkJaWYgKCFfX2ludGVsX3RpbWVsaW5lX3N5 bmNfaXNfbGF0ZXIoJnRsLCBpZCwgMCkpIHsKIAkJCW1vY2tfdGltZWxpbmVfZmluaSgmdGwpOwog CQkJcHJfZXJyKCJMb29rdXAgb2YgJWxsdSBmYWlsZWRcbiIsIGlkKTsKIAkJCXJldHVybiAtRUlO VkFMOwpAQCAtMzIyLDcgKzMyMiw3IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcp CiAJa3QgPSBrdGltZV9nZXQoKTsKIAllbmRfdGltZSA9IGppZmZpZXMgKyBIWi8xMDsKIAlkbyB7 Ci0JCV9faTkxNV90aW1lbGluZV9zeW5jX3NldCgmdGwsIGNvdW50KyssIDApOworCQlfX2ludGVs X3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgY291bnQrKywgMCk7CiAJfSB3aGlsZSAoIXRpbWVfYWZ0 ZXIoamlmZmllcywgZW5kX3RpbWUpKTsKIAlrdCA9IGt0aW1lX3N1YihrdGltZV9nZXQoKSwga3Qp OwogCXByX2luZm8oIiVzOiAlbHUgaW4tb3JkZXIgaW5zZXJ0aW9ucywgJWxsdW5zL2luc2VydFxu IiwKQEAgLTMzMiw3ICszMzIsNyBAQCBzdGF0aWMgaW50IGJlbmNoX3N5bmModm9pZCAqYXJnKQog CWVuZF90aW1lID0gY291bnQ7CiAJa3QgPSBrdGltZV9nZXQoKTsKIAl3aGlsZSAoZW5kX3RpbWUt LSkgewotCQlpZiAoIV9faTkxNV90aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgZW5kX3RpbWUs IDApKSB7CisJCWlmICghX19pbnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKCZ0bCwgZW5kX3Rp bWUsIDApKSB7CiAJCQlwcl9lcnIoIkxvb2t1cCBvZiAlbHUgZmFpbGVkXG4iLCBlbmRfdGltZSk7 CiAJCQltb2NrX3RpbWVsaW5lX2ZpbmkoJnRsKTsKIAkJCXJldHVybiAtRUlOVkFMOwpAQCAtMzU2 LDggKzM1Niw4IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcpCiAJCXUzMiBpZCA9 IHJhbmRvbV9lbmdpbmUoJnBybmcpOwogCQl1MzIgc2Vxbm8gPSBwcmFuZG9tX3UzMl9zdGF0ZSgm cHJuZyk7CiAKLQkJaWYgKCFfX2k5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGlkLCBz ZXFubykpCi0JCQlfX2k5MTVfdGltZWxpbmVfc3luY19zZXQoJnRsLCBpZCwgc2Vxbm8pOworCQlp ZiAoIV9faW50ZWxfdGltZWxpbmVfc3luY19pc19sYXRlcigmdGwsIGlkLCBzZXFubykpCisJCQlf X2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgaWQsIHNlcW5vKTsKIAogCQljb3VudCsrOwog CX0gd2hpbGUgKCF0aW1lX2FmdGVyKGppZmZpZXMsIGVuZF90aW1lKSk7CkBAIC0zODUsOCArMzg1 LDggQEAgc3RhdGljIGludCBiZW5jaF9zeW5jKHZvaWQgKmFyZykKIAkJCSAqLwogCQkJdTY0IGlk ID0gKHU2NCkoY291bnQgJiBtYXNrKSA8PCBvcmRlcjsKIAotCQkJX19pOTE1X3RpbWVsaW5lX3N5 bmNfaXNfbGF0ZXIoJnRsLCBpZCwgMCk7Ci0JCQlfX2k5MTVfdGltZWxpbmVfc3luY19zZXQoJnRs LCBpZCwgMCk7CisJCQlfX2ludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIoJnRsLCBpZCwgMCk7 CisJCQlfX2ludGVsX3RpbWVsaW5lX3N5bmNfc2V0KCZ0bCwgaWQsIDApOwogCiAJCQljb3VudCsr OwogCQl9IHdoaWxlICghdGltZV9hZnRlcihqaWZmaWVzLCBlbmRfdGltZSkpOwpAQCAtNDAxLDcg KzQwMSw3IEBAIHN0YXRpYyBpbnQgYmVuY2hfc3luYyh2b2lkICphcmcpCiAJcmV0dXJuIDA7CiB9 CiAKLWludCBpOTE1X3RpbWVsaW5lX21vY2tfc2VsZnRlc3RzKHZvaWQpCitpbnQgaW50ZWxfdGlt ZWxpbmVfbW9ja19zZWxmdGVzdHModm9pZCkKIHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVf c3VidGVzdCB0ZXN0c1tdID0gewogCQlTVUJURVNUKG1vY2tfaHdzcF9mcmVlbGlzdCksCkBAIC00 NDMsMTQgKzQ0MywxNCBAQCBzdGF0aWMgaW50IGVtaXRfZ2d0dF9zdG9yZV9kdyhzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwgdTMyIGFkZHIsIHUzMiB2YWx1ZSkKIH0KIAogc3RhdGljIHN0cnVjdCBp OTE1X3JlcXVlc3QgKgotdGxfd3JpdGUoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLCBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiB2YWx1ZSkKK3RsX3dyaXRlKHN0cnVjdCBpbnRl bF90aW1lbGluZSAqdGwsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHZhbHVl KQogewogCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCWludCBlcnI7CiAKIAlsb2NrZGVwX2Fz c2VydF9oZWxkKCZ0bC0+Z3QtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOyAvKiBsYXp5IHJxIHJl ZnMgKi8KIAotCWVyciA9IGk5MTVfdGltZWxpbmVfcGluKHRsKTsKKwllcnIgPSBpbnRlbF90aW1l bGluZV9waW4odGwpOwogCWlmIChlcnIpIHsKIAkJcnEgPSBFUlJfUFRSKGVycik7CiAJCWdvdG8g b3V0OwpAQCAtNDY2LDI2ICs0NjYsMjYgQEAgdGxfd3JpdGUoc3RydWN0IGk5MTVfdGltZWxpbmUg KnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiB2YWx1ZSkKIAkJcnEgPSBF UlJfUFRSKGVycik7CiAKIG91dF91bnBpbjoKLQlpOTE1X3RpbWVsaW5lX3VucGluKHRsKTsKKwlp bnRlbF90aW1lbGluZV91bnBpbih0bCk7CiBvdXQ6CiAJaWYgKElTX0VSUihycSkpCiAJCXByX2Vy cigiRmFpbGVkIHRvIHdyaXRlIHRvIHRpbWVsaW5lIVxuIik7CiAJcmV0dXJuIHJxOwogfQogCi1z dGF0aWMgc3RydWN0IGk5MTVfdGltZWxpbmUgKgotY2hlY2tlZF9pOTE1X3RpbWVsaW5lX2NyZWF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3N0YXRpYyBzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKgorY2hlY2tlZF9pbnRlbF90aW1lbGluZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCXN0cnVjdCBpbnRl bF90aW1lbGluZSAqdGw7CiAKLQl0bCA9IGk5MTVfdGltZWxpbmVfY3JlYXRlKCZpOTE1LT5ndCwg TlVMTCk7CisJdGwgPSBpbnRlbF90aW1lbGluZV9jcmVhdGUoJmk5MTUtPmd0LCBOVUxMKTsKIAlp ZiAoSVNfRVJSKHRsKSkKIAkJcmV0dXJuIHRsOwogCiAJaWYgKCp0bC0+aHdzcF9zZXFubyAhPSB0 bC0+c2Vxbm8pIHsKIAkJcHJfZXJyKCJUaW1lbGluZSBjcmVhdGVkIHdpdGggaW5jb3JyZWN0IGJy ZWFkY3J1bWIsIGZvdW5kICV4LCBleHBlY3RlZCAleFxuIiwKIAkJICAgICAgICp0bC0+aHdzcF9z ZXFubywgdGwtPnNlcW5vKTsKLQkJaTkxNV90aW1lbGluZV9wdXQodGwpOworCQlpbnRlbF90aW1l bGluZV9wdXQodGwpOwogCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKIAl9CiAKQEAgLTQ5Niw3 ICs0OTYsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9lbmdpbmUodm9pZCAqYXJnKQogewogI2Rl ZmluZSBOVU1fVElNRUxJTkVTIDQwOTYKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IGFyZzsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqKnRpbWVsaW5lczsKKwlzdHJ1Y3QgaW50ZWxf dGltZWxpbmUgKip0aW1lbGluZXM7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwog CWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwpAQCAt NTIzLDEwICs1MjMsMTAgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfZW5naW5lKHZvaWQgKmFyZykK IAkJCWNvbnRpbnVlOwogCiAJCWZvciAobiA9IDA7IG4gPCBOVU1fVElNRUxJTkVTOyBuKyspIHsK LQkJCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwkJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAq dGw7CiAJCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAotCQkJdGwgPSBjaGVja2VkX2k5MTVf dGltZWxpbmVfY3JlYXRlKGk5MTUpOworCQkJdGwgPSBjaGVja2VkX2ludGVsX3RpbWVsaW5lX2Ny ZWF0ZShpOTE1KTsKIAkJCWlmIChJU19FUlIodGwpKSB7CiAJCQkJZXJyID0gUFRSX0VSUih0bCk7 CiAJCQkJZ290byBvdXQ7CkBAIC01MzQsNyArNTM0LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bf ZW5naW5lKHZvaWQgKmFyZykKIAogCQkJcnEgPSB0bF93cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7 CiAJCQlpZiAoSVNfRVJSKHJxKSkgewotCQkJCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwkJCQlp bnRlbF90aW1lbGluZV9wdXQodGwpOwogCQkJCWVyciA9IFBUUl9FUlIocnEpOwogCQkJCWdvdG8g b3V0OwogCQkJfQpAQCAtNTQ4LDE0ICs1NDgsMTQgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfZW5n aW5lKHZvaWQgKmFyZykKIAkJZXJyID0gLUVJTzsKIAogCWZvciAobiA9IDA7IG4gPCBjb3VudDsg bisrKSB7Ci0JCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCA9IHRpbWVsaW5lc1tuXTsKKwkJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bCA9IHRpbWVsaW5lc1tuXTsKIAogCQlpZiAoIWVyciAmJiAq dGwtPmh3c3Bfc2Vxbm8gIT0gbikgewogCQkJcHJfZXJyKCJJbnZhbGlkIHNlcW5vIHN0b3JlZCBp biB0aW1lbGluZSAlbHUsIGZvdW5kIDB4JXhcbiIsCiAJCQkgICAgICAgbiwgKnRsLT5od3NwX3Nl cW5vKTsKIAkJCWVyciA9IC1FSU5WQUw7CiAJCX0KLQkJaTkxNV90aW1lbGluZV9wdXQodGwpOwor CQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCX0KIAogCWludGVsX3J1bnRpbWVfcG1fcHV0KCZp OTE1LT5ydW50aW1lX3BtLCB3YWtlcmVmKTsKQEAgLTU3MSw3ICs1NzEsNyBAQCBzdGF0aWMgaW50 IGxpdmVfaHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQogewogI2RlZmluZSBOVU1fVElNRUxJTkVT IDQwOTYKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFyZzsKLQlzdHJ1Y3QgaTkx NV90aW1lbGluZSAqKnRpbWVsaW5lczsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKip0aW1lbGlu ZXM7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCWVudW0gaW50ZWxfZW5naW5l X2lkIGlkOwogCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwpAQCAtNTk2LDEzICs1OTYsMTMgQEAg c3RhdGljIGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAljb3VudCA9IDA7CiAJ Zm9yIChuID0gMDsgbiA8IE5VTV9USU1FTElORVM7IG4rKykgewogCQlmb3JfZWFjaF9lbmdpbmUo ZW5naW5lLCBpOTE1LCBpZCkgewotCQkJc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCQkJc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAkJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOwogCiAJ CQlpZiAoIWludGVsX2VuZ2luZV9jYW5fc3RvcmVfZHdvcmQoZW5naW5lKSkKIAkJCQljb250aW51 ZTsKIAotCQkJdGwgPSBjaGVja2VkX2k5MTVfdGltZWxpbmVfY3JlYXRlKGk5MTUpOworCQkJdGwg PSBjaGVja2VkX2ludGVsX3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKIAkJCWlmIChJU19FUlIodGwp KSB7CiAJCQkJZXJyID0gUFRSX0VSUih0bCk7CiAJCQkJZ290byBvdXQ7CkBAIC02MTAsNyArNjEw LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAogCQkJcnEg PSB0bF93cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7CiAJCQlpZiAoSVNfRVJSKHJxKSkgewotCQkJ CWk5MTVfdGltZWxpbmVfcHV0KHRsKTsKKwkJCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCQkJ CWVyciA9IFBUUl9FUlIocnEpOwogCQkJCWdvdG8gb3V0OwogCQkJfQpAQCAtNjI0LDE0ICs2MjQs MTQgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAkJZXJyID0g LUVJTzsKIAogCWZvciAobiA9IDA7IG4gPCBjb3VudDsgbisrKSB7Ci0JCXN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0bCA9IHRpbWVsaW5lc1tuXTsKKwkJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCA9 IHRpbWVsaW5lc1tuXTsKIAogCQlpZiAoIWVyciAmJiAqdGwtPmh3c3Bfc2Vxbm8gIT0gbikgewog CQkJcHJfZXJyKCJJbnZhbGlkIHNlcW5vIHN0b3JlZCBpbiB0aW1lbGluZSAlbHUsIGZvdW5kIDB4 JXhcbiIsCiAJCQkgICAgICAgbiwgKnRsLT5od3NwX3NlcW5vKTsKIAkJCWVyciA9IC1FSU5WQUw7 CiAJCX0KLQkJaTkxNV90aW1lbGluZV9wdXQodGwpOworCQlpbnRlbF90aW1lbGluZV9wdXQodGwp OwogCX0KIAogCWludGVsX3J1bnRpbWVfcG1fcHV0KCZpOTE1LT5ydW50aW1lX3BtLCB3YWtlcmVm KTsKQEAgLTY0Nyw3ICs2NDcsNyBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFy ZykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFyZzsKIAlzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmU7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsOworCXN0cnVj dCBpbnRlbF90aW1lbGluZSAqdGw7CiAJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CiAJaW50ZWxf d2FrZXJlZl90IHdha2VyZWY7CiAJaW50IGVyciA9IDA7CkBAIC02NjAsNyArNjYwLDcgQEAgc3Rh dGljIGludCBsaXZlX2h3c3Bfd3JhcCh2b2lkICphcmcpCiAJbXV0ZXhfbG9jaygmaTkxNS0+ZHJt LnN0cnVjdF9tdXRleCk7CiAJd2FrZXJlZiA9IGludGVsX3J1bnRpbWVfcG1fZ2V0KCZpOTE1LT5y dW50aW1lX3BtKTsKIAotCXRsID0gaTkxNV90aW1lbGluZV9jcmVhdGUoJmk5MTUtPmd0LCBOVUxM KTsKKwl0bCA9IGludGVsX3RpbWVsaW5lX2NyZWF0ZSgmaTkxNS0+Z3QsIE5VTEwpOwogCWlmIChJ U19FUlIodGwpKSB7CiAJCWVyciA9IFBUUl9FUlIodGwpOwogCQlnb3RvIG91dF9ycG07CkBAIC02 NjgsNyArNjY4LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2b2lkICphcmcpCiAJaWYg KCF0bC0+aGFzX2luaXRpYWxfYnJlYWRjcnVtYiB8fCAhdGwtPmh3c3BfY2FjaGVsaW5lKQogCQln b3RvIG91dF9mcmVlOwogCi0JZXJyID0gaTkxNV90aW1lbGluZV9waW4odGwpOworCWVyciA9IGlu dGVsX3RpbWVsaW5lX3Bpbih0bCk7CiAJaWYgKGVycikKIAkJZ290byBvdXRfZnJlZTsKIApAQCAt Njg4LDcgKzY4OCw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3dyYXAodm9pZCAqYXJnKQogCiAJ CXRsLT5zZXFubyA9IC00dTsKIAotCQllcnIgPSBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyh0bCwg cnEsICZzZXFub1swXSk7CisJCWVyciA9IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyh0bCwgcnEs ICZzZXFub1swXSk7CiAJCWlmIChlcnIpIHsKIAkJCWk5MTVfcmVxdWVzdF9hZGQocnEpOwogCQkJ Z290byBvdXQ7CkBAIC03MDMsNyArNzAzLDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfd3JhcCh2 b2lkICphcmcpCiAJCX0KIAkJaHdzcF9zZXFub1swXSA9IHRsLT5od3NwX3NlcW5vOwogCi0JCWVy ciA9IGk5MTVfdGltZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwgJnNlcW5vWzFdKTsKKwkJZXJyID0g aW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwgJnNlcW5vWzFdKTsKIAkJaWYgKGVycikg ewogCQkJaTkxNV9yZXF1ZXN0X2FkZChycSk7CiAJCQlnb3RvIG91dDsKQEAgLTc0NSw5ICs3NDUs OSBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF93cmFwKHZvaWQgKmFyZykKIAlpZiAoaWd0X2ZsdXNo X3Rlc3QoaTkxNSwgSTkxNV9XQUlUX0xPQ0tFRCkpCiAJCWVyciA9IC1FSU87CiAKLQlpOTE1X3Rp bWVsaW5lX3VucGluKHRsKTsKKwlpbnRlbF90aW1lbGluZV91bnBpbih0bCk7CiBvdXRfZnJlZToK LQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIG91dF9y cG06CiAJaW50ZWxfcnVudGltZV9wbV9wdXQoJmk5MTUtPnJ1bnRpbWVfcG0sIHdha2VyZWYpOwog CW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CkBAIC03ODEsMTAgKzc4MSwx MCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAkJCWNvbnRpbnVl OwogCiAJCWRvIHsKLQkJCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bDsKKwkJCXN0cnVjdCBpbnRl bF90aW1lbGluZSAqdGw7CiAJCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAotCQkJdGwgPSBj aGVja2VkX2k5MTVfdGltZWxpbmVfY3JlYXRlKGk5MTUpOworCQkJdGwgPSBjaGVja2VkX2ludGVs X3RpbWVsaW5lX2NyZWF0ZShpOTE1KTsKIAkJCWlmIChJU19FUlIodGwpKSB7CiAJCQkJZXJyID0g UFRSX0VSUih0bCk7CiAJCQkJZ290byBvdXQ7CkBAIC03OTIsMTQgKzc5MiwxNCBAQCBzdGF0aWMg aW50IGxpdmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAogCQkJcnEgPSB0bF93cml0ZSh0bCwg ZW5naW5lLCBjb3VudCk7CiAJCQlpZiAoSVNfRVJSKHJxKSkgewotCQkJCWk5MTVfdGltZWxpbmVf cHV0KHRsKTsKKwkJCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCQkJCWVyciA9IFBUUl9FUlIo cnEpOwogCQkJCWdvdG8gb3V0OwogCQkJfQogCiAJCQlpZiAoaTkxNV9yZXF1ZXN0X3dhaXQocnEs IDAsIEhaIC8gNSkgPCAwKSB7CiAJCQkJcHJfZXJyKCJXYWl0IGZvciB0aW1lbGluZSB3cml0ZXMg dGltZWQgb3V0IVxuIik7Ci0JCQkJaTkxNV90aW1lbGluZV9wdXQodGwpOworCQkJCWludGVsX3Rp bWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0gLUVJTzsKIAkJCQlnb3RvIG91dDsKIAkJCX0KQEAg LTgxMCwxMyArODEwLDEzIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3JlY3ljbGUodm9pZCAqYXJn KQogCQkJCWVyciA9IC1FSU5WQUw7CiAJCQl9CiAKLQkJCWk5MTVfdGltZWxpbmVfcHV0KHRsKTsK KwkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQljb3VudCsrOwogCiAJCQlpZiAoZXJyKQog CQkJCWdvdG8gb3V0OwogCi0JCQlpOTE1X3RpbWVsaW5lc19wYXJrKGk5MTUpOyAvKiBFbmNvdXJh Z2UgcmVjeWNsaW5nISAqLworCQkJaW50ZWxfdGltZWxpbmVzX3BhcmsoaTkxNSk7IC8qIEVuY291 cmFnZSByZWN5Y2xpbmchICovCiAJCX0gd2hpbGUgKCFfX2lndF90aW1lb3V0KGVuZF90aW1lLCBO VUxMKSk7CiAJfQogCkBAIC04MjksNyArODI5LDcgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfcmVj eWNsZSh2b2lkICphcmcpCiAJcmV0dXJuIGVycjsKIH0KIAotaW50IGk5MTVfdGltZWxpbmVfbGl2 ZV9zZWxmdGVzdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitpbnQgaW50ZWxfdGlt ZWxpbmVfbGl2ZV9zZWxmdGVzdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJ c3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3N1YnRlc3QgdGVzdHNbXSA9IHsKIAkJU1VCVEVTVChs aXZlX2h3c3BfcmVjeWNsZSksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvbW9ja190aW1lbGluZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3Rz L21vY2tfdGltZWxpbmUuYwpzaW1pbGFyaXR5IGluZGV4IDcyJQpyZW5hbWUgZnJvbSBkcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCnJlbmFtZSB0byBkcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCmluZGV4IGM4MGFjMGZi ZGQzYi4uNWM1NDkyMDU4MjhhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvbW9ja190aW1lbGluZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0 ZXN0cy9tb2NrX3RpbWVsaW5lLmMKQEAgLTQsMTEgKzQsMTEgQEAKICAqIENvcHlyaWdodCDCqSAy MDE3LTIwMTggSW50ZWwgQ29ycG9yYXRpb24KICAqLwogCi0jaW5jbHVkZSAiLi4vaTkxNV90aW1l bGluZS5oIgorI2luY2x1ZGUgIi4uL2ludGVsX3RpbWVsaW5lLmgiCiAKICNpbmNsdWRlICJtb2Nr X3RpbWVsaW5lLmgiCiAKLXZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVs aW5lICp0aW1lbGluZSwgdTY0IGNvbnRleHQpCit2b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKIHsKIAl0aW1lbGluZS0+ Z3QgPSBOVUxMOwogCXRpbWVsaW5lLT5mZW5jZV9jb250ZXh0ID0gY29udGV4dDsKQEAgLTIzLDcg KzIzLDcgQEAgdm9pZCBtb2NrX3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRp bWVsaW5lLCB1NjQgY29udGV4dCkKIAlJTklUX0xJU1RfSEVBRCgmdGltZWxpbmUtPmxpbmspOwog fQogCi12b2lkIG1vY2tfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxp bmUpCit2b2lkIG1vY2tfdGltZWxpbmVfZmluaShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVs aW5lKQogewogCWk5MTVfc3luY21hcF9mcmVlKCZ0aW1lbGluZS0+c3luYyk7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuaApzaW1pbGFyaXR5 IGluZGV4IDUzJQpyZW5hbWUgZnJvbSBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9j a190aW1lbGluZS5oCnJlbmFtZSB0byBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdHMv bW9ja190aW1lbGluZS5oCmluZGV4IGI2ZGVhYTYxMTEwZC4uNjg5ZWZjNjZjOTA4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgKQEAgLTcs OSArNyw5IEBACiAjaWZuZGVmIF9fTU9DS19USU1FTElORV9fCiAjZGVmaW5lIF9fTU9DS19USU1F TElORV9fCiAKLXN0cnVjdCBpOTE1X3RpbWVsaW5lOworc3RydWN0IGludGVsX3RpbWVsaW5lOwog Ci12b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUs IHU2NCBjb250ZXh0KTsKLXZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVs aW5lICp0aW1lbGluZSk7Cit2b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCk7Cit2b2lkIG1vY2tfdGltZWxpbmVfZmluaShz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lKTsKIAogI2VuZGlmIC8qICFfX01PQ0tfVElN RUxJTkVfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNGRlZGYzMzQzNmJjLi41NTIz Njg1MWJmODYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtODksNyArODksNyBAQAogI2lu Y2x1ZGUgImk5MTVfZ3B1X2Vycm9yLmgiCiAjaW5jbHVkZSAiaTkxNV9yZXF1ZXN0LmgiCiAjaW5j bHVkZSAiaTkxNV9zY2hlZHVsZXIuaCIKLSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lLmgiCisjaW5j bHVkZSAiZ3QvaW50ZWxfdGltZWxpbmUuaCIKICNpbmNsdWRlICJpOTE1X3ZtYS5oIgogCiAjaW5j bHVkZSAiaW50ZWxfZ3Z0LmgiCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA1MGQ3ZTFlOGQ4 YWQuLjZlMDcxMjcyNDJkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC05MDksNyArOTA5 LDcgQEAgd2FpdF9mb3JfdGltZWxpbmVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAog CQkgICB1bnNpZ25lZCBpbnQgZmxhZ3MsIGxvbmcgdGltZW91dCkKIHsKIAlzdHJ1Y3QgaTkxNV9n dF90aW1lbGluZXMgKmd0ID0gJmk5MTUtPmd0LnRpbWVsaW5lczsKLQlzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGw7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bDsKIAogCW11dGV4X2xvY2soJmd0 LT5tdXRleCk7CiAJbGlzdF9mb3JfZWFjaF9lbnRyeSh0bCwgJmd0LT5hY3RpdmVfbGlzdCwgbGlu aykgewpAQCAtMTQ4Nyw3ICsxNDg3LDcgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJZGV2X3ByaXYtPm1tLnVub3JkZXJlZF90aW1lbGlu ZSA9IGRtYV9mZW5jZV9jb250ZXh0X2FsbG9jKDEpOwogCi0JaTkxNV90aW1lbGluZXNfaW5pdChk ZXZfcHJpdik7CisJaW50ZWxfdGltZWxpbmVzX2luaXQoZGV2X3ByaXYpOwogCiAJcmV0ID0gaTkx NV9nZW1faW5pdF91c2VycHRyKGRldl9wcml2KTsKIAlpZiAocmV0KQpAQCAtMTYyNCw3ICsxNjI0 LDcgQEAgaW50IGk5MTVfZ2VtX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQogCiAJaWYgKHJldCAhPSAtRUlPKSB7CiAJCWk5MTVfZ2VtX2NsZWFudXBfdXNlcnB0cihkZXZf cHJpdik7Ci0JCWk5MTVfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOworCQlpbnRlbF90aW1lbGlu ZXNfZmluaShkZXZfcHJpdik7CiAJfQogCiAJaWYgKHJldCA9PSAtRUlPKSB7CkBAIC0xNjg4LDcg KzE2ODgsNyBAQCB2b2lkIGk5MTVfZ2VtX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQogCiAJaW50ZWxfdWNfZmluaV9taXNjKGRldl9wcml2KTsKIAlpOTE1X2dlbV9jbGVh bnVwX3VzZXJwdHIoZGV2X3ByaXYpOwotCWk5MTVfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOwor CWludGVsX3RpbWVsaW5lc19maW5pKGRldl9wcml2KTsKIAogCWk5MTVfZ2VtX2RyYWluX2ZyZWVk X29iamVjdHMoZGV2X3ByaXYpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCmluZGV4 IDllYTEwNjgwNmNmNy4uNzhlNjA5N2E0ZTI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuaApAQCAtNDMsNyArNDMsNyBAQAogI2luY2x1ZGUgImk5MTVfcmVxdWVzdC5oIgogI2luY2x1 ZGUgImk5MTVfc2NhdHRlcmxpc3QuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCi0jaW5j bHVkZSAiaTkxNV90aW1lbGluZS5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVsaW5lLmgiCiAK ICNkZWZpbmUgSTkxNV9HVFRfUEFHRV9TSVpFXzRLCUJJVF9VTEwoMTIpCiAjZGVmaW5lIEk5MTVf R1RUX1BBR0VfU0laRV82NEsJQklUX1VMTCgxNikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0 LmMKaW5kZXggYTE5NWE5MmQwMTA1Li42ZTMyZTkxNDUxMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVxdWVzdC5jCkBAIC01OTYsNyArNTk2LDcgQEAgcmVxdWVzdF9hbGxvY19zbG93KHN0cnVj dCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3QgZ2ZwKQogc3RydWN0IGk5MTVfcmVxdWVzdCAqCiBf X2k5MTVfcmVxdWVzdF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmNlLCBnZnBfdCBnZnAp CiB7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsID0gY2UtPnJpbmctPnRpbWVsaW5lOworCXN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGwgPSBjZS0+cmluZy0+dGltZWxpbmU7CiAJc3RydWN0IGk5 MTVfcmVxdWVzdCAqcnE7CiAJdTMyIHNlcW5vOwogCWludCByZXQ7CkBAIC02NDUsNyArNjQ1LDcg QEAgX19pOTE1X3JlcXVlc3RfY3JlYXRlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwgZ2ZwX3Qg Z2ZwKQogCQl9CiAJfQogCi0JcmV0ID0gaTkxNV90aW1lbGluZV9nZXRfc2Vxbm8odGwsIHJxLCAm c2Vxbm8pOworCXJldCA9IGludGVsX3RpbWVsaW5lX2dldF9zZXFubyh0bCwgcnEsICZzZXFubyk7 CiAJaWYgKHJldCkKIAkJZ290byBlcnJfZnJlZTsKIApAQCAtNzY0LDcgKzc2NCw3IEBAIGk5MTVf cmVxdWVzdF9hd2FpdF9zdGFydChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgc3RydWN0IGk5MTVf cmVxdWVzdCAqc2lnbmFsKQogCQlyZXR1cm4gMDsKIAogCXNpZ25hbCA9IGxpc3RfcHJldl9lbnRy eShzaWduYWwsIHJpbmdfbGluayk7Ci0JaWYgKGk5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcihy cS0+dGltZWxpbmUsICZzaWduYWwtPmZlbmNlKSkKKwlpZiAoaW50ZWxfdGltZWxpbmVfc3luY19p c19sYXRlcihycS0+dGltZWxpbmUsICZzaWduYWwtPmZlbmNlKSkKIAkJcmV0dXJuIDA7CiAKIAly ZXR1cm4gaTkxNV9zd19mZW5jZV9hd2FpdF9kbWFfZmVuY2UoJnJxLT5zdWJtaXQsCkBAIC04MTgs NyArODE4LDcgQEAgZW1pdF9zZW1hcGhvcmVfd2FpdChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywK IAkJcmV0dXJuIGVycjsKIAogCS8qIFdlIG5lZWQgdG8gcGluIHRoZSBzaWduYWxlcidzIEhXU1Ag dW50aWwgd2UgYXJlIGZpbmlzaGVkIHJlYWRpbmcuICovCi0JZXJyID0gaTkxNV90aW1lbGluZV9y ZWFkX2h3c3AoZnJvbSwgdG8sICZod3NwX29mZnNldCk7CisJZXJyID0gaW50ZWxfdGltZWxpbmVf cmVhZF9od3NwKGZyb20sIHRvLCAmaHdzcF9vZmZzZXQpOwogCWlmIChlcnIpCiAJCXJldHVybiBl cnI7CiAKQEAgLTkyOSw3ICs5MjksNyBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHN0 cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIAogCQkvKiBT cXVhc2ggcmVwZWF0ZWQgd2FpdHMgdG8gdGhlIHNhbWUgdGltZWxpbmVzICovCiAJCWlmIChmZW5j ZS0+Y29udGV4dCAhPSBycS0+aTkxNS0+bW0udW5vcmRlcmVkX3RpbWVsaW5lICYmCi0JCSAgICBp OTE1X3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIocnEtPnRpbWVsaW5lLCBmZW5jZSkpCisJCSAgICBp bnRlbF90aW1lbGluZV9zeW5jX2lzX2xhdGVyKHJxLT50aW1lbGluZSwgZmVuY2UpKQogCQkJY29u dGludWU7CiAKIAkJaWYgKGRtYV9mZW5jZV9pc19pOTE1KGZlbmNlKSkKQEAgLTk0Myw3ICs5NDMs NyBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx LCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKIAogCQkvKiBSZWNvcmQgdGhlIGxhdGVzdCBmZW5j ZSB1c2VkIGFnYWluc3QgZWFjaCB0aW1lbGluZSAqLwogCQlpZiAoZmVuY2UtPmNvbnRleHQgIT0g cnEtPmk5MTUtPm1tLnVub3JkZXJlZF90aW1lbGluZSkKLQkJCWk5MTVfdGltZWxpbmVfc3luY19z ZXQocnEtPnRpbWVsaW5lLCBmZW5jZSk7CisJCQlpbnRlbF90aW1lbGluZV9zeW5jX3NldChycS0+ dGltZWxpbmUsIGZlbmNlKTsKIAl9IHdoaWxlICgtLW5jaGlsZCk7CiAKIAlyZXR1cm4gMDsKQEAg LTEwODEsNyArMTA4MSw3IEBAIHZvaWQgaTkxNV9yZXF1ZXN0X3NraXAoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsIGludCBlcnJvcikKIHN0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKIF9faTkx NV9yZXF1ZXN0X2FkZF90b190aW1lbGluZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKIHsKLQlz dHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmUgPSBycS0+dGltZWxpbmU7CisJc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZSA9IHJxLT50aW1lbGluZTsKIAlzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpwcmV2OwogCiAJLyoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKaW5kZXggZWRi YmRmZWMyNGFiLi5iOTBmM2Q3YTI5ZDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5o CkBAIC00MCw4ICs0MCw4IEBACiBzdHJ1Y3QgZHJtX2ZpbGU7CiBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdDsKIHN0cnVjdCBpOTE1X3JlcXVlc3Q7Ci1zdHJ1Y3QgaTkxNV90aW1lbGluZTsKLXN0 cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZTsKK3N0cnVjdCBpbnRlbF90aW1lbGluZTsKK3N0 cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmU7CiAKIHN0cnVjdCBpOTE1X2NhcHR1cmVfbGlz dCB7CiAJc3RydWN0IGk5MTVfY2FwdHVyZV9saXN0ICpuZXh0OwpAQCAtMTEyLDcgKzExMiw3IEBA IHN0cnVjdCBpOTE1X3JlcXVlc3QgewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsK IAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqaHdfY29udGV4dDsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAq cmluZzsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGludGVsX3Rp bWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHNpZ25hbF9saW5rOwogCiAJLyoK QEAgLTE3NSw3ICsxNzUsNyBAQCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0IHsKIAkgKiBpbnNpZGUgdGhl IHRpbWVsaW5lJ3MgSFdTUCB2bWEsIGJ1dCBpdCBpcyBvbmx5IHZhbGlkIHdoaWxlIHRoaXMKIAkg KiByZXF1ZXN0IGhhcyBub3QgY29tcGxldGVkIGFuZCBndWFyZGVkIGJ5IHRoZSB0aW1lbGluZSBt dXRleC4KIAkgKi8KLQlzdHJ1Y3QgaTkxNV90aW1lbGluZV9jYWNoZWxpbmUgKmh3c3BfY2FjaGVs aW5lOworCXN0cnVjdCBpbnRlbF90aW1lbGluZV9jYWNoZWxpbmUgKmh3c3BfY2FjaGVsaW5lOwog CiAJLyoqIFBvc2l0aW9uIGluIHRoZSByaW5nIG9mIHRoZSBzdGFydCBvZiB0aGUgcmVxdWVzdCAq LwogCXUzMiBoZWFkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1l bGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90aW1lbGluZS5oCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBhNDU0ZDQ5ZjIyOWYuLjAwMDAwMDAwMDAwMAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmgKKysrIC9kZXYvbnVsbApAQCAtMSw5MyAr MCwwIEBACi0vKgotICogQ29weXJpZ2h0IMKpIDIwMTYgSW50ZWwgQ29ycG9yYXRpb24KLSAqCi0g KiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBl cnNvbiBvYnRhaW5pbmcgYQotICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVk IGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKLSAqIHRvIGRlYWwgaW4gdGhl IFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRp b24KLSAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBk aXN0cmlidXRlLCBzdWJsaWNlbnNlLAotICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0 d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCi0gKiBTb2Z0d2FyZSBpcyBm dXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgot ICoKLSAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90 aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKLSAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQg aW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKLSAqIFNvZnR3YXJl LgotICoKLSAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCi0gKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLSAqIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBF VkVOVCBTSEFMTAotICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxF IEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLSAqIExJQUJJTElUWSwgV0hFVEhFUiBJ TiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCi0gKiBG Uk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNF IE9SIE9USEVSIERFQUxJTkdTCi0gKiBJTiBUSEUgU09GVFdBUkUuCi0gKgotICovCi0KLSNpZm5k ZWYgSTkxNV9USU1FTElORV9ICi0jZGVmaW5lIEk5MTVfVElNRUxJTkVfSAotCi0jaW5jbHVkZSA8 bGludXgvbG9ja2RlcC5oPgotCi0jaW5jbHVkZSAiaTkxNV9hY3RpdmUuaCIKLSNpbmNsdWRlICJp OTE1X3N5bmNtYXAuaCIKLSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lX3R5cGVzLmgiCi0KLWludCBp OTE1X3RpbWVsaW5lX2luaXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkgICAgICAgc3Ry dWN0IGludGVsX2d0ICpndCwKLQkJICAgICAgIHN0cnVjdCBpOTE1X3ZtYSAqaHdzcCk7Ci12b2lk IGk5MTVfdGltZWxpbmVfZmluaShzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwpOwotCi1zdHJ1Y3Qg aTkxNV90aW1lbGluZSAqCi1pOTE1X3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0 LCBzdHJ1Y3QgaTkxNV92bWEgKmdsb2JhbF9od3NwKTsKLQotc3RhdGljIGlubGluZSBzdHJ1Y3Qg aTkxNV90aW1lbGluZSAqCi1pOTE1X3RpbWVsaW5lX2dldChzdHJ1Y3QgaTkxNV90aW1lbGluZSAq dGltZWxpbmUpCi17Ci0Ja3JlZl9nZXQoJnRpbWVsaW5lLT5rcmVmKTsKLQlyZXR1cm4gdGltZWxp bmU7Ci19Ci0KLXZvaWQgX19pOTE1X3RpbWVsaW5lX2ZyZWUoc3RydWN0IGtyZWYgKmtyZWYpOwot c3RhdGljIGlubGluZSB2b2lkIGk5MTVfdGltZWxpbmVfcHV0KHN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0aW1lbGluZSkKLXsKLQlrcmVmX3B1dCgmdGltZWxpbmUtPmtyZWYsIF9faTkxNV90aW1lbGlu ZV9mcmVlKTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0 KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJICAgdTY0IGNvbnRleHQsIHUzMiBzZXFu bykKLXsKLQlyZXR1cm4gaTkxNV9zeW5jbWFwX3NldCgmdGwtPnN5bmMsIGNvbnRleHQsIHNlcW5v KTsKLX0KLQotc3RhdGljIGlubGluZSBpbnQgaTkxNV90aW1lbGluZV9zeW5jX3NldChzdHJ1Y3Qg aTkxNV90aW1lbGluZSAqdGwsCi0JCQkJCSBjb25zdCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkK LXsKLQlyZXR1cm4gX19pOTE1X3RpbWVsaW5lX3N5bmNfc2V0KHRsLCBmZW5jZS0+Y29udGV4dCwg ZmVuY2UtPnNlcW5vKTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIF9faTkxNV90aW1lbGluZV9z eW5jX2lzX2xhdGVyKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJCSB1NjQgY29udGV4 dCwgdTMyIHNlcW5vKQotewotCXJldHVybiBpOTE1X3N5bmNtYXBfaXNfbGF0ZXIoJnRsLT5zeW5j LCBjb250ZXh0LCBzZXFubyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X3RpbWVsaW5l X3N5bmNfaXNfbGF0ZXIoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJCQkgICAgICAgY29u c3Qgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCi17Ci0JcmV0dXJuIF9faTkxNV90aW1lbGluZV9z eW5jX2lzX2xhdGVyKHRsLCBmZW5jZS0+Y29udGV4dCwgZmVuY2UtPnNlcW5vKTsKLX0KLQotaW50 IGk5MTVfdGltZWxpbmVfcGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCk7Ci1pbnQgaTkxNV90 aW1lbGluZV9nZXRfc2Vxbm8oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJICAgIHN0cnVj dCBpOTE1X3JlcXVlc3QgKnJxLAotCQkJICAgIHUzMiAqc2Vxbm8pOwotdm9pZCBpOTE1X3RpbWVs aW5lX3VucGluKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCk7Ci0KLWludCBpOTE1X3RpbWVsaW5l X3JlYWRfaHdzcChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpmcm9tLAotCQkJICAgIHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnVudGlsLAotCQkJICAgIHUzMiAqaHdzcF9vZmZzZXQpOwotCi12b2lkIGk5MTVf dGltZWxpbmVzX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwotdm9pZCBpOTE1 X3RpbWVsaW5lc19wYXJrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKLXZvaWQgaTkx NV90aW1lbGluZXNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Ci0KLSNlbmRp ZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9z ZWxmdGVzdHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2Vs ZnRlc3RzLmgKaW5kZXggZDVkYzQ0MjdkNjY0Li4yYjMxYTRlZTBiNGMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2xpdmVfc2VsZnRlc3RzLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMuaApAQCAt MTIsNyArMTIsNyBAQAogc2VsZnRlc3Qoc2FuaXR5Y2hlY2ssIGk5MTVfbGl2ZV9zYW5pdHljaGVj aykgLyoga2VlcCBmaXJzdCAoaWd0IHNlbGZjaGVjaykgKi8KIHNlbGZ0ZXN0KHVuY29yZSwgaW50 ZWxfdW5jb3JlX2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3Qod29ya2Fyb3VuZHMsIGludGVsX3dv cmthcm91bmRzX2xpdmVfc2VsZnRlc3RzKQotc2VsZnRlc3QodGltZWxpbmVzLCBpOTE1X3RpbWVs aW5lX2xpdmVfc2VsZnRlc3RzKQorc2VsZnRlc3QodGltZWxpbmVzLCBpbnRlbF90aW1lbGluZV9s aXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KHJlcXVlc3RzLCBpOTE1X3JlcXVlc3RfbGl2ZV9zZWxm dGVzdHMpCiBzZWxmdGVzdChhY3RpdmUsIGk5MTVfYWN0aXZlX2xpdmVfc2VsZnRlc3RzKQogc2Vs ZnRlc3Qob2JqZWN0cywgaTkxNV9nZW1fb2JqZWN0X2xpdmVfc2VsZnRlc3RzKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKaW5k ZXggNTEwZWIxNzZiYjJjLi5iNTVkYTRkOWNjYmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaApAQCAtMTUsNyArMTUsNyBA QCBzZWxmdGVzdChzY2F0dGVybGlzdCwgc2NhdHRlcmxpc3RfbW9ja19zZWxmdGVzdHMpCiBzZWxm dGVzdChzeW5jbWFwLCBpOTE1X3N5bmNtYXBfbW9ja19zZWxmdGVzdHMpCiBzZWxmdGVzdCh1bmNv cmUsIGludGVsX3VuY29yZV9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGVuZ2luZSwgaW50ZWxf ZW5naW5lX2NzX21vY2tfc2VsZnRlc3RzKQotc2VsZnRlc3QodGltZWxpbmVzLCBpOTE1X3RpbWVs aW5lX21vY2tfc2VsZnRlc3RzKQorc2VsZnRlc3QodGltZWxpbmVzLCBpbnRlbF90aW1lbGluZV9t b2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KHJlcXVlc3RzLCBpOTE1X3JlcXVlc3RfbW9ja19zZWxm dGVzdHMpCiBzZWxmdGVzdChvYmplY3RzLCBpOTE1X2dlbV9vYmplY3RfbW9ja19zZWxmdGVzdHMp CiBzZWxmdGVzdChwaHlzLCBpOTE1X2dlbV9waHlzX21vY2tfc2VsZnRlc3RzKQpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCmluZGV4IGNkMzM0 YTAxOWZkOS4uMzI5YzI1ZWQwODVhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCkBAIC02OCw3ICs2OCw3IEBAIHN0YXRpYyB2b2lkIG1v Y2tfZGV2aWNlX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpOTE1X2dlbV9jb250 ZXh0c19maW5pKGk5MTUpOwogCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7 CiAKLQlpOTE1X3RpbWVsaW5lc19maW5pKGk5MTUpOworCWludGVsX3RpbWVsaW5lc19maW5pKGk5 MTUpOwogCiAJZHJhaW5fd29ya3F1ZXVlKGk5MTUtPndxKTsKIAlpOTE1X2dlbV9kcmFpbl9mcmVl ZF9vYmplY3RzKGk5MTUpOwpAQCAtMTk5LDcgKzE5OSw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAogCWk5MTUtPmd0LmF3YWtlID0gdHJ1ZTsKIAot CWk5MTVfdGltZWxpbmVzX2luaXQoaTkxNSk7CisJaW50ZWxfdGltZWxpbmVzX2luaXQoaTkxNSk7 CiAKIAltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKIApAQCAtMjMyLDcgKzIz Miw3IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAlt b2NrX2VuZ2luZV9mcmVlKGk5MTUtPmVuZ2luZVtSQ1MwXSk7CiBlcnJfdW5sb2NrOgogCW11dGV4 X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Ci0JaTkxNV90aW1lbGluZXNfZmluaShp OTE1KTsKKwlpbnRlbF90aW1lbGluZXNfZmluaShpOTE1KTsKIAlkZXN0cm95X3dvcmtxdWV1ZShp OTE1LT53cSk7CiBlcnJfZHJ2OgogCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKCZpOTE1LT5kcm0p OwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n Zng=