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: Tue, 18 Jun 2019 14:03:44 +0100 Message-ID: <20190618130345.6135-33-tvrtko.ursulin@linux.intel.com> References: <20190618130345.6135-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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8E5B26E16D for ; Tue, 18 Jun 2019 13:04:36 +0000 (UTC) In-Reply-To: <20190618130345.6135-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 X2NzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBj MmFmYzhkMzRhYTIuLjkwYzY1MjY5ZWFkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 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 L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAppbmRleCA3YTNmMWY0MzU2N2Qu LjQ2YTIzM2ZkZWI3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf ZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5l X3R5cGVzLmgKQEAgLTE5LDcgKzE5LDcgQEAKICNpbmNsdWRlICJpOTE1X3BtdS5oIgogI2luY2x1 ZGUgImk5MTVfcHJpb2xpc3RfdHlwZXMuaCIKICNpbmNsdWRlICJpOTE1X3NlbGZ0ZXN0LmgiCi0j aW5jbHVkZSAiaTkxNV90aW1lbGluZV90eXBlcy5oIgorI2luY2x1ZGUgImd0L2ludGVsX3RpbWVs aW5lX3R5cGVzLmgiCiAjaW5jbHVkZSAiaW50ZWxfc3NldS5oIgogI2luY2x1ZGUgImludGVsX3dh a2VyZWYuaCIKICNpbmNsdWRlICJpbnRlbF93b3JrYXJvdW5kc190eXBlcy5oIgpAQCAtNjcsNyAr NjcsNyBAQCBzdHJ1Y3QgaW50ZWxfcmluZyB7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJdm9p ZCAqdmFkZHI7CiAKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGlu dGVsX3RpbWVsaW5lICp0aW1lbGluZTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIHJlcXVlc3RfbGlzdDsK IAlzdHJ1Y3QgbGlzdF9oZWFkIGFjdGl2ZV9saW5rOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVs X2xyYy5jCmluZGV4IDIwZjA3ZGJmNWJlOS4uN2NjM2FiMzg3NjhmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9scmMuYwpAQCAtMjkzNywxMyArMjkzNywxMyBAQCBwb3B1bGF0ZV9scl9jb250 ZXh0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSwKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMg c3RydWN0IGk5MTVfdGltZWxpbmUgKgorc3RhdGljIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqCiBn ZXRfdGltZWxpbmUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwgc3RydWN0IGludGVsX2d0 ICpndCkKIHsKIAlpZiAoY3R4LT50aW1lbGluZSkKLQkJcmV0dXJuIGk5MTVfdGltZWxpbmVfZ2V0 KGN0eC0+dGltZWxpbmUpOworCQlyZXR1cm4gaW50ZWxfdGltZWxpbmVfZ2V0KGN0eC0+dGltZWxp bmUpOwogCWVsc2UKLQkJcmV0dXJuIGk5MTVfdGltZWxpbmVfY3JlYXRlKGd0LCBOVUxMKTsKKwkJ cmV0dXJuIGludGVsX3RpbWVsaW5lX2NyZWF0ZShndCwgTlVMTCk7CiB9CiAKIHN0YXRpYyBpbnQg ZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQgKmNl LApAQCAtMjk1Myw3ICsyOTUzLDcgQEAgc3RhdGljIGludCBleGVjbGlzdHNfY29udGV4dF9kZWZl cnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJc3RydWN0IGk5MTVfdm1hICp2 bWE7CiAJdTMyIGNvbnRleHRfc2l6ZTsKIAlzdHJ1Y3QgaW50ZWxfcmluZyAqcmluZzsKLQlzdHJ1 Y3QgaTkxNV90aW1lbGluZSAqdGltZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0aW1l bGluZTsKIAlpbnQgcmV0OwogCiAJaWYgKGNlLT5zdGF0ZSkKQEAgLTI5ODYsNyArMjk4Niw3IEBA IHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Moc3RydWN0IGludGVs X2NvbnRleHQgKmNlLAogCXJpbmcgPSBpbnRlbF9lbmdpbmVfY3JlYXRlX3JpbmcoZW5naW5lLAog CQkJCQl0aW1lbGluZSwKIAkJCQkJY2UtPmdlbV9jb250ZXh0LT5yaW5nX3NpemUpOwotCWk5MTVf dGltZWxpbmVfcHV0KHRpbWVsaW5lKTsKKwlpbnRlbF90aW1lbGluZV9wdXQodGltZWxpbmUpOwog CWlmIChJU19FUlIocmluZykpIHsKIAkJcmV0ID0gUFRSX0VSUihyaW5nKTsKIAkJZ290byBlcnJv cl9kZXJlZl9vYmo7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9y ZXNldC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwppbmRleCA1Mjk3 YjNhY2I1NmQuLjNjOTI1YWY2NDc5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfcmVzZXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNl dC5jCkBAIC04NTEsNyArODUxLDcgQEAgdm9pZCBpOTE1X2dlbV9zZXRfd2VkZ2VkKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1KQogc3RhdGljIGJvb2wgX19pOTE1X2dlbV91bnNldF93ZWRn ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiB7CiAJc3RydWN0IGk5MTVfZ3B1X2Vy cm9yICplcnJvciA9ICZpOTE1LT5ncHVfZXJyb3I7Ci0Jc3RydWN0IGk5MTVfdGltZWxpbmUgKnRs OworCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAKIAlpZiAoIXRlc3RfYml0KEk5MTVfV0VE R0VELCAmZXJyb3ItPmZsYWdzKSkKIAkJcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9ndC9pbnRlbF9yaW5nYnVmZmVyLmMKaW5kZXggZjI0ZGJjNWEyMGUxLi5hNWU2ZTJiYjIzNzYg 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 aW5kZXggYjgwZWMwZjUzMTExLi40NjNjY2IzNzc3YzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 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 L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKaW5kZXggOWViNGU5YWI4NTU3Li4xMjQ3 NzBkODMzMDkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 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 UFRSX0VSUih0bCk7CiAJCQkJZ290byBvdXQ7CkBAIC03OTIsNyArNzkyLDcgQEAgc3RhdGljIGlu dCBsaXZlX2h3c3BfcmVjeWNsZSh2b2lkICphcmcpCiAKIAkJCXJxID0gdGxfd3JpdGUodGwsIGVu Z2luZSwgY291bnQpOwogCQkJaWYgKElTX0VSUihycSkpIHsKLQkJCQlpOTE1X3RpbWVsaW5lX3B1 dCh0bCk7CisJCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIgPSBQVFJfRVJSKHJx KTsKIAkJCQlnb3RvIG91dDsKIAkJCX0KQEAgLTgwMSw3ICs4MDEsNyBAQCBzdGF0aWMgaW50IGxp dmVfaHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAkJCQkJICAgICAgSTkxNV9XQUlUX0xPQ0tFRCwK IAkJCQkJICAgICAgSFogLyA1KSA8IDApIHsKIAkJCQlwcl9lcnIoIldhaXQgZm9yIHRpbWVsaW5l IHdyaXRlcyB0aW1lZCBvdXQhXG4iKTsKLQkJCQlpOTE1X3RpbWVsaW5lX3B1dCh0bCk7CisJCQkJ aW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCQllcnIgPSAtRUlPOwogCQkJCWdvdG8gb3V0Owog CQkJfQpAQCAtODEyLDEzICs4MTIsMTMgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfcmVjeWNsZSh2 b2lkICphcmcpCiAJCQkJZXJyID0gLUVJTlZBTDsKIAkJCX0KIAotCQkJaTkxNV90aW1lbGluZV9w dXQodGwpOworCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKIAkJCWNvdW50Kys7CiAKIAkJCWlm IChlcnIpCiAJCQkJZ290byBvdXQ7CiAKLQkJCWk5MTVfdGltZWxpbmVzX3BhcmsoaTkxNSk7IC8q IEVuY291cmFnZSByZWN5Y2xpbmchICovCisJCQlpbnRlbF90aW1lbGluZXNfcGFyayhpOTE1KTsg LyogRW5jb3VyYWdlIHJlY3ljbGluZyEgKi8KIAkJfSB3aGlsZSAoIV9faWd0X3RpbWVvdXQoZW5k X3RpbWUsIE5VTEwpKTsKIAl9CiAKQEAgLTgzMSw3ICs4MzEsNyBAQCBzdGF0aWMgaW50IGxpdmVf aHdzcF9yZWN5Y2xlKHZvaWQgKmFyZykKIAlyZXR1cm4gZXJyOwogfQogCi1pbnQgaTkxNV90aW1l bGluZV9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK2ludCBp bnRlbF90aW1lbGluZV9saXZlX3NlbGZ0ZXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKIHsKIAlzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewogCQlT VUJURVNUKGxpdmVfaHdzcF9yZWN5Y2xlKSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9z ZWxmdGVzdHMvbW9ja190aW1lbGluZS5jCnNpbWlsYXJpdHkgaW5kZXggNzIlCnJlbmFtZSBmcm9t IGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKcmVuYW1lIHRv IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKaW5kZXgg YzgwYWMwZmJkZDNiLi41YzU0OTIwNTgyOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUuYwpAQCAtNCwxMSArNCwxMSBAQAogICogQ29weXJp Z2h0IMKpIDIwMTctMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgogICovCiAKLSNpbmNsdWRlICIuLi9p OTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiLi4vaW50ZWxfdGltZWxpbmUuaCIKIAogI2luY2x1 ZGUgIm1vY2tfdGltZWxpbmUuaCIKIAotdm9pZCBtb2NrX3RpbWVsaW5lX2luaXQoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRpbWVsaW5lLCB1NjQgY29udGV4dCkKK3ZvaWQgbW9ja190aW1lbGluZV9p bml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KQogewogCXRp bWVsaW5lLT5ndCA9IE5VTEw7CiAJdGltZWxpbmUtPmZlbmNlX2NvbnRleHQgPSBjb250ZXh0OwpA QCAtMjMsNyArMjMsNyBAQCB2b2lkIG1vY2tfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1l bGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KQogCUlOSVRfTElTVF9IRUFEKCZ0aW1lbGluZS0+ bGluayk7CiB9CiAKLXZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5l ICp0aW1lbGluZSkKK3ZvaWQgbW9ja190aW1lbGluZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGlu ZSAqdGltZWxpbmUpCiB7CiAJaTkxNV9zeW5jbWFwX2ZyZWUoJnRpbWVsaW5lLT5zeW5jKTsKIH0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5l LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdHMvbW9ja190aW1lbGluZS5oCnNp bWlsYXJpdHkgaW5kZXggNTMlCnJlbmFtZSBmcm9tIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9tb2NrX3RpbWVsaW5lLmgKcmVuYW1lIHRvIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0cy9tb2NrX3RpbWVsaW5lLmgKaW5kZXggYjZkZWFhNjExMTBkLi42ODllZmM2NmM5MDgg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX3RpbWVsaW5l LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RzL21vY2tfdGltZWxpbmUu aApAQCAtNyw5ICs3LDkgQEAKICNpZm5kZWYgX19NT0NLX1RJTUVMSU5FX18KICNkZWZpbmUgX19N T0NLX1RJTUVMSU5FX18KIAotc3RydWN0IGk5MTVfdGltZWxpbmU7CitzdHJ1Y3QgaW50ZWxfdGlt ZWxpbmU7CiAKLXZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0 aW1lbGluZSwgdTY0IGNvbnRleHQpOwotdm9pZCBtb2NrX3RpbWVsaW5lX2Zpbmkoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRpbWVsaW5lKTsKK3ZvaWQgbW9ja190aW1lbGluZV9pbml0KHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGltZWxpbmUsIHU2NCBjb250ZXh0KTsKK3ZvaWQgbW9ja190aW1lbGlu ZV9maW5pKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUpOwogCiAjZW5kaWYgLyogIV9f TU9DS19USU1FTElORV9fICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA5NDZmMDFlZjM4 ODEuLjdkMDI0Yzc3ZWI1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04OSw3ICs4OSw3 IEBACiAjaW5jbHVkZSAiaTkxNV9ncHVfZXJyb3IuaCIKICNpbmNsdWRlICJpOTE1X3JlcXVlc3Qu aCIKICNpbmNsdWRlICJpOTE1X3NjaGVkdWxlci5oIgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmUu aCIKKyNpbmNsdWRlICJndC9pbnRlbF90aW1lbGluZS5oIgogI2luY2x1ZGUgImk5MTVfdm1hLmgi CiAKICNpbmNsdWRlICJpbnRlbF9ndnQuaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDUw ZDdlMWU4ZDhhZC4uNmUwNzEyNzI0MmQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTkw OSw3ICs5MDksNyBAQCB3YWl0X2Zvcl90aW1lbGluZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUsCiAJCSAgIHVuc2lnbmVkIGludCBmbGFncywgbG9uZyB0aW1lb3V0KQogewogCXN0cnVj dCBpOTE1X2d0X3RpbWVsaW5lcyAqZ3QgPSAmaTkxNS0+Z3QudGltZWxpbmVzOwotCXN0cnVjdCBp OTE1X3RpbWVsaW5lICp0bDsKKwlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCiAJbXV0ZXhf bG9jaygmZ3QtPm11dGV4KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KHRsLCAmZ3QtPmFjdGl2ZV9s aXN0LCBsaW5rKSB7CkBAIC0xNDg3LDcgKzE0ODcsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlkZXZfcHJpdi0+bW0udW5vcmRlcmVk X3RpbWVsaW5lID0gZG1hX2ZlbmNlX2NvbnRleHRfYWxsb2MoMSk7CiAKLQlpOTE1X3RpbWVsaW5l c19pbml0KGRldl9wcml2KTsKKwlpbnRlbF90aW1lbGluZXNfaW5pdChkZXZfcHJpdik7CiAKIAly ZXQgPSBpOTE1X2dlbV9pbml0X3VzZXJwdHIoZGV2X3ByaXYpOwogCWlmIChyZXQpCkBAIC0xNjI0 LDcgKzE2MjQsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAKIAlpZiAocmV0ICE9IC1FSU8pIHsKIAkJaTkxNV9nZW1fY2xlYW51cF91c2Vy cHRyKGRldl9wcml2KTsKLQkJaTkxNV90aW1lbGluZXNfZmluaShkZXZfcHJpdik7CisJCWludGVs X3RpbWVsaW5lc19maW5pKGRldl9wcml2KTsKIAl9CiAKIAlpZiAocmV0ID09IC1FSU8pIHsKQEAg LTE2ODgsNyArMTY4OCw3IEBAIHZvaWQgaTkxNV9nZW1fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF91Y19maW5pX21pc2MoZGV2X3ByaXYpOwogCWk5MTVf Z2VtX2NsZWFudXBfdXNlcnB0cihkZXZfcHJpdik7Ci0JaTkxNV90aW1lbGluZXNfZmluaShkZXZf cHJpdik7CisJaW50ZWxfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOwogCiAJaTkxNV9nZW1fZHJh aW5fZnJlZWRfb2JqZWN0cyhkZXZfcHJpdik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmgKaW5kZXggOWVhMTA2ODA2Y2Y3Li43OGU2MDk3YTRlMjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSAiaTkxNV9yZXF1ZXN0Lmgi CiAjaW5jbHVkZSAiaTkxNV9zY2F0dGVybGlzdC5oIgogI2luY2x1ZGUgImk5MTVfc2VsZnRlc3Qu aCIKLSNpbmNsdWRlICJpOTE1X3RpbWVsaW5lLmgiCisjaW5jbHVkZSAiZ3QvaW50ZWxfdGltZWxp bmUuaCIKIAogI2RlZmluZSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsJQklUX1VMTCgxMikKICNkZWZp bmUgSTkxNV9HVFRfUEFHRV9TSVpFXzY0SwlCSVRfVUxMKDE2KQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlcXVlc3QuYwppbmRleCA5ODE5NDgzZDFiNWQuLmI2ODk0ZDViYmE3NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMKQEAgLTU5Niw3ICs1OTYsNyBAQCByZXF1ZXN0X2FsbG9jX3Ns b3coc3RydWN0IGludGVsX2NvbnRleHQgKmNlLCBnZnBfdCBnZnApCiBzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICoKIF9faTkxNV9yZXF1ZXN0X2NyZWF0ZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsIGdm cF90IGdmcCkKIHsKLQlzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwgPSBjZS0+cmluZy0+dGltZWxp bmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCA9IGNlLT5yaW5nLT50aW1lbGluZTsKIAlz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAl1MzIgc2Vxbm87CiAJaW50IHJldDsKQEAgLTY0NSw3 ICs2NDUsNyBAQCBfX2k5MTVfcmVxdWVzdF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmNl LCBnZnBfdCBnZnApCiAJCX0KIAl9CiAKLQlyZXQgPSBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyh0 bCwgcnEsICZzZXFubyk7CisJcmV0ID0gaW50ZWxfdGltZWxpbmVfZ2V0X3NlcW5vKHRsLCBycSwg JnNlcW5vKTsKIAlpZiAocmV0KQogCQlnb3RvIGVycl9mcmVlOwogCkBAIC03NjQsNyArNzY0LDcg QEAgaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwpCiAJCXJldHVybiAwOwogCiAJc2lnbmFsID0gbGlzdF9w cmV2X2VudHJ5KHNpZ25hbCwgcmluZ19saW5rKTsKLQlpZiAoaTkxNV90aW1lbGluZV9zeW5jX2lz X2xhdGVyKHJxLT50aW1lbGluZSwgJnNpZ25hbC0+ZmVuY2UpKQorCWlmIChpbnRlbF90aW1lbGlu ZV9zeW5jX2lzX2xhdGVyKHJxLT50aW1lbGluZSwgJnNpZ25hbC0+ZmVuY2UpKQogCQlyZXR1cm4g MDsKIAogCXJldHVybiBpOTE1X3N3X2ZlbmNlX2F3YWl0X2RtYV9mZW5jZSgmcnEtPnN1Ym1pdCwK QEAgLTgxOCw3ICs4MTgsNyBAQCBlbWl0X3NlbWFwaG9yZV93YWl0KHN0cnVjdCBpOTE1X3JlcXVl c3QgKnRvLAogCQlyZXR1cm4gZXJyOwogCiAJLyogV2UgbmVlZCB0byBwaW4gdGhlIHNpZ25hbGVy J3MgSFdTUCB1bnRpbCB3ZSBhcmUgZmluaXNoZWQgcmVhZGluZy4gKi8KLQllcnIgPSBpOTE1X3Rp bWVsaW5lX3JlYWRfaHdzcChmcm9tLCB0bywgJmh3c3Bfb2Zmc2V0KTsKKwllcnIgPSBpbnRlbF90 aW1lbGluZV9yZWFkX2h3c3AoZnJvbSwgdG8sICZod3NwX29mZnNldCk7CiAJaWYgKGVycikKIAkJ cmV0dXJuIGVycjsKIApAQCAtOTI5LDcgKzkyOSw3IEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9kbWFf ZmVuY2Uoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQog CiAJCS8qIFNxdWFzaCByZXBlYXRlZCB3YWl0cyB0byB0aGUgc2FtZSB0aW1lbGluZXMgKi8KIAkJ aWYgKGZlbmNlLT5jb250ZXh0ICE9IHJxLT5pOTE1LT5tbS51bm9yZGVyZWRfdGltZWxpbmUgJiYK LQkJICAgIGk5MTVfdGltZWxpbmVfc3luY19pc19sYXRlcihycS0+dGltZWxpbmUsIGZlbmNlKSkK KwkJICAgIGludGVsX3RpbWVsaW5lX3N5bmNfaXNfbGF0ZXIocnEtPnRpbWVsaW5lLCBmZW5jZSkp CiAJCQljb250aW51ZTsKIAogCQlpZiAoZG1hX2ZlbmNlX2lzX2k5MTUoZmVuY2UpKQpAQCAtOTQz LDcgKzk0Myw3IEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9kbWFfZmVuY2Uoc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEsIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQogCiAJCS8qIFJlY29yZCB0aGUgbGF0 ZXN0IGZlbmNlIHVzZWQgYWdhaW5zdCBlYWNoIHRpbWVsaW5lICovCiAJCWlmIChmZW5jZS0+Y29u dGV4dCAhPSBycS0+aTkxNS0+bW0udW5vcmRlcmVkX3RpbWVsaW5lKQotCQkJaTkxNV90aW1lbGlu ZV9zeW5jX3NldChycS0+dGltZWxpbmUsIGZlbmNlKTsKKwkJCWludGVsX3RpbWVsaW5lX3N5bmNf c2V0KHJxLT50aW1lbGluZSwgZmVuY2UpOwogCX0gd2hpbGUgKC0tbmNoaWxkKTsKIAogCXJldHVy biAwOwpAQCAtMTA4MSw3ICsxMDgxLDcgQEAgdm9pZCBpOTE1X3JlcXVlc3Rfc2tpcChzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwgaW50IGVycm9yKQogc3RhdGljIHN0cnVjdCBpOTE1X3JlcXVlc3Qg KgogX19pOTE1X3JlcXVlc3RfYWRkX3RvX3RpbWVsaW5lKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx KQogewotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZSA9IHJxLT50aW1lbGluZTsKKwlz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lID0gcnEtPnRpbWVsaW5lOwogCXN0cnVjdCBp OTE1X3JlcXVlc3QgKnByZXY7CiAKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaApp bmRleCBlZGJiZGZlYzI0YWIuLmI5MGYzZDdhMjlkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmgKQEAgLTQwLDggKzQwLDggQEAKIHN0cnVjdCBkcm1fZmlsZTsKIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0Owogc3RydWN0IGk5MTVfcmVxdWVzdDsKLXN0cnVjdCBpOTE1X3RpbWVs aW5lOwotc3RydWN0IGk5MTVfdGltZWxpbmVfY2FjaGVsaW5lOworc3RydWN0IGludGVsX3RpbWVs aW5lOworc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZTsKIAogc3RydWN0IGk5MTVfY2Fw dHVyZV9saXN0IHsKIAlzdHJ1Y3QgaTkxNV9jYXB0dXJlX2xpc3QgKm5leHQ7CkBAIC0xMTIsNyAr MTEyLDcgQEAgc3RydWN0IGk5MTVfcmVxdWVzdCB7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lOwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpod19jb250ZXh0OwogCXN0cnVjdCBpbnRl bF9yaW5nICpyaW5nOwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lICp0aW1lbGluZTsKKwlzdHJ1Y3Qg aW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCXN0cnVjdCBsaXN0X2hlYWQgc2lnbmFsX2xpbms7 CiAKIAkvKgpAQCAtMTc1LDcgKzE3NSw3IEBAIHN0cnVjdCBpOTE1X3JlcXVlc3QgewogCSAqIGlu c2lkZSB0aGUgdGltZWxpbmUncyBIV1NQIHZtYSwgYnV0IGl0IGlzIG9ubHkgdmFsaWQgd2hpbGUg dGhpcwogCSAqIHJlcXVlc3QgaGFzIG5vdCBjb21wbGV0ZWQgYW5kIGd1YXJkZWQgYnkgdGhlIHRp bWVsaW5lIG11dGV4LgogCSAqLwotCXN0cnVjdCBpOTE1X3RpbWVsaW5lX2NhY2hlbGluZSAqaHdz cF9jYWNoZWxpbmU7CisJc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqaHdzcF9jYWNo ZWxpbmU7CiAKIAkvKiogUG9zaXRpb24gaW4gdGhlIHJpbmcgb2YgdGhlIHN0YXJ0IG9mIHRoZSBy ZXF1ZXN0ICovCiAJdTMyIGhlYWQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3RpbWVsaW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RpbWVsaW5lLmgKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE0NTRkNDlmMjI5Zi4uMDAwMDAwMDAwMDAwCi0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdGltZWxpbmUuaAorKysgL2Rldi9udWxsCkBA IC0xLDkzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgwqkgMjAxNiBJbnRlbCBDb3Jwb3JhdGlv bgotICoKLSAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0 byBhbnkgcGVyc29uIG9idGFpbmluZyBhCi0gKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFz c29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAotICogdG8gZGVh bCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQg bGltaXRhdGlvbgotICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1 Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCi0gKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKLSAqIFNvZnR3 YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRp dGlvbnM6Ci0gKgotICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlz c2lvbiBub3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAotICogcGFyYWdyYXBoKSBzaGFsbCBiZSBp bmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZQotICog U29mdHdhcmUuCi0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhP VVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKLSAqIElNUExJRUQsIElOQ0xVRElO RyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAot ICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4g IElOIE5PIEVWRU5UIFNIQUxMCi0gKiBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBC RSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgotICogTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ TkcKLSAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9S IFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKLSAqIElOIFRIRSBTT0ZUV0FSRS4KLSAqCi0gKi8K LQotI2lmbmRlZiBJOTE1X1RJTUVMSU5FX0gKLSNkZWZpbmUgSTkxNV9USU1FTElORV9ICi0KLSNp bmNsdWRlIDxsaW51eC9sb2NrZGVwLmg+Ci0KLSNpbmNsdWRlICJpOTE1X2FjdGl2ZS5oIgotI2lu Y2x1ZGUgImk5MTVfc3luY21hcC5oIgotI2luY2x1ZGUgImk5MTVfdGltZWxpbmVfdHlwZXMuaCIK LQotaW50IGk5MTVfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCSAg ICAgICBzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAotCQkgICAgICAgc3RydWN0IGk5MTVfdm1hICpod3Nw KTsKLXZvaWQgaTkxNV90aW1lbGluZV9maW5pKHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCk7Ci0K LXN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWk5MTVfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRl bF9ndCAqZ3QsIHN0cnVjdCBpOTE1X3ZtYSAqZ2xvYmFsX2h3c3ApOwotCi1zdGF0aWMgaW5saW5l IHN0cnVjdCBpOTE1X3RpbWVsaW5lICoKLWk5MTVfdGltZWxpbmVfZ2V0KHN0cnVjdCBpOTE1X3Rp bWVsaW5lICp0aW1lbGluZSkKLXsKLQlrcmVmX2dldCgmdGltZWxpbmUtPmtyZWYpOwotCXJldHVy biB0aW1lbGluZTsKLX0KLQotdm9pZCBfX2k5MTVfdGltZWxpbmVfZnJlZShzdHJ1Y3Qga3JlZiAq a3JlZik7Ci1zdGF0aWMgaW5saW5lIHZvaWQgaTkxNV90aW1lbGluZV9wdXQoc3RydWN0IGk5MTVf dGltZWxpbmUgKnRpbWVsaW5lKQotewotCWtyZWZfcHV0KCZ0aW1lbGluZS0+a3JlZiwgX19pOTE1 X3RpbWVsaW5lX2ZyZWUpOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBfX2k5MTVfdGltZWxpbmVf c3luY19zZXQoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJCQkgICB1NjQgY29udGV4dCwg dTMyIHNlcW5vKQotewotCXJldHVybiBpOTE1X3N5bmNtYXBfc2V0KCZ0bC0+c3luYywgY29udGV4 dCwgc2Vxbm8pOwotfQotCi1zdGF0aWMgaW5saW5lIGludCBpOTE1X3RpbWVsaW5lX3N5bmNfc2V0 KHN0cnVjdCBpOTE1X3RpbWVsaW5lICp0bCwKLQkJCQkJIGNvbnN0IHN0cnVjdCBkbWFfZmVuY2Ug KmZlbmNlKQotewotCXJldHVybiBfX2k5MTVfdGltZWxpbmVfc3luY19zZXQodGwsIGZlbmNlLT5j b250ZXh0LCBmZW5jZS0+c2Vxbm8pOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgX19pOTE1X3Rp bWVsaW5lX3N5bmNfaXNfbGF0ZXIoc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsLAotCQkJCQkJIHU2 NCBjb250ZXh0LCB1MzIgc2Vxbm8pCi17Ci0JcmV0dXJuIGk5MTVfc3luY21hcF9pc19sYXRlcigm dGwtPnN5bmMsIGNvbnRleHQsIHNlcW5vKTsKLX0KLQotc3RhdGljIGlubGluZSBib29sIGk5MTVf dGltZWxpbmVfc3luY19pc19sYXRlcihzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCQkJCSAg ICAgICBjb25zdCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKLXsKLQlyZXR1cm4gX19pOTE1X3Rp bWVsaW5lX3N5bmNfaXNfbGF0ZXIodGwsIGZlbmNlLT5jb250ZXh0LCBmZW5jZS0+c2Vxbm8pOwot fQotCi1pbnQgaTkxNV90aW1lbGluZV9waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKTsKLWlu dCBpOTE1X3RpbWVsaW5lX2dldF9zZXFubyhzdHJ1Y3QgaTkxNV90aW1lbGluZSAqdGwsCi0JCQkg ICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCi0JCQkgICAgdTMyICpzZXFubyk7Ci12b2lkIGk5 MTVfdGltZWxpbmVfdW5waW4oc3RydWN0IGk5MTVfdGltZWxpbmUgKnRsKTsKLQotaW50IGk5MTVf dGltZWxpbmVfcmVhZF9od3NwKHN0cnVjdCBpOTE1X3JlcXVlc3QgKmZyb20sCi0JCQkgICAgc3Ry dWN0IGk5MTVfcmVxdWVzdCAqdW50aWwsCi0JCQkgICAgdTMyICpod3NwX29mZnNldCk7Ci0KLXZv aWQgaTkxNV90aW1lbGluZXNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Ci12 b2lkIGk5MTVfdGltZWxpbmVzX3Bhcmsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwot dm9pZCBpOTE1X3RpbWVsaW5lc19maW5pKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsK LQotI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkx NV9saXZlX3NlbGZ0ZXN0cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf bGl2ZV9zZWxmdGVzdHMuaAppbmRleCBkNWRjNDQyN2Q2NjQuLjJiMzFhNGVlMGI0YyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbGl2ZV9zZWxmdGVzdHMu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9saXZlX3NlbGZ0ZXN0 cy5oCkBAIC0xMiw3ICsxMiw3IEBACiBzZWxmdGVzdChzYW5pdHljaGVjaywgaTkxNV9saXZlX3Nh bml0eWNoZWNrKSAvKiBrZWVwIGZpcnN0IChpZ3Qgc2VsZmNoZWNrKSAqLwogc2VsZnRlc3QodW5j b3JlLCBpbnRlbF91bmNvcmVfbGl2ZV9zZWxmdGVzdHMpCiBzZWxmdGVzdCh3b3JrYXJvdW5kcywg aW50ZWxfd29ya2Fyb3VuZHNfbGl2ZV9zZWxmdGVzdHMpCi1zZWxmdGVzdCh0aW1lbGluZXMsIGk5 MTVfdGltZWxpbmVfbGl2ZV9zZWxmdGVzdHMpCitzZWxmdGVzdCh0aW1lbGluZXMsIGludGVsX3Rp bWVsaW5lX2xpdmVfc2VsZnRlc3RzKQogc2VsZnRlc3QocmVxdWVzdHMsIGk5MTVfcmVxdWVzdF9s aXZlX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KGFjdGl2ZSwgaTkxNV9hY3RpdmVfbGl2ZV9zZWxmdGVz dHMpCiBzZWxmdGVzdChvYmplY3RzLCBpOTE1X2dlbV9vYmplY3RfbGl2ZV9zZWxmdGVzdHMpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9tb2NrX3NlbGZ0 ZXN0cy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVz dHMuaAppbmRleCA1MTBlYjE3NmJiMmMuLmI1NWRhNGQ5Y2NiYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfbW9ja19zZWxmdGVzdHMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9tb2NrX3NlbGZ0ZXN0cy5oCkBAIC0xNSw3 ICsxNSw3IEBAIHNlbGZ0ZXN0KHNjYXR0ZXJsaXN0LCBzY2F0dGVybGlzdF9tb2NrX3NlbGZ0ZXN0 cykKIHNlbGZ0ZXN0KHN5bmNtYXAsIGk5MTVfc3luY21hcF9tb2NrX3NlbGZ0ZXN0cykKIHNlbGZ0 ZXN0KHVuY29yZSwgaW50ZWxfdW5jb3JlX21vY2tfc2VsZnRlc3RzKQogc2VsZnRlc3QoZW5naW5l LCBpbnRlbF9lbmdpbmVfY3NfbW9ja19zZWxmdGVzdHMpCi1zZWxmdGVzdCh0aW1lbGluZXMsIGk5 MTVfdGltZWxpbmVfbW9ja19zZWxmdGVzdHMpCitzZWxmdGVzdCh0aW1lbGluZXMsIGludGVsX3Rp bWVsaW5lX21vY2tfc2VsZnRlc3RzKQogc2VsZnRlc3QocmVxdWVzdHMsIGk5MTVfcmVxdWVzdF9t b2NrX3NlbGZ0ZXN0cykKIHNlbGZ0ZXN0KG9iamVjdHMsIGk5MTVfZ2VtX29iamVjdF9tb2NrX3Nl bGZ0ZXN0cykKIHNlbGZ0ZXN0KHBoeXMsIGk5MTVfZ2VtX3BoeXNfbW9ja19zZWxmdGVzdHMpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNl LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKaW5k ZXggMDIxYmE0MmEzYTAwLi4yNzQxODA1YjU2YzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKQEAgLTY4LDcgKzY4LDcgQEAgc3RhdGlj IHZvaWQgbW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWk5MTVf Z2VtX2NvbnRleHRzX2ZpbmkoaTkxNSk7CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0 X211dGV4KTsKIAotCWk5MTVfdGltZWxpbmVzX2ZpbmkoaTkxNSk7CisJaW50ZWxfdGltZWxpbmVz X2ZpbmkoaTkxNSk7CiAKIAlkcmFpbl93b3JrcXVldWUoaTkxNS0+d3EpOwogCWk5MTVfZ2VtX2Ry YWluX2ZyZWVkX29iamVjdHMoaTkxNSk7CkBAIC0xOTksNyArMTk5LDcgQEAgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCiAJaTkxNS0+Z3QuYXdha2UgPSB0 cnVlOwogCi0JaTkxNV90aW1lbGluZXNfaW5pdChpOTE1KTsKKwlpbnRlbF90aW1lbGluZXNfaW5p dChpOTE1KTsKIAogCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCkBAIC0y MzAsNyArMjMwLDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2 b2lkKQogCW1vY2tfZW5naW5lX2ZyZWUoaTkxNS0+ZW5naW5lW1JDUzBdKTsKIGVycl91bmxvY2s6 CiAJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKLQlpOTE1X3RpbWVsaW5l c19maW5pKGk5MTUpOworCWludGVsX3RpbWVsaW5lc19maW5pKGk5MTUpOwogCWRlc3Ryb3lfd29y a3F1ZXVlKGk5MTUtPndxKTsKIGVycl9kcnY6CiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoJmk5 MTUtPmRybSk7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeA==