From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t] lib/pm: Fix some runtime PM issues Date: Fri, 20 Jul 2018 15:52:19 +0100 Message-ID: <20180720145219.322-1-tvrtko.ursulin@linux.intel.com> References: <20180720140319.31977-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-wr1-x443.google.com (mail-wr1-x443.google.com [IPv6:2a00:1450:4864:20::443]) by gabe.freedesktop.org (Postfix) with ESMTPS id 765C66EB65 for ; Fri, 20 Jul 2018 14:52:26 +0000 (UTC) Received: by mail-wr1-x443.google.com with SMTP id h10-v6so11582441wre.6 for ; Fri, 20 Jul 2018 07:52:26 -0700 (PDT) In-Reply-To: <20180720140319.31977-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: igt-dev@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCjEuCgpJdCBz ZWVtcyB0aGF0IG9uIG1hbnkgc3lzdGVtcyB0aGUgaGFyZGNvZGVkIFBDSSBwYXRoIGluCmlndF9w bV9hdWRpb19zZXR1cF9ydW50aW1lX3BtIGlzIG5vdCBjb3JyZWN0LgoKQWRkIHNvbWUgbW9yZSBw YXRocyB0byB3b3JrIGFyb3VuZCB0aGUgaXNzdWUuIE1vcmUgcm9idXN0IHNvbHV0aW9uIHdvdWxk CmJlIHRvIGxvb2sgZm9yIGEgc3ltbGluayBvZiBhIHNwZWNpZmljIGZvcm1hdCBhbmQgdXNlIHRo YXQsIHN1Y2ggYXM6CgogIyBscyAtbGQgL3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRl bC8wMDAwXDowMFw6MWYuMy8KIGRyd3hyLXhyLXggNyByb290IHJvb3QgMCBKdWwgMjAgMTQ6NDgg L3N5cy9idXMvcGNpL2RyaXZlcnMvc25kX2hkYV9pbnRlbC8wMDAwOjAwOjFmLjMvCgpCdXQgdGhh dCdzIG1vcmUgd29yaywgc28gbGVhdmUgaXQgZm9yIGEgcmFpbnkgZGF5LgoKMi4KCkNsZWFudXAg aGFuZGxlcnMgd2VyZSBub3Qgc2lnbmFsIHNhZmUgLSByZXdyaXRlIHRoZW0uCgozLgoKQWxvbmcg dGhlIHdheSBJIGNhbiBhbHNvIGV4cG9ydCB0aGUgZXhwbGljaXQgY2xlYW51cCBmdW5jdGlvbiB0 byBiZSBjYWxsZWQKZnJvbSBpbmRpdmlkdWFsIHRlc3QgY2FzZXMgd2hlcmUgdGhhdCBpcyB3YW50 ZWQuCgo0LgoKQ2FsbCB0aGUgY2xlYW51cCBleHBsaWNpdGx5IGZyb20gcGVyZl9wbXUvcmM2LXJ1 bnRpbWUtcG0uCgp2MjoKICogU2tpcCBkb3VibGUgcmVzdG9yZS4gKENocmlzIFdpbHNvbikKICog Q2xvc2UgcHJldmlvdXNseSBsZWFrZWQgZmQuCgp2MzoKICogUmVmYWN0b3IgYXRleGl0IGhhbmRs ZXJzIHRvIGJlIHNpZ25hbCBzYWZlLiAoQ2hyaXMgV2lsc29uKQogKiBSZXN0b3JlIGF1ZGlvIHJ1 bnRpbWUgUE0gc3RhdHVzLgogKiBBZGQgYSBkaWZmZXJlbnQgUENJIHBhdGggdG8gYXVkaW8gZGV2 aWNlLgoKdjQ6CiAqIFBhdGNoIHJlbmFtZWQgYW5kIGNvbW1pdCBtZXNzYWdlIGltcHJvdmVkLgog KiBBZGQgYW5vdGhlciBwb3NzaWJsZSBQQ0kgYnVzIGxvY2F0aW9uLgoKdjU6CiAqIFdyb25nIFBD SSBkZXZpY2UuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJl dmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4gIyB2Mwot LS0KRGVhciBTYW50YSwKClBsZWFzZSBkb24ndCBtYWtlIHRoaXMgc3BsaXQgdGhpcyB1cCAtIGF0 IGxlYXN0IG5vdCB0b2RheSBzaW5jZSBpdCBpcwpGcmlkYXkgYW5kIGFuIHVudXN1YWxseSB3YXJt IGRheSEgOikKLS0tCiBsaWIvaWd0X3BtLmMgICAgIHwgMTUzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBsaWIvaWd0X3BtLmggICAgIHwgICAxICsKIHRl c3RzL3BlcmZfcG11LmMgfCAgIDMgKwogMyBmaWxlcyBjaGFuZ2VkLCAxMjMgaW5zZXJ0aW9ucygr KSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL2lndF9wbS5jIGIvbGliL2lndF9w bS5jCmluZGV4IDhhYzEzMjI2OWQ3OS4uZGY3YjJjZDE2ZDY2IDEwMDY0NAotLS0gYS9saWIvaWd0 X3BtLmMKKysrIGIvbGliL2lndF9wbS5jCkBAIC02MywzNiArNjMsNzQgQEAgZW51bSB7CiAvKiBS ZW1lbWJlciB0byBmaXggdGhpcyBpZiBhZGRpbmcgbG9uZ2VyIHN0cmluZ3MgKi8KICNkZWZpbmUg TUFYX1BPTElDWV9TVFJMRU4Jc3RybGVuKE1BWF9QRVJGT1JNQU5DRV9TVFIpCiAKK3N0YXRpYyBj b25zdCBjaGFyICpjb25zdCBfX2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2xfcGF0aHNbXSA9 IHsKKwkiL3N5cy9idXMvcGNpL2RldmljZXMvMDAwMDowMDowMy4wL3Bvd2VyL2NvbnRyb2wiLAor CSIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjBlLjAvcG93ZXIvY29udHJvbCIsCisJIi9z eXMvYnVzL3BjaS9kZXZpY2VzLzAwMDA6MDA6MWYuMy9wb3dlci9jb250cm9sIiwKK307CisKIHN0 YXRpYyBjaGFyIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZVs2NF07CitzdGF0aWMg Y29uc3QgY2hhciAqIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbF9wYXRoOwogc3RhdGlj IGNoYXIgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sWzY0XTsKIAotc3RhdGljIHZvaWQg X19pZ3RfcG1fYXVkaW9fcnVudGltZV9leGl0X2hhbmRsZXIoaW50IHNpZykKK3N0YXRpYyBpbnQg X19pZ3RfcG1fYXVkaW9fcmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpCiB7CiAJaW50IGZkOwogCi0J aWd0X2RlYnVnKCJSZXN0b3JpbmcgYXVkaW8gcG93ZXIgbWFuYWdlbWVudCB0byAnJXMnIGFuZCAn JXMnXG4iLAotCQkgIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKLQkJICBfX2ln dF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2wpOworCWlmICghX19pZ3RfcG1fYXVkaW9fcnVudGlt ZV9wb3dlcl9zYXZlWzBdKQorCQlyZXR1cm4gMDsKIAogCWZkID0gb3BlbigiL3N5cy9tb2R1bGUv c25kX2hkYV9pbnRlbC9wYXJhbWV0ZXJzL3Bvd2VyX3NhdmUiLCBPX1dST05MWSk7CiAJaWYgKGZk IDwgMCkKLQkJcmV0dXJuOworCQlyZXR1cm4gZXJybm87CisKIAlpZiAod3JpdGUoZmQsIF9faWd0 X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSwKIAkJICBzdHJsZW4oX19pZ3RfcG1fYXVkaW9f cnVudGltZV9wb3dlcl9zYXZlKSkgIT0KLQkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRp bWVfcG93ZXJfc2F2ZSkpCi0JCWlndF93YXJuKCJGYWlsZWQgdG8gcmVzdG9yZSBhdWRpbyBwb3dl cl9zYXZlIHRvICclcydcbiIsCi0JCQkgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dlcl9zYXZl KTsKKwkgICAgc3RybGVuKF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfcG93ZXJfc2F2ZSkpIHsKKwkJ Y2xvc2UoZmQpOworCQlyZXR1cm4gZXJybm87CisJfQorCiAJY2xvc2UoZmQpOwogCi0JZmQgPSBv cGVuKCIvc3lzL2J1cy9wY2kvZGV2aWNlcy8wMDAwOjAwOjAzLjAvcG93ZXIvY29udHJvbCIsIE9f V1JPTkxZKTsKKwlmZCA9IG9wZW4oX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sX3BhdGgs IE9fV1JPTkxZKTsKIAlpZiAoZmQgPCAwKQotCQlyZXR1cm47CisJCXJldHVybiBlcnJubzsKKwog CWlmICh3cml0ZShmZCwgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sLAogCQkgIHN0cmxl bihfX2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2wpKSAhPQotCSAgICBzdHJsZW4oX19pZ3Rf cG1fYXVkaW9fcnVudGltZV9jb250cm9sKSkKLQkJaWd0X3dhcm4oIkZhaWxlZCB0byByZXN0b3Jl IGF1ZGlvIGNvbnRyb2wgdG8gJyVzJ1xuIiwKLQkJCSBfX2lndF9wbV9hdWRpb19ydW50aW1lX2Nv bnRyb2wpOworCSAgICBzdHJsZW4oX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKSkgewor CQljbG9zZShmZCk7CisJCXJldHVybiBlcnJubzsKKwl9CisKIAljbG9zZShmZCk7CisKKwlfX2ln dF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmVbMF0gPSAwOworCisJcmV0dXJuIDA7Cit9CisK K3N0YXRpYyB2b2lkIGlndF9wbV9hdWRpb19yZXN0b3JlX3J1bnRpbWVfcG0odm9pZCkKK3sKKwlp bnQgcmV0OworCisJaWYgKCFfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3NhdmVbMF0pCisJ CXJldHVybjsKKworCWlndF9kZWJ1ZygiUmVzdG9yaW5nIGF1ZGlvIHBvd2VyIG1hbmFnZW1lbnQg dG8gJyVzJyBhbmQgJyVzJ1xuIiwKKwkJICBfX2lndF9wbV9hdWRpb19ydW50aW1lX3Bvd2VyX3Nh dmUsCisJCSAgX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKKworCXJldCA9IF9faWd0 X3BtX2F1ZGlvX3Jlc3RvcmVfcnVudGltZV9wbSgpOworCWlmIChyZXQpCisJCWlndF93YXJuKCJG YWlsZWQgdG8gcmVzdG9yZSBydW50aW1lIGF1ZGlvIFBNISAoZXJybm89JWQpXG4iLAorCQkJIHJl dCk7Cit9CisKK3N0YXRpYyB2b2lkIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfZXhpdF9oYW5kbGVy KGludCBzaWcpCit7CisJX19pZ3RfcG1fYXVkaW9fcmVzdG9yZV9ydW50aW1lX3BtKCk7CiB9CiAK IHN0YXRpYyB2b2lkIHN0cmNob21wKGNoYXIgKnN0cikKQEAgLTExNiw3ICsxNTQsNyBAQCBzdGF0 aWMgdm9pZCBzdHJjaG9tcChjaGFyICpzdHIpCiAgKi8KIHZvaWQgaWd0X3BtX2VuYWJsZV9hdWRp b19ydW50aW1lX3BtKHZvaWQpCiB7Ci0JaW50IGZkOworCWludCBmZCwgaTsKIAogCS8qIENoZWNr IGlmIGFscmVhZHkgZW5hYmxlZC4gKi8KIAlpZiAoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9wb3dl cl9zYXZlWzBdKQpAQCAtMTMxLDE0ICsxNjksMjMgQEAgdm9pZCBpZ3RfcG1fZW5hYmxlX2F1ZGlv X3J1bnRpbWVfcG0odm9pZCkKIAkJaWd0X2Fzc2VydF9lcSh3cml0ZShmZCwgIjFcbiIsIDIpLCAy KTsKIAkJY2xvc2UoZmQpOwogCX0KLQlmZCA9IG9wZW4oIi9zeXMvYnVzL3BjaS9kZXZpY2VzLzAw MDA6MDA6MDMuMC9wb3dlci9jb250cm9sIiwgT19SRFdSKTsKLQlpZiAoZmQgPj0gMCkgewotCQlp Z3RfYXNzZXJ0KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCwKLQkJCQlz aXplb2YoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKSkgPiAwKTsKLQkJc3RyY2hvbXAo X19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sKTsKLQkJaWd0X2Fzc2VydF9lcSh3cml0ZShm ZCwgImF1dG9cbiIsIDUpLCA1KTsKLQkJY2xvc2UoZmQpOworCisJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoX19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sX3BhdGhzKTsgaSsrKSB7CisJ CWNvbnN0IGNoYXIgKnBhdGggPSBfX2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2xfcGF0aHNb aV07CisKKwkJZmQgPSBvcGVuKHBhdGgsIE9fUkRXUik7CisJCWlmIChmZCA+PSAwKSB7CisJCQlf X2lndF9wbV9hdWRpb19ydW50aW1lX2NvbnRyb2xfcGF0aCA9IHBhdGg7CisJCQlpZ3RfYXNzZXJ0 KHJlYWQoZmQsIF9faWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCwKKwkJCQkJc2l6ZW9mKF9f aWd0X3BtX2F1ZGlvX3J1bnRpbWVfY29udHJvbCkpID4gMCk7CisJCQlzdHJjaG9tcChfX2lndF9w bV9hdWRpb19ydW50aW1lX2NvbnRyb2wpOworCQkJaWd0X2Fzc2VydF9lcSh3cml0ZShmZCwgImF1 dG9cbiIsIDUpLCA1KTsKKwkJCWNsb3NlKGZkKTsKKwkJCWJyZWFrOworCQl9CiAJfQorCWlmICgh X19pZ3RfcG1fYXVkaW9fcnVudGltZV9jb250cm9sX3BhdGgpCisJCWlndF93YXJuKCJGYWlsZWQg dG8gZmluZCBhdWRpbyBQQ0kgZGV2aWNlIVxuIik7CiAKIAlpZ3RfZGVidWcoIlNhdmVkIGF1ZGlv IHBvd2VyIG1hbmFnZW1lbnQgYXMgJyVzJyBhbmQgJyVzJ1xuIiwKIAkJICBfX2lndF9wbV9hdWRp b19ydW50aW1lX3Bvd2VyX3NhdmUsCkBAIC0yOTEsMzkgKzMzOCw3NyBAQCB2b2lkIGlndF9wbV9y ZXN0b3JlX3NhdGFfbGlua19wb3dlcl9tYW5hZ2VtZW50KGludDhfdCAqcG1fZGF0YSkKIAlmcmVl KGZpbGVfbmFtZSk7CiB9CiAjZGVmaW5lIFBPV0VSX0RJUiAiL3N5cy9kZXZpY2VzL3BjaTAwMDA6 MDAvMDAwMDowMDowMi4wL3Bvd2VyIgotLyogV2UganVzdCBsZWFrIHRoaXMgb24gZXhpdCAuLi4g Ki8KIGludCBwbV9zdGF0dXNfZmQgPSAtMTsKIAogc3RhdGljIGNoYXIgX19pZ3RfcG1fcnVudGlt ZV9hdXRvc3VzcGVuZFs2NF07CiBzdGF0aWMgY2hhciBfX2lndF9wbV9ydW50aW1lX2NvbnRyb2xb NjRdOwogCi1zdGF0aWMgdm9pZCBfX2lndF9wbV9ydW50aW1lX2V4aXRfaGFuZGxlcihpbnQgc2ln KQorc3RhdGljIGludCBfX2lndF9yZXN0b3JlX3J1bnRpbWVfcG0odm9pZCkKIHsKIAlpbnQgZmQ7 CiAKLQlpZ3RfZGVidWcoIlJlc3RvcmluZyBydW50aW1lIG1hbmFnZW1lbnQgdG8gJyVzJyBhbmQg JyVzJ1xuIiwKLQkJICBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kLAotCQkgIF9faWd0X3Bt X3J1bnRpbWVfY29udHJvbCk7CisJaWYgKHBtX3N0YXR1c19mZCA8IDApCisJCXJldHVybiAwOwog CiAJZmQgPSBvcGVuKFBPV0VSX0RJUiAiL2F1dG9zdXNwZW5kX2RlbGF5X21zIiwgT19XUk9OTFkp OwogCWlmIChmZCA8IDApCi0JCXJldHVybjsKKwkJcmV0dXJuIGVycm5vOworCiAJaWYgKHdyaXRl KGZkLCBfX2lndF9wbV9ydW50aW1lX2F1dG9zdXNwZW5kLAogCQkgIHN0cmxlbihfX2lndF9wbV9y dW50aW1lX2F1dG9zdXNwZW5kKSkgIT0KLQkgICAgc3RybGVuKF9faWd0X3BtX3J1bnRpbWVfYXV0 b3N1c3BlbmQpKQotCQlpZ3Rfd2FybigiRmFpbGVkIHRvIHJlc3RvcmUgcnVudGltZSBwbSBhdXRv c3VzcGVuZCBkZWxheSB0byAnJXMnXG4iLAotCQkJIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3Bl bmQpOworCSAgICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9hdXRvc3VzcGVuZCkpIHsKKwkJY2xv c2UoZmQpOworCQlyZXR1cm4gZXJybm87CisJfQorCiAJY2xvc2UoZmQpOwogCiAJZmQgPSBvcGVu KFBPV0VSX0RJUiAiL2NvbnRyb2wiLCBPX1dST05MWSk7CiAJaWYgKGZkIDwgMCkKLQkJcmV0dXJu OworCQlyZXR1cm4gZXJybm87CisKIAlpZiAod3JpdGUoZmQsIF9faWd0X3BtX3J1bnRpbWVfY29u dHJvbCwKIAkJICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9jb250cm9sKSkgIT0KLQkgICAgc3Ry bGVuKF9faWd0X3BtX3J1bnRpbWVfY29udHJvbCkpCi0JCWlndF93YXJuKCJGYWlsZWQgdG8gcmVz dG9yZSBydW50aW1lIHBtIGNvbnRyb2wgdG8gJyVzJ1xuIiwKLQkJCSBfX2lndF9wbV9ydW50aW1l X2NvbnRyb2wpOworCSAgICBzdHJsZW4oX19pZ3RfcG1fcnVudGltZV9jb250cm9sKSkgeworCQlj bG9zZShmZCk7CisJCXJldHVybiBlcnJubzsKKwl9CisKIAljbG9zZShmZCk7CisKKwljbG9zZShw bV9zdGF0dXNfZmQpOworCXBtX3N0YXR1c19mZCA9IC0xOworCisJcmV0dXJuIDA7Cit9CisKKy8q KgorICogaWd0X3Jlc3RvcmVfcnVudGltZV9wbToKKyAqCisgKiBSZXN0b3JlcyB0aGUgcnVudGlt ZSBQTSBjb25maWd1cmF0aW9uIGFzIGl0IHdhcyBiZWZvcmUgdGhlIGNhbGwgdG8KKyAqIGlndF9z ZXR1cF9ydW50aW1lX3BtLgorICovCit2b2lkIGlndF9yZXN0b3JlX3J1bnRpbWVfcG0odm9pZCkK K3sKKwlpbnQgcmV0OworCisJaWYgKHBtX3N0YXR1c19mZCA8IDApCisJCXJldHVybjsKKworCWln dF9kZWJ1ZygiUmVzdG9yaW5nIHJ1bnRpbWUgUE0gbWFuYWdlbWVudCB0byAnJXMnIGFuZCAnJXMn XG4iLAorCQkgIF9faWd0X3BtX3J1bnRpbWVfYXV0b3N1c3BlbmQsCisJCSAgX19pZ3RfcG1fcnVu dGltZV9jb250cm9sKTsKKworCXJldCA9IF9faWd0X3Jlc3RvcmVfcnVudGltZV9wbSgpOworCWlm IChyZXQpCisJCWlndF93YXJuKCJGYWlsZWQgdG8gcmVzdG9yZSBydW50aW1lIFBNISAoZXJybm89 JWQpXG4iLCByZXQpOworCisJaWd0X3BtX2F1ZGlvX3Jlc3RvcmVfcnVudGltZV9wbSgpOworfQor CitzdGF0aWMgdm9pZCBfX2lndF9wbV9ydW50aW1lX2V4aXRfaGFuZGxlcihpbnQgc2lnKQorewor CV9faWd0X3Jlc3RvcmVfcnVudGltZV9wbSgpOwogfQogCiAvKioKZGlmZiAtLWdpdCBhL2xpYi9p Z3RfcG0uaCBiL2xpYi9pZ3RfcG0uaAppbmRleCBlY2VkMzlmODgwMWEuLjEwY2M2Nzk0ZTRlNyAx MDA2NDQKLS0tIGEvbGliL2lndF9wbS5oCisrKyBiL2xpYi9pZ3RfcG0uaApAQCAtNDcsNiArNDcs NyBAQCBlbnVtIGlndF9ydW50aW1lX3BtX3N0YXR1cyB7CiB9OwogCiBib29sIGlndF9zZXR1cF9y dW50aW1lX3BtKHZvaWQpOwordm9pZCBpZ3RfcmVzdG9yZV9ydW50aW1lX3BtKHZvaWQpOwogZW51 bSBpZ3RfcnVudGltZV9wbV9zdGF0dXMgaWd0X2dldF9ydW50aW1lX3BtX3N0YXR1cyh2b2lkKTsK IGJvb2wgaWd0X3dhaXRfZm9yX3BtX3N0YXR1cyhlbnVtIGlndF9ydW50aW1lX3BtX3N0YXR1cyBz dGF0dXMpOwogCmRpZmYgLS1naXQgYS90ZXN0cy9wZXJmX3BtdS5jIGIvdGVzdHMvcGVyZl9wbXUu YwppbmRleCBhMWQzNmFjNGZhOWQuLjlhMjBhYmI2Yjk1YyAxMDA2NDQKLS0tIGEvdGVzdHMvcGVy Zl9wbXUuYworKysgYi90ZXN0cy9wZXJmX3BtdS5jCkBAIC0xNDQxLDYgKzE0NDEsOSBAQCB0ZXN0 X3JjNihpbnQgZ2VtX2ZkLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJY2xvc2UoZncpOwogCWNsb3Nl KGZkKTsKIAorCWlmIChmbGFncyAmIFRFU1RfUlVOVElNRV9QTSkKKwkJaWd0X3Jlc3RvcmVfcnVu dGltZV9wbSgpOworCiAJYXNzZXJ0X3dpdGhpbl9lcHNpbG9uKGJ1c3kgLSBwcmV2LCAwLjAsIHRv bGVyYW5jZSk7CiB9CiAKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==