From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/4] drm/i915/pmu: Fix PMU enable vs execlists tasklet race Date: Tue, 13 Feb 2018 09:57:45 +0000 Message-ID: <20180213095747.2424-2-tvrtko.ursulin@linux.intel.com> References: <871shpmdpu.fsf@intel.com> <20180213095747.2424-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 mail-wr0-x244.google.com (mail-wr0-x244.google.com [IPv6:2a00:1450:400c:c0c::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B6D78932B for ; Tue, 13 Feb 2018 09:57:57 +0000 (UTC) Received: by mail-wr0-x244.google.com with SMTP id h9so18004715wre.12 for ; Tue, 13 Feb 2018 01:57:57 -0800 (PST) In-Reply-To: <20180213095747.2424-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkNvbW1pdCA5 OWU0OGJmOThkZDAgKCJkcm0vaTkxNTogTG9jayBvdXQgZXhlY2xpc3QgdGFza2xldCB3aGlsZSBw ZWVraW5nCmluc2lkZSBmb3IgYnVzeS1zdGF0cyIpIGFkZGVkIGEgdGFza2xldF9kaXNhYmxlIGNh bGwgaW4gYnVzeSBzdGF0cwplbmFibGluZywgYnV0IHdlIGZhaWxlZCB0byB1bmRlcnN0YW5kIHRo YXQgdGhlIFBNVSBlbmFibGUgY2FsbGJhY2sgcnVucwphcyBhbiBoYXJkIElSUSAoSVBJKS4KCkNv bnNlcXVlbmNlIG9mIHRoaXMgaXMgdGhhdCB0aGUgUE1VIGVuYWJsZSBjYWxsYmFjayBjYW4gaW50 ZXJydXB0IHRoZQpleGVjbGlzdHMgdGFza2xldCwgYW5kIHdpbGwgdGhlbiBkZWFkbG9jayB3aGVu IGl0IGNhbGxzCmludGVsX2VuZ2luZV9zdGF0c19lbmFibGUtPnRhc2tsZXRfZGlzYWJsZS4KClRv IGZpeCB0aGlzLCBJIHJlYWxpemVkIGl0IGlzIHBvc3NpYmxlIHRvIG1vdmUgdGhlIGVuZ2luZSBz dGF0cyBlbmFibGVtZW50CmFuZCBkaXNhYmxlbWVudCB0byBQTVUgZXZlbnQgaW5pdCBhbmQgZGVz dHJveSBob29rcy4gVGhpcyBhbGxvd3MgZm9yIG11Y2gKc2ltcGxlciBpbXBsZW1lbnRhdGlvbiBz aW5jZSB0aG9zZSBob29rcyBydW4gaW4gbm9ybWFsIGNvbnRleHQgKGNhbgpzbGVlcCkuCgp2Mjog RXh0cmFjdCBlbmdpbmVfZXZlbnRfZGVzdHJveS4gKENocmlzIFdpbHNvbikKClNpZ25lZC1vZmYt Ynk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkZpeGVzOiA5OWU0 OGJmOThkZDAgKCJkcm0vaTkxNTogTG9jayBvdXQgZXhlY2xpc3QgdGFza2xldCB3aGlsZSBwZWVr aW5nIGluc2lkZSBmb3IgYnVzeS1zdGF0cyIpClRlc3RjYXNlOiBpZ3QvcGVyZl9wbXUvZW5hYmxl LXJhY2UtKgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBU dnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpDYzogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFz LmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZp QGludGVsLmNvbT4KQ2M6IGludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKUmV2aWV3ZWQt Ynk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpMaW5rOiBodHRwczov L3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvbXNnaWQvMjAxODAyMDUwOTM0NDguMTM4 NzctMS10dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20KKGNoZXJyeSBwaWNrZWQgZnJvbSBj b21taXQgYjJmNzhjZGEyNjBiYzZhMWEyZDM4MmIxZDg1YTI5ZTY5YjViMzcyNCkKLS0tCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jICAgICAgICAgfCAxMjUgKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aCB8ICAxNCAtLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDg3IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4IDU1YThhMWUyOTQyNC4uMzM3ZWFh NmVkZTUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAgLTI4NSwyNiArMjg1LDQxIEBAIHN0 YXRpYyB1NjQgY291bnRfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IAlyZXR1cm4gc3VtOwogfQogCi1zdGF0aWMgdm9pZCBpOTE1X3BtdV9ldmVudF9kZXN0cm95KHN0 cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKK3N0YXRpYyB2b2lkIGVuZ2luZV9ldmVudF9kZXN0cm95 KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIHsKLQlXQVJOX09OKGV2ZW50LT5wYXJlbnQpOwor CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KKwkJY29udGFpbmVyX29mKGV2ZW50LT5w bXUsIHR5cGVvZigqaTkxNSksIHBtdS5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmU7CisKKwllbmdpbmUgPSBpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwKKwkJCQkJ ICBlbmdpbmVfZXZlbnRfY2xhc3MoZXZlbnQpLAorCQkJCQkgIGVuZ2luZV9ldmVudF9pbnN0YW5j ZShldmVudCkpOworCWlmIChXQVJOX09OX09OQ0UoIWVuZ2luZSkpCisJCXJldHVybjsKKworCWlm IChlbmdpbmVfZXZlbnRfc2FtcGxlKGV2ZW50KSA9PSBJOTE1X1NBTVBMRV9CVVNZICYmCisJICAg IGludGVsX2VuZ2luZV9zdXBwb3J0c19zdGF0cyhlbmdpbmUpKQorCQlpbnRlbF9kaXNhYmxlX2Vu Z2luZV9zdGF0cyhlbmdpbmUpOwogfQogCi1zdGF0aWMgaW50IGVuZ2luZV9ldmVudF9pbml0KHN0 cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKK3N0YXRpYyB2b2lkIGk5MTVfcG11X2V2ZW50X2Rlc3Ry b3koc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1ID0KLQkJY29udGFpbmVyX29mKGV2ZW50LT5wbXUsIHR5cGVvZigqaTkxNSksIHBtdS5i YXNlKTsKKwlXQVJOX09OKGV2ZW50LT5wYXJlbnQpOwogCi0JaWYgKCFpbnRlbF9lbmdpbmVfbG9v a3VwX3VzZXIoaTkxNSwgZW5naW5lX2V2ZW50X2NsYXNzKGV2ZW50KSwKLQkJCQkgICAgICBlbmdp bmVfZXZlbnRfaW5zdGFuY2UoZXZlbnQpKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKGlzX2Vu Z2luZV9ldmVudChldmVudCkpCisJCWVuZ2luZV9ldmVudF9kZXN0cm95KGV2ZW50KTsKK30KIAot CXN3aXRjaCAoZW5naW5lX2V2ZW50X3NhbXBsZShldmVudCkpIHsKK3N0YXRpYyBpbnQKK2VuZ2lu ZV9ldmVudF9zdGF0dXMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAorCQkgICAgZW51 bSBkcm1faTkxNV9wbXVfZW5naW5lX3NhbXBsZSBzYW1wbGUpCit7CisJc3dpdGNoIChzYW1wbGUp IHsKIAljYXNlIEk5MTVfU0FNUExFX0JVU1k6CiAJY2FzZSBJOTE1X1NBTVBMRV9XQUlUOgogCQli cmVhazsKIAljYXNlIEk5MTVfU0FNUExFX1NFTUE6Ci0JCWlmIChJTlRFTF9HRU4oaTkxNSkgPCA2 KQorCQlpZiAoSU5URUxfR0VOKGVuZ2luZS0+aTkxNSkgPCA2KQogCQkJcmV0dXJuIC1FTk9ERVY7 CiAJCWJyZWFrOwogCWRlZmF1bHQ6CkBAIC0zMTQsNiArMzI5LDMwIEBAIHN0YXRpYyBpbnQgZW5n aW5lX2V2ZW50X2luaXQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXJldHVybiAwOwogfQog CitzdGF0aWMgaW50IGVuZ2luZV9ldmVudF9pbml0KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihldmVu dC0+cG11LCB0eXBlb2YoKmk5MTUpLCBwbXUuYmFzZSk7CisJc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lOworCXU4IHNhbXBsZTsKKwlpbnQgcmV0OworCisJZW5naW5lID0gaW50ZWxfZW5n aW5lX2xvb2t1cF91c2VyKGk5MTUsIGVuZ2luZV9ldmVudF9jbGFzcyhldmVudCksCisJCQkJCSAg ZW5naW5lX2V2ZW50X2luc3RhbmNlKGV2ZW50KSk7CisJaWYgKCFlbmdpbmUpCisJCXJldHVybiAt RU5PREVWOworCisJc2FtcGxlID0gZW5naW5lX2V2ZW50X3NhbXBsZShldmVudCk7CisJcmV0ID0g ZW5naW5lX2V2ZW50X3N0YXR1cyhlbmdpbmUsIHNhbXBsZSk7CisJaWYgKHJldCkKKwkJcmV0dXJu IHJldDsKKworCWlmIChzYW1wbGUgPT0gSTkxNV9TQU1QTEVfQlVTWSAmJiBpbnRlbF9lbmdpbmVf c3VwcG9ydHNfc3RhdHMoZW5naW5lKSkKKwkJcmV0ID0gaW50ZWxfZW5hYmxlX2VuZ2luZV9zdGF0 cyhlbmdpbmUpOworCisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBpOTE1X3BtdV9ldmVu dF9pbml0KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSA9CkBAIC0zODcsNyArNDI2LDcgQEAgc3RhdGljIHU2NCBfX2k5MTVfcG11X2V2 ZW50X3JlYWQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCQlpZiAoV0FSTl9PTl9PTkNFKCFl bmdpbmUpKSB7CiAJCQkvKiBEbyBub3RoaW5nICovCiAJCX0gZWxzZSBpZiAoc2FtcGxlID09IEk5 MTVfU0FNUExFX0JVU1kgJiYKLQkJCSAgIGVuZ2luZS0+cG11LmJ1c3lfc3RhdHMpIHsKKwkJCSAg IGludGVsX2VuZ2luZV9zdXBwb3J0c19zdGF0cyhlbmdpbmUpKSB7CiAJCQl2YWwgPSBrdGltZV90 b19ucyhpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGltZShlbmdpbmUpKTsKIAkJfSBlbHNlIHsKIAkJ CXZhbCA9IGVuZ2luZS0+cG11LnNhbXBsZVtzYW1wbGVdLmN1cjsKQEAgLTQ0MiwxMiArNDgxLDYg QEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZXZlbnRfcmVhZChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZl bnQpCiAJbG9jYWw2NF9hZGQobmV3IC0gcHJldiwgJmV2ZW50LT5jb3VudCk7CiB9CiAKLXN0YXRp YyBib29sIGVuZ2luZV9uZWVkc19idXN5X3N0YXRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKLXsKLQlyZXR1cm4gaW50ZWxfZW5naW5lX3N1cHBvcnRzX3N0YXRzKGVuZ2luZSkgJiYK LQkgICAgICAgKGVuZ2luZS0+cG11LmVuYWJsZSAmIEJJVChJOTE1X1NBTVBMRV9CVVNZKSk7Ci19 Ci0KIHN0YXRpYyB2b2lkIGk5MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQp CiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPQpAQCAtNDg3LDIxICs1MjAsNyBA QCBzdGF0aWMgdm9pZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQog CiAJCUdFTV9CVUdfT04oc2FtcGxlID49IEk5MTVfUE1VX1NBTVBMRV9CSVRTKTsKIAkJR0VNX0JV R19PTihlbmdpbmUtPnBtdS5lbmFibGVfY291bnRbc2FtcGxlXSA9PSB+MCk7Ci0JCWlmIChlbmdp bmUtPnBtdS5lbmFibGVfY291bnRbc2FtcGxlXSsrID09IDApIHsKLQkJCS8qCi0JCQkgKiBFbmFi bGUgZW5naW5lIGJ1c3kgc3RhdHMgdHJhY2tpbmcgaWYgbmVlZGVkIG9yCi0JCQkgKiBhbHRlcm5h dGl2ZWx5IGNhbmNlbCB0aGUgc2NoZWR1bGVkIGRpc2FibGUuCi0JCQkgKgotCQkJICogSWYgdGhl IGRlbGF5ZWQgZGlzYWJsZSB3YXMgcGVuZGluZywgY2FuY2VsIGl0IGFuZAotCQkJICogaW4gdGhp cyBjYXNlIGRvIG5vdCBlbmFibGUgc2luY2UgaXQgYWxyZWFkeSBpcy4KLQkJCSAqLwotCQkJaWYg KGVuZ2luZV9uZWVkc19idXN5X3N0YXRzKGVuZ2luZSkgJiYKLQkJCSAgICAhZW5naW5lLT5wbXUu YnVzeV9zdGF0cykgewotCQkJCWVuZ2luZS0+cG11LmJ1c3lfc3RhdHMgPSB0cnVlOwotCQkJCWlm ICghY2FuY2VsX2RlbGF5ZWRfd29yaygmZW5naW5lLT5wbXUuZGlzYWJsZV9idXN5X3N0YXRzKSkK LQkJCQkJaW50ZWxfZW5hYmxlX2VuZ2luZV9zdGF0cyhlbmdpbmUpOwotCQkJfQotCQl9CisJCWVu Z2luZS0+cG11LmVuYWJsZV9jb3VudFtzYW1wbGVdKys7CiAJfQogCiAJLyoKQEAgLTUxNCwxNCAr NTMzLDYgQEAgc3RhdGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpl dmVudCkKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3MpOwog fQogCi1zdGF0aWMgdm9pZCBfX2Rpc2FibGVfYnVzeV9zdGF0cyhzdHJ1Y3Qgd29ya19zdHJ1Y3Qg KndvcmspCi17Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0KLQkgICAgICAgY29u dGFpbmVyX29mKHdvcmssIHR5cGVvZigqZW5naW5lKSwgcG11LmRpc2FibGVfYnVzeV9zdGF0cy53 b3JrKTsKLQotCWludGVsX2Rpc2FibGVfZW5naW5lX3N0YXRzKGVuZ2luZSk7Ci19Ci0KIHN0YXRp YyB2b2lkIGk5MTVfcG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KQEAgLTU0NSwyNiArNTU2LDggQEAgc3RhdGlj IHZvaWQgaTkxNV9wbXVfZGlzYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJCSAqIERl Y3JlbWVudCB0aGUgcmVmZXJlbmNlIGNvdW50IGFuZCBjbGVhciB0aGUgZW5hYmxlZAogCQkgKiBi aXRtYXNrIHdoZW4gdGhlIGxhc3QgbGlzdGVuZXIgb24gYW4gZXZlbnQgZ29lcyBhd2F5LgogCQkg Ki8KLQkJaWYgKC0tZW5naW5lLT5wbXUuZW5hYmxlX2NvdW50W3NhbXBsZV0gPT0gMCkgeworCQlp ZiAoLS1lbmdpbmUtPnBtdS5lbmFibGVfY291bnRbc2FtcGxlXSA9PSAwKQogCQkJZW5naW5lLT5w bXUuZW5hYmxlICY9IH5CSVQoc2FtcGxlKTsKLQkJCWlmICghZW5naW5lX25lZWRzX2J1c3lfc3Rh dHMoZW5naW5lKSAmJgotCQkJICAgIGVuZ2luZS0+cG11LmJ1c3lfc3RhdHMpIHsKLQkJCQllbmdp bmUtPnBtdS5idXN5X3N0YXRzID0gZmFsc2U7Ci0JCQkJLyoKLQkJCQkgKiBXZSByZXF1ZXN0IGEg ZGVsYXllZCBkaXNhYmxlIHRvIGhhbmRsZSB0aGUKLQkJCQkgKiByYXBpZCBvbi9vZmYgY3ljbGVz IG9uIGV2ZW50cywgd2hpY2ggY2FuCi0JCQkJICogaGFwcGVuIHdoZW4gdG9vbHMgbGlrZSBwZXJm IHN0YXQgc3RhcnQsIGluIGEKLQkJCQkgKiBuaWNlciB3YXkuCi0JCQkJICoKLQkJCQkgKiBJbiBh ZGRpdGlvbiwgdGhpcyBhbHNvIGhlbHBzIHdpdGggYnVzeSBzdGF0cwotCQkJCSAqIGFjY3VyYWN5 IHdpdGggYmFja2dyb3VuZCBDUFUgb2ZmbGluZS9vbmxpbmUKLQkJCQkgKiBtaWdyYXRpb24gZXZl bnRzLgotCQkJCSAqLwotCQkJCXF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fd3EsCi0JCQkJCQkg ICAmZW5naW5lLT5wbXUuZGlzYWJsZV9idXN5X3N0YXRzLAotCQkJCQkJICAgcm91bmRfamlmZmll c191cF9yZWxhdGl2ZShIWikpOwotCQkJfQotCQl9CiAJfQogCiAJR0VNX0JVR19PTihiaXQgPj0g STkxNV9QTVVfTUFTS19CSVRTKTsKQEAgLTc5Nyw4ICs3OTAsNiBAQCBzdGF0aWMgdm9pZCBpOTE1 X3BtdV91bnJlZ2lzdGVyX2NwdWhwX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQogCiB2b2lkIGk5MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQllbnVtIGludGVsX2VuZ2lu ZV9pZCBpZDsKIAlpbnQgcmV0OwogCiAJaWYgKElOVEVMX0dFTihpOTE1KSA8PSAyKSB7CkBAIC04 MjAsMTAgKzgxMSw2IEBAIHZvaWQgaTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCiAJaHJ0aW1lcl9pbml0KCZpOTE1LT5wbXUudGltZXIsIENMT0NLX01PTk9U T05JQywgSFJUSU1FUl9NT0RFX1JFTCk7CiAJaTkxNS0+cG11LnRpbWVyLmZ1bmN0aW9uID0gaTkx NV9zYW1wbGU7CiAKLQlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkKLQkJSU5JVF9E RUxBWUVEX1dPUksoJmVuZ2luZS0+cG11LmRpc2FibGVfYnVzeV9zdGF0cywKLQkJCQkgIF9fZGlz YWJsZV9idXN5X3N0YXRzKTsKLQogCXJldCA9IHBlcmZfcG11X3JlZ2lzdGVyKCZpOTE1LT5wbXUu YmFzZSwgImk5MTUiLCAtMSk7CiAJaWYgKHJldCkKIAkJZ290byBlcnI7CkBAIC04NDMsOSArODMw LDYgQEAgdm9pZCBpOTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKIAogdm9pZCBpOTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogewotCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQllbnVtIGludGVsX2Vu Z2luZV9pZCBpZDsKLQogCWlmICghaTkxNS0+cG11LmJhc2UuZXZlbnRfaW5pdCkKIAkJcmV0dXJu OwogCkBAIC04NTMsMTEgKzgzNyw2IEBAIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogCWhydGltZXJfY2FuY2VsKCZpOTE1LT5wbXUudGlt ZXIpOwogCi0JZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKLQkJR0VNX0JVR19P TihlbmdpbmUtPnBtdS5idXN5X3N0YXRzKTsKLQkJZmx1c2hfZGVsYXllZF93b3JrKCZlbmdpbmUt PnBtdS5kaXNhYmxlX2J1c3lfc3RhdHMpOwotCX0KLQogCWk5MTVfcG11X3VucmVnaXN0ZXJfY3B1 aHBfc3RhdGUoaTkxNSk7CiAKIAlwZXJmX3BtdV91bnJlZ2lzdGVyKCZpOTE1LT5wbXUuYmFzZSk7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggYzVmZjIwM2U0MmQ2 Li5hMGU3YTZjMmE1N2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jp bmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgK QEAgLTM2NiwyMCArMzY2LDYgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7CiAJCSAqLwogI2Rl ZmluZSBJOTE1X0VOR0lORV9TQU1QTEVfTUFYIChJOTE1X1NBTVBMRV9TRU1BICsgMSkKIAkJc3Ry dWN0IGk5MTVfcG11X3NhbXBsZSBzYW1wbGVbSTkxNV9FTkdJTkVfU0FNUExFX01BWF07Ci0JCS8q KgotCQkgKiBAYnVzeV9zdGF0czogSGFzIGVuYWJsZW1lbnQgb2YgZW5naW5lIHN0YXRzIHRyYWNr aW5nIGJlZW4KLQkJICogCQlyZXF1ZXN0ZWQuCi0JCSAqLwotCQlib29sIGJ1c3lfc3RhdHM7Ci0J CS8qKgotCQkgKiBAZGlzYWJsZV9idXN5X3N0YXRzOiBXb3JrIGl0ZW0gZm9yIGJ1c3kgc3RhdHMg ZGlzYWJsaW5nLgotCQkgKgotCQkgKiBTYW1lIGFzIHdpdGggQGVuYWJsZV9idXN5X3N0YXRzIGFj dGlvbiwgd2l0aCB0aGUgZGlmZmVyZW5jZQotCQkgKiB0aGF0IHdlIGRlbGF5IGl0IGluIGNhc2Ug dGhlcmUgYXJlIHJhcGlkIGVuYWJsZS1kaXNhYmxlCi0JCSAqIGFjdGlvbnMsIHdoaWNoIGNhbiBo YXBwZW4gZHVyaW5nIHRvb2wgc3RhcnR1cCAobGlrZSBwZXJmCi0JCSAqIHN0YXQpLgotCQkgKi8K LQkJc3RydWN0IGRlbGF5ZWRfd29yayBkaXNhYmxlX2J1c3lfc3RhdHM7CiAJfSBwbXU7CiAKIAkv KgotLSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK