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:29:06 +0000 Message-ID: <20180213092908.1600-2-tvrtko.ursulin@linux.intel.com> References: <20180213073842.hb5mgh6i7jd2f6um@intel.com> <20180213092908.1600-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-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id B33DF6E1CF for ; Tue, 13 Feb 2018 09:29:19 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id b52so17884803wrd.10 for ; Tue, 13 Feb 2018 01:29:19 -0800 (PST) In-Reply-To: <20180213092908.1600-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 NzctMS10dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5jb20KLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BtdS5jICAgICAgICAgfCAxMjUgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0t LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICAxNCAtLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDUyIGluc2VydGlvbnMoKyksIDg3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4IDU1YThhMWUyOTQyNC4uMzM3ZWFhNmVkZTUyIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcG11LmMKQEAgLTI4NSwyNiArMjg1LDQxIEBAIHN0YXRpYyB1NjQgY291 bnRfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlyZXR1cm4gc3Vt OwogfQogCi1zdGF0aWMgdm9pZCBpOTE1X3BtdV9ldmVudF9kZXN0cm95KHN0cnVjdCBwZXJmX2V2 ZW50ICpldmVudCkKK3N0YXRpYyB2b2lkIGVuZ2luZV9ldmVudF9kZXN0cm95KHN0cnVjdCBwZXJm X2V2ZW50ICpldmVudCkKIHsKLQlXQVJOX09OKGV2ZW50LT5wYXJlbnQpOworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1ID0KKwkJY29udGFpbmVyX29mKGV2ZW50LT5wbXUsIHR5cGVvZigq aTkxNSksIHBtdS5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7CisKKwll bmdpbmUgPSBpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoaTkxNSwKKwkJCQkJICBlbmdpbmVfZXZl bnRfY2xhc3MoZXZlbnQpLAorCQkJCQkgIGVuZ2luZV9ldmVudF9pbnN0YW5jZShldmVudCkpOwor CWlmIChXQVJOX09OX09OQ0UoIWVuZ2luZSkpCisJCXJldHVybjsKKworCWlmIChlbmdpbmVfZXZl bnRfc2FtcGxlKGV2ZW50KSA9PSBJOTE1X1NBTVBMRV9CVVNZICYmCisJICAgIGludGVsX2VuZ2lu ZV9zdXBwb3J0c19zdGF0cyhlbmdpbmUpKQorCQlpbnRlbF9kaXNhYmxlX2VuZ2luZV9zdGF0cyhl bmdpbmUpOwogfQogCi1zdGF0aWMgaW50IGVuZ2luZV9ldmVudF9pbml0KHN0cnVjdCBwZXJmX2V2 ZW50ICpldmVudCkKK3N0YXRpYyB2b2lkIGk5MTVfcG11X2V2ZW50X2Rlc3Ryb3koc3RydWN0IHBl cmZfZXZlbnQgKmV2ZW50KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KLQkJ Y29udGFpbmVyX29mKGV2ZW50LT5wbXUsIHR5cGVvZigqaTkxNSksIHBtdS5iYXNlKTsKKwlXQVJO X09OKGV2ZW50LT5wYXJlbnQpOwogCi0JaWYgKCFpbnRlbF9lbmdpbmVfbG9va3VwX3VzZXIoaTkx NSwgZW5naW5lX2V2ZW50X2NsYXNzKGV2ZW50KSwKLQkJCQkgICAgICBlbmdpbmVfZXZlbnRfaW5z dGFuY2UoZXZlbnQpKSkKLQkJcmV0dXJuIC1FTk9ERVY7CisJaWYgKGlzX2VuZ2luZV9ldmVudChl dmVudCkpCisJCWVuZ2luZV9ldmVudF9kZXN0cm95KGV2ZW50KTsKK30KIAotCXN3aXRjaCAoZW5n aW5lX2V2ZW50X3NhbXBsZShldmVudCkpIHsKK3N0YXRpYyBpbnQKK2VuZ2luZV9ldmVudF9zdGF0 dXMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAorCQkgICAgZW51bSBkcm1faTkxNV9w bXVfZW5naW5lX3NhbXBsZSBzYW1wbGUpCit7CisJc3dpdGNoIChzYW1wbGUpIHsKIAljYXNlIEk5 MTVfU0FNUExFX0JVU1k6CiAJY2FzZSBJOTE1X1NBTVBMRV9XQUlUOgogCQlicmVhazsKIAljYXNl IEk5MTVfU0FNUExFX1NFTUE6Ci0JCWlmIChJTlRFTF9HRU4oaTkxNSkgPCA2KQorCQlpZiAoSU5U RUxfR0VOKGVuZ2luZS0+aTkxNSkgPCA2KQogCQkJcmV0dXJuIC1FTk9ERVY7CiAJCWJyZWFrOwog CWRlZmF1bHQ6CkBAIC0zMTQsNiArMzI5LDMwIEBAIHN0YXRpYyBpbnQgZW5naW5lX2V2ZW50X2lu aXQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCXJldHVybiAwOwogfQogCitzdGF0aWMgaW50 IGVuZ2luZV9ldmVudF9pbml0KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CisJCWNvbnRhaW5lcl9vZihldmVudC0+cG11LCB0eXBl b2YoKmk5MTUpLCBwbXUuYmFzZSk7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwor CXU4IHNhbXBsZTsKKwlpbnQgcmV0OworCisJZW5naW5lID0gaW50ZWxfZW5naW5lX2xvb2t1cF91 c2VyKGk5MTUsIGVuZ2luZV9ldmVudF9jbGFzcyhldmVudCksCisJCQkJCSAgZW5naW5lX2V2ZW50 X2luc3RhbmNlKGV2ZW50KSk7CisJaWYgKCFlbmdpbmUpCisJCXJldHVybiAtRU5PREVWOworCisJ c2FtcGxlID0gZW5naW5lX2V2ZW50X3NhbXBsZShldmVudCk7CisJcmV0ID0gZW5naW5lX2V2ZW50 X3N0YXR1cyhlbmdpbmUsIHNhbXBsZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCWlm IChzYW1wbGUgPT0gSTkxNV9TQU1QTEVfQlVTWSAmJiBpbnRlbF9lbmdpbmVfc3VwcG9ydHNfc3Rh dHMoZW5naW5lKSkKKwkJcmV0ID0gaW50ZWxfZW5hYmxlX2VuZ2luZV9zdGF0cyhlbmdpbmUpOwor CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGludCBpOTE1X3BtdV9ldmVudF9pbml0KHN0cnVj dCBwZXJmX2V2ZW50ICpldmVudCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 CkBAIC0zODcsNyArNDI2LDcgQEAgc3RhdGljIHU2NCBfX2k5MTVfcG11X2V2ZW50X3JlYWQoc3Ry dWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCQlpZiAoV0FSTl9PTl9PTkNFKCFlbmdpbmUpKSB7CiAJ CQkvKiBEbyBub3RoaW5nICovCiAJCX0gZWxzZSBpZiAoc2FtcGxlID09IEk5MTVfU0FNUExFX0JV U1kgJiYKLQkJCSAgIGVuZ2luZS0+cG11LmJ1c3lfc3RhdHMpIHsKKwkJCSAgIGludGVsX2VuZ2lu ZV9zdXBwb3J0c19zdGF0cyhlbmdpbmUpKSB7CiAJCQl2YWwgPSBrdGltZV90b19ucyhpbnRlbF9l bmdpbmVfZ2V0X2J1c3lfdGltZShlbmdpbmUpKTsKIAkJfSBlbHNlIHsKIAkJCXZhbCA9IGVuZ2lu ZS0+cG11LnNhbXBsZVtzYW1wbGVdLmN1cjsKQEAgLTQ0MiwxMiArNDgxLDYgQEAgc3RhdGljIHZv aWQgaTkxNV9wbXVfZXZlbnRfcmVhZChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJbG9jYWw2 NF9hZGQobmV3IC0gcHJldiwgJmV2ZW50LT5jb3VudCk7CiB9CiAKLXN0YXRpYyBib29sIGVuZ2lu ZV9uZWVkc19idXN5X3N0YXRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKLXsKLQly ZXR1cm4gaW50ZWxfZW5naW5lX3N1cHBvcnRzX3N0YXRzKGVuZ2luZSkgJiYKLQkgICAgICAgKGVu Z2luZS0+cG11LmVuYWJsZSAmIEJJVChJOTE1X1NBTVBMRV9CVVNZKSk7Ci19Ci0KIHN0YXRpYyB2 b2lkIGk5MTVfcG11X2VuYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPQpAQCAtNDg3LDIxICs1MjAsNyBAQCBzdGF0aWMgdm9p ZCBpOTE1X3BtdV9lbmFibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogCiAJCUdFTV9CVUdf T04oc2FtcGxlID49IEk5MTVfUE1VX1NBTVBMRV9CSVRTKTsKIAkJR0VNX0JVR19PTihlbmdpbmUt PnBtdS5lbmFibGVfY291bnRbc2FtcGxlXSA9PSB+MCk7Ci0JCWlmIChlbmdpbmUtPnBtdS5lbmFi bGVfY291bnRbc2FtcGxlXSsrID09IDApIHsKLQkJCS8qCi0JCQkgKiBFbmFibGUgZW5naW5lIGJ1 c3kgc3RhdHMgdHJhY2tpbmcgaWYgbmVlZGVkIG9yCi0JCQkgKiBhbHRlcm5hdGl2ZWx5IGNhbmNl bCB0aGUgc2NoZWR1bGVkIGRpc2FibGUuCi0JCQkgKgotCQkJICogSWYgdGhlIGRlbGF5ZWQgZGlz YWJsZSB3YXMgcGVuZGluZywgY2FuY2VsIGl0IGFuZAotCQkJICogaW4gdGhpcyBjYXNlIGRvIG5v dCBlbmFibGUgc2luY2UgaXQgYWxyZWFkeSBpcy4KLQkJCSAqLwotCQkJaWYgKGVuZ2luZV9uZWVk c19idXN5X3N0YXRzKGVuZ2luZSkgJiYKLQkJCSAgICAhZW5naW5lLT5wbXUuYnVzeV9zdGF0cykg ewotCQkJCWVuZ2luZS0+cG11LmJ1c3lfc3RhdHMgPSB0cnVlOwotCQkJCWlmICghY2FuY2VsX2Rl bGF5ZWRfd29yaygmZW5naW5lLT5wbXUuZGlzYWJsZV9idXN5X3N0YXRzKSkKLQkJCQkJaW50ZWxf ZW5hYmxlX2VuZ2luZV9zdGF0cyhlbmdpbmUpOwotCQkJfQotCQl9CisJCWVuZ2luZS0+cG11LmVu YWJsZV9jb3VudFtzYW1wbGVdKys7CiAJfQogCiAJLyoKQEAgLTUxNCwxNCArNTMzLDYgQEAgc3Rh dGljIHZvaWQgaTkxNV9wbXVfZW5hYmxlKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIAlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZpOTE1LT5wbXUubG9jaywgZmxhZ3MpOwogfQogCi1zdGF0aWMg dm9pZCBfX2Rpc2FibGVfYnVzeV9zdGF0cyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCi17Ci0J c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0KLQkgICAgICAgY29udGFpbmVyX29mKHdv cmssIHR5cGVvZigqZW5naW5lKSwgcG11LmRpc2FibGVfYnVzeV9zdGF0cy53b3JrKTsKLQotCWlu dGVsX2Rpc2FibGVfZW5naW5lX3N0YXRzKGVuZ2luZSk7Ci19Ci0KIHN0YXRpYyB2b2lkIGk5MTVf cG11X2Rpc2FibGUoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50KQogewogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1ID0KQEAgLTU0NSwyNiArNTU2LDggQEAgc3RhdGljIHZvaWQgaTkxNV9w bXVfZGlzYWJsZShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJCSAqIERlY3JlbWVudCB0aGUg cmVmZXJlbmNlIGNvdW50IGFuZCBjbGVhciB0aGUgZW5hYmxlZAogCQkgKiBiaXRtYXNrIHdoZW4g dGhlIGxhc3QgbGlzdGVuZXIgb24gYW4gZXZlbnQgZ29lcyBhd2F5LgogCQkgKi8KLQkJaWYgKC0t ZW5naW5lLT5wbXUuZW5hYmxlX2NvdW50W3NhbXBsZV0gPT0gMCkgeworCQlpZiAoLS1lbmdpbmUt PnBtdS5lbmFibGVfY291bnRbc2FtcGxlXSA9PSAwKQogCQkJZW5naW5lLT5wbXUuZW5hYmxlICY9 IH5CSVQoc2FtcGxlKTsKLQkJCWlmICghZW5naW5lX25lZWRzX2J1c3lfc3RhdHMoZW5naW5lKSAm JgotCQkJICAgIGVuZ2luZS0+cG11LmJ1c3lfc3RhdHMpIHsKLQkJCQllbmdpbmUtPnBtdS5idXN5 X3N0YXRzID0gZmFsc2U7Ci0JCQkJLyoKLQkJCQkgKiBXZSByZXF1ZXN0IGEgZGVsYXllZCBkaXNh YmxlIHRvIGhhbmRsZSB0aGUKLQkJCQkgKiByYXBpZCBvbi9vZmYgY3ljbGVzIG9uIGV2ZW50cywg d2hpY2ggY2FuCi0JCQkJICogaGFwcGVuIHdoZW4gdG9vbHMgbGlrZSBwZXJmIHN0YXQgc3RhcnQs IGluIGEKLQkJCQkgKiBuaWNlciB3YXkuCi0JCQkJICoKLQkJCQkgKiBJbiBhZGRpdGlvbiwgdGhp cyBhbHNvIGhlbHBzIHdpdGggYnVzeSBzdGF0cwotCQkJCSAqIGFjY3VyYWN5IHdpdGggYmFja2dy b3VuZCBDUFUgb2ZmbGluZS9vbmxpbmUKLQkJCQkgKiBtaWdyYXRpb24gZXZlbnRzLgotCQkJCSAq LwotCQkJCXF1ZXVlX2RlbGF5ZWRfd29yayhzeXN0ZW1fd3EsCi0JCQkJCQkgICAmZW5naW5lLT5w bXUuZGlzYWJsZV9idXN5X3N0YXRzLAotCQkJCQkJICAgcm91bmRfamlmZmllc191cF9yZWxhdGl2 ZShIWikpOwotCQkJfQotCQl9CiAJfQogCiAJR0VNX0JVR19PTihiaXQgPj0gSTkxNV9QTVVfTUFT S19CSVRTKTsKQEAgLTc5Nyw4ICs3OTAsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X3BtdV91bnJlZ2lz dGVyX2NwdWhwX3N0YXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogCiB2b2lkIGk5 MTVfcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCXN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAlp bnQgcmV0OwogCiAJaWYgKElOVEVMX0dFTihpOTE1KSA8PSAyKSB7CkBAIC04MjAsMTAgKzgxMSw2 IEBAIHZvaWQgaTkxNV9wbXVfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp CiAJaHJ0aW1lcl9pbml0KCZpOTE1LT5wbXUudGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1F Ul9NT0RFX1JFTCk7CiAJaTkxNS0+cG11LnRpbWVyLmZ1bmN0aW9uID0gaTkxNV9zYW1wbGU7CiAK LQlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBpOTE1LCBpZCkKLQkJSU5JVF9ERUxBWUVEX1dPUkso JmVuZ2luZS0+cG11LmRpc2FibGVfYnVzeV9zdGF0cywKLQkJCQkgIF9fZGlzYWJsZV9idXN5X3N0 YXRzKTsKLQogCXJldCA9IHBlcmZfcG11X3JlZ2lzdGVyKCZpOTE1LT5wbXUuYmFzZSwgImk5MTUi LCAtMSk7CiAJaWYgKHJldCkKIAkJZ290byBlcnI7CkBAIC04NDMsOSArODMwLDYgQEAgdm9pZCBp OTE1X3BtdV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAogdm9pZCBp OTE1X3BtdV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCXN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKLQllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsK LQogCWlmICghaTkxNS0+cG11LmJhc2UuZXZlbnRfaW5pdCkKIAkJcmV0dXJuOwogCkBAIC04NTMs MTEgKzgzNyw2IEBAIHZvaWQgaTkxNV9wbXVfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIAogCWhydGltZXJfY2FuY2VsKCZpOTE1LT5wbXUudGltZXIpOwogCi0JZm9y X2VhY2hfZW5naW5lKGVuZ2luZSwgaTkxNSwgaWQpIHsKLQkJR0VNX0JVR19PTihlbmdpbmUtPnBt dS5idXN5X3N0YXRzKTsKLQkJZmx1c2hfZGVsYXllZF93b3JrKCZlbmdpbmUtPnBtdS5kaXNhYmxl X2J1c3lfc3RhdHMpOwotCX0KLQogCWk5MTVfcG11X3VucmVnaXN0ZXJfY3B1aHBfc3RhdGUoaTkx NSk7CiAKIAlwZXJmX3BtdV91bnJlZ2lzdGVyKCZpOTE1LT5wbXUuYmFzZSk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggYzVmZjIwM2U0MmQ2Li5hMGU3YTZjMmE1 N2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTM2NiwyMCAr MzY2LDYgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7CiAJCSAqLwogI2RlZmluZSBJOTE1X0VO R0lORV9TQU1QTEVfTUFYIChJOTE1X1NBTVBMRV9TRU1BICsgMSkKIAkJc3RydWN0IGk5MTVfcG11 X3NhbXBsZSBzYW1wbGVbSTkxNV9FTkdJTkVfU0FNUExFX01BWF07Ci0JCS8qKgotCQkgKiBAYnVz eV9zdGF0czogSGFzIGVuYWJsZW1lbnQgb2YgZW5naW5lIHN0YXRzIHRyYWNraW5nIGJlZW4KLQkJ ICogCQlyZXF1ZXN0ZWQuCi0JCSAqLwotCQlib29sIGJ1c3lfc3RhdHM7Ci0JCS8qKgotCQkgKiBA ZGlzYWJsZV9idXN5X3N0YXRzOiBXb3JrIGl0ZW0gZm9yIGJ1c3kgc3RhdHMgZGlzYWJsaW5nLgot CQkgKgotCQkgKiBTYW1lIGFzIHdpdGggQGVuYWJsZV9idXN5X3N0YXRzIGFjdGlvbiwgd2l0aCB0 aGUgZGlmZmVyZW5jZQotCQkgKiB0aGF0IHdlIGRlbGF5IGl0IGluIGNhc2UgdGhlcmUgYXJlIHJh cGlkIGVuYWJsZS1kaXNhYmxlCi0JCSAqIGFjdGlvbnMsIHdoaWNoIGNhbiBoYXBwZW4gZHVyaW5n IHRvb2wgc3RhcnR1cCAobGlrZSBwZXJmCi0JCSAqIHN0YXQpLgotCQkgKi8KLQkJc3RydWN0IGRl bGF5ZWRfd29yayBkaXNhYmxlX2J1c3lfc3RhdHM7CiAJfSBwbXU7CiAKIAkvKgotLSAKMi4xNC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK