From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH 10/11] drm/tinydrm: Use drm_dev_enter/exit() Date: Sun, 20 Jan 2019 12:43:17 +0100 Message-ID: <20190120114318.49199-11-noralf@tronnes.org> References: <20190120114318.49199-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id A22466E5F3 for ; Sun, 20 Jan 2019 11:45:23 +0000 (UTC) In-Reply-To: <20190120114318.49199-1-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: david@lechnology.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwcm90ZWN0cyBkZXZpY2UgcmVzb3VyY2VzIGZyb20gdXNlIGFmdGVyIGRldmljZSByZW1v dmFsLgoKVGhlcmUgYXJlIDMgd2F5cyBmb3IgZHJpdmVyLWRldmljZSB1bmJpbmRpbmcgdG8gaGFw cGVuOgotIFRoZSBkcml2ZXIgbW9kdWxlIGlzIHVubG9hZGVkIGNhdXNpbmcgdGhlIGRyaXZlciB0 byBiZSB1bnJlZ2lzdGVyZWQuCiAgVGhpcyBjYW4ndCBoYXBwZW4gYXMgbG9uZyBhcyB0aGVyZSBh cmUgb3BlbiBmaWxlIGhhbmRsZXMgYmVjYXVzZSBhCiAgcmVmZXJlbmNlIGlzIHRha2VuIG9uIHRo ZSBtb2R1bGUuCi0gVGhlIGRldmljZSBpcyByZW1vdmVkIChEZXZpY2UgVHJlZSBvdmVybGF5IHVu bG9hZGluZykuCiAgVGhpcyBjYW4gaGFwcGVuIGF0IGFueSB0aW1lLgotIFRoZSBkcml2ZXIgc3lz ZnMgdW5iaW5kIGZpbGUgY2FuIGJlIHVzZWQgdG8gdW5iaW5kIHRoZSBkcml2ZXIgZnJvbSB0aGUK ICBkZXZpY2UuIFRoaXMgY2FuIGhhcHBlbiBhbnkgdGltZS4KClNpZ25lZC1vZmYtYnk6IE5vcmFs ZiBUcsO4bm5lcyA8bm9yYWxmQHRyb25uZXMub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS90aW55 ZHJtL2h4ODM1N2QuYyAgfCAgOSArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vdGlueWRybS9pbGk5 MjI1LmMgIHwgMjQgKysrKysrKysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2ls aTkzNDEuYyAgfCAgOSArKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taTAyODNxdC5j IHwgIDkgKysrKystLQogZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyB8IDM5ICsr KysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBl ci5jICB8IDQyICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L3Rpbnlkcm0vc3Q3NTg2LmMgICB8IDIzICsrKysrKysrKysrKystLS0KIGRyaXZlcnMvZ3B1L2Ry bS90aW55ZHJtL3N0NzczNXIuYyAgfCAgOSArKysrKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDEzMSBp bnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vdGlueWRybS9oeDgzNTdkLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9oeDgzNTdkLmMK aW5kZXggNDY0OGJkNmQ2MjgyLi5hYWMyYzRiZGE3NzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS90aW55ZHJtL2h4ODM1N2QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9oeDgz NTdkLmMKQEAgLTQ5LDEzICs0OSwxNiBAQCBzdGF0aWMgdm9pZCB5eDI0MHF2MjlfZW5hYmxlKHN0 cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIHsKIAlzdHJ1Y3QgbWlwaV9kYmkg Km1pcGkgPSBkcm1fdG9fbWlwaV9kYmkocGlwZS0+Y3J0Yy5kZXYpOwogCXU4IGFkZHJfbW9kZTsK LQlpbnQgcmV0OworCWludCByZXQsIGlkeDsKKworCWlmICghZHJtX2Rldl9lbnRlcihwaXBlLT5j cnRjLmRldiwgJmlkeCkpCisJCXJldHVybjsKIAogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKIAly ZXQgPSBtaXBpX2RiaV9wb3dlcm9uX2NvbmRpdGlvbmFsX3Jlc2V0KG1pcGkpOwogCWlmIChyZXQg PCAwKQotCQlyZXR1cm47CisJCWdvdG8gb3V0X2V4aXQ7CiAJaWYgKHJldCA9PSAxKQogCQlnb3Rv IG91dF9lbmFibGU7CiAKQEAgLTE3MSw2ICsxNzQsOCBAQCBzdGF0aWMgdm9pZCB5eDI0MHF2Mjlf ZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAl9CiAJbWlwaV9k YmlfY29tbWFuZChtaXBpLCBNSVBJX0RDU19TRVRfQUREUkVTU19NT0RFLCBhZGRyX21vZGUpOwog CW1pcGlfZGJpX2VuYWJsZV9mbHVzaChtaXBpLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7Citv dXRfZXhpdDoKKwlkcm1fZGV2X2V4aXQoaWR4KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyBoeDgzNTdkX3BpcGVfZnVuY3MgPSB7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9pbGk5MjI1LmMgYi9kcml2ZXJzL2dwdS9k cm0vdGlueWRybS9pbGk5MjI1LmMKaW5kZXggMjBhNDRhNDNhNjRhLi45ZGZjNDcyMDMyYWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2lsaTkyMjUuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vdGlueWRybS9pbGk5MjI1LmMKQEAgLTg4LDEzICs4OCwxNiBAQCBzdGF0aWMgdm9p ZCBpbGk5MjI1X2ZiX2RpcnR5KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBzdHJ1Y3QgZHJt X3JlY3QgKnJlY3QpCiAJYm9vbCBzd2FwID0gbWlwaS0+c3dhcF9ieXRlczsKIAl1MTYgeF9zdGFy dCwgeV9zdGFydDsKIAl1MTYgeDEsIHgyLCB5MSwgeTI7Ci0JaW50IHJldCA9IDA7CisJaW50IGlk eCwgcmV0ID0gMDsKIAlib29sIGZ1bGw7CiAJdm9pZCAqdHI7CiAKIAlpZiAoIW1pcGktPmVuYWJs ZWQpCiAJCXJldHVybjsKIAorCWlmICghZHJtX2Rldl9lbnRlcihmYi0+ZGV2LCAmaWR4KSkKKwkJ cmV0dXJuOworCiAJZnVsbCA9IHdpZHRoID09IGZiLT53aWR0aCAmJiBoZWlnaHQgPT0gZmItPmhl aWdodDsKIAogCURSTV9ERUJVR19LTVMoIkZsdXNoaW5nIFtGQjolZF0gIiBEUk1fUkVDVF9GTVQg IlxuIiwgZmItPmJhc2UuaWQsIERSTV9SRUNUX0FSRyhyZWN0KSk7CkBAIC0xNTcsNiArMTYwLDgg QEAgc3RhdGljIHZvaWQgaWxpOTIyNV9mYl9kaXJ0eShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm Yiwgc3RydWN0IGRybV9yZWN0ICpyZWN0KQogZXJyX21zZzoKIAlpZiAocmV0KQogCQlkZXZfZXJy X29uY2UoZmItPmRldi0+ZGV2LCAiRmFpbGVkIHRvIHVwZGF0ZSBkaXNwbGF5ICVkXG4iLCByZXQp OworCisJZHJtX2Rldl9leGl0KGlkeCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlsaTkyMjVfcGlwZV91 cGRhdGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLApAQCAtMTkwLDkgKzE5 NSwxMiBAQCBzdGF0aWMgdm9pZCBpbGk5MjI1X3BpcGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxl X2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJLnkxID0gMCwKIAkJLnkyID0gZmItPmhlaWdodCwKIAl9 OwotCWludCByZXQ7CisJaW50IHJldCwgaWR4OwogCXU4IGFtX2lkOwogCisJaWYgKCFkcm1fZGV2 X2VudGVyKHBpcGUtPmNydGMuZGV2LCAmaWR4KSkKKwkJcmV0dXJuOworCiAJRFJNX0RFQlVHX0tN UygiXG4iKTsKIAogCW1pcGlfZGJpX2h3X3Jlc2V0KG1pcGkpOwpAQCAtMjA2LDcgKzIxNCw3IEBA IHN0YXRpYyB2b2lkIGlsaTkyMjVfcGlwZV9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxh eV9waXBlICpwaXBlLAogCXJldCA9IGlsaTkyMjVfY29tbWFuZChtaXBpLCBJTEk5MjI1X1BPV0VS X0NPTlRST0xfMSwgMHgwMDAwKTsKIAlpZiAocmV0KSB7CiAJCURSTV9ERVZfRVJST1IoZGV2LCAi RXJyb3Igc2VuZGluZyBjb21tYW5kICVkXG4iLCByZXQpOwotCQlyZXR1cm47CisJCWdvdG8gb3V0 X2V4aXQ7CiAJfQogCWlsaTkyMjVfY29tbWFuZChtaXBpLCBJTEk5MjI1X1BPV0VSX0NPTlRST0xf MiwgMHgwMDAwKTsKIAlpbGk5MjI1X2NvbW1hbmQobWlwaSwgSUxJOTIyNV9QT1dFUl9DT05UUk9M XzMsIDB4MDAwMCk7CkBAIC0yNzksMTYgKzI4NywyMiBAQCBzdGF0aWMgdm9pZCBpbGk5MjI1X3Bp cGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAogCW1pcGkt PmVuYWJsZWQgPSB0cnVlOwogCWlsaTkyMjVfZmJfZGlydHkoZmIsICZyZWN0KTsKK291dF9leGl0 OgorCWRybV9kZXZfZXhpdChpZHgpOwogfQogCiBzdGF0aWMgdm9pZCBpbGk5MjI1X3BpcGVfZGlz YWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUpCiB7CiAJc3RydWN0IG1p cGlfZGJpICptaXBpID0gZHJtX3RvX21pcGlfZGJpKHBpcGUtPmNydGMuZGV2KTsKKwlpbnQgaWR4 OworCisJaWYgKCFkcm1fZGV2X2VudGVyKHBpcGUtPmNydGMuZGV2LCAmaWR4KSkKKwkJcmV0dXJu OwogCiAJRFJNX0RFQlVHX0tNUygiXG4iKTsKIAogCWlmICghbWlwaS0+ZW5hYmxlZCkKLQkJcmV0 dXJuOworCQlnb3RvIG91dF9leGl0OwogCiAJaWxpOTIyNV9jb21tYW5kKG1pcGksIElMSTkyMjVf RElTUExBWV9DT05UUk9MXzEsIDB4MDAwMCk7CiAJbXNsZWVwKDUwKTsKQEAgLTI5Nyw2ICszMTEs OCBAQCBzdGF0aWMgdm9pZCBpbGk5MjI1X3BpcGVfZGlzYWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9k aXNwbGF5X3BpcGUgKnBpcGUpCiAJaWxpOTIyNV9jb21tYW5kKG1pcGksIElMSTkyMjVfUE9XRVJf Q09OVFJPTF8xLCAweDBhMDIpOwogCiAJbWlwaS0+ZW5hYmxlZCA9IGZhbHNlOworb3V0X2V4aXQ6 CisJZHJtX2Rldl9leGl0KGlkeCk7CiB9CiAKIHN0YXRpYyBpbnQgaWxpOTIyNV9kYmlfY29tbWFu ZChzdHJ1Y3QgbWlwaV9kYmkgKm1pcGksIHU4IGNtZCwgdTggKnBhciwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90aW55ZHJtL2lsaTkzNDEuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJt L2lsaTkzNDEuYwppbmRleCA1YWIzMjY3YjIyNGEuLjcwYjQzOTZmNDAwYiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vaWxpOTM0MS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90 aW55ZHJtL2lsaTkzNDEuYwpAQCAtNTUsMTMgKzU1LDE2IEBAIHN0YXRpYyB2b2lkIHl4MjQwcXYy OV9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogewogCXN0cnVj dCBtaXBpX2RiaSAqbWlwaSA9IGRybV90b19taXBpX2RiaShwaXBlLT5jcnRjLmRldik7CiAJdTgg YWRkcl9tb2RlOwotCWludCByZXQ7CisJaW50IHJldCwgaWR4OworCisJaWYgKCFkcm1fZGV2X2Vu dGVyKHBpcGUtPmNydGMuZGV2LCAmaWR4KSkKKwkJcmV0dXJuOwogCiAJRFJNX0RFQlVHX0tNUygi XG4iKTsKIAogCXJldCA9IG1pcGlfZGJpX3Bvd2Vyb25fY29uZGl0aW9uYWxfcmVzZXQobWlwaSk7 CiAJaWYgKHJldCA8IDApCi0JCXJldHVybjsKKwkJZ290byBvdXRfZXhpdDsKIAlpZiAocmV0ID09 IDEpCiAJCWdvdG8gb3V0X2VuYWJsZTsKIApAQCAtMTI3LDYgKzEzMCw4IEBAIHN0YXRpYyB2b2lk IHl4MjQwcXYyOV9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAog CWFkZHJfbW9kZSB8PSBJTEk5MzQxX01BRENUTF9CR1I7CiAJbWlwaV9kYmlfY29tbWFuZChtaXBp LCBNSVBJX0RDU19TRVRfQUREUkVTU19NT0RFLCBhZGRyX21vZGUpOwogCW1pcGlfZGJpX2VuYWJs ZV9mbHVzaChtaXBpLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CitvdXRfZXhpdDoKKwlkcm1f ZGV2X2V4aXQoaWR4KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3Bs YXlfcGlwZV9mdW5jcyBpbGk5MzQxX3BpcGVfZnVuY3MgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vdGlueWRybS9taTAyODNxdC5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkw MjgzcXQuYwppbmRleCBiYjBjZTQ1MTRlNjAuLjdkMGJjZjVkZTg5ZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkwMjgzcXQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlu eWRybS9taTAyODNxdC5jCkBAIC01NywxMyArNTcsMTYgQEAgc3RhdGljIHZvaWQgbWkwMjgzcXRf ZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIHsKIAlzdHJ1Y3Qg bWlwaV9kYmkgKm1pcGkgPSBkcm1fdG9fbWlwaV9kYmkocGlwZS0+Y3J0Yy5kZXYpOwogCXU4IGFk ZHJfbW9kZTsKLQlpbnQgcmV0OworCWludCByZXQsIGlkeDsKKworCWlmICghZHJtX2Rldl9lbnRl cihwaXBlLT5jcnRjLmRldiwgJmlkeCkpCisJCXJldHVybjsKIAogCURSTV9ERUJVR19LTVMoIlxu Iik7CiAKIAlyZXQgPSBtaXBpX2RiaV9wb3dlcm9uX2NvbmRpdGlvbmFsX3Jlc2V0KG1pcGkpOwog CWlmIChyZXQgPCAwKQotCQlyZXR1cm47CisJCWdvdG8gb3V0X2V4aXQ7CiAJaWYgKHJldCA9PSAx KQogCQlnb3RvIG91dF9lbmFibGU7CiAKQEAgLTEzNSw2ICsxMzgsOCBAQCBzdGF0aWMgdm9pZCBt aTAyODNxdF9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCWFk ZHJfbW9kZSB8PSBJTEk5MzQxX01BRENUTF9CR1I7CiAJbWlwaV9kYmlfY29tbWFuZChtaXBpLCBN SVBJX0RDU19TRVRfQUREUkVTU19NT0RFLCBhZGRyX21vZGUpOwogCW1pcGlfZGJpX2VuYWJsZV9m bHVzaChtaXBpLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CitvdXRfZXhpdDoKKwlkcm1fZGV2 X2V4aXQoaWR4KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlf cGlwZV9mdW5jcyBtaTAyODNxdF9waXBlX2Z1bmNzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL21pcGkt ZGJpLmMKaW5kZXggODYxZTA0ODE1MTA0Li5kZjQ3M2IzMTA4MmMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS90aW55ZHJtL21pcGktZGJpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlk cm0vbWlwaS1kYmkuYwpAQCAtMjIwLDEzICsyMjAsMTYgQEAgc3RhdGljIHZvaWQgbWlwaV9kYmlf ZmJfZGlydHkoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIHN0cnVjdCBkcm1fcmVjdCAqcmVj dCkKIAl1bnNpZ25lZCBpbnQgaGVpZ2h0ID0gcmVjdC0+eTIgLSByZWN0LT55MTsKIAl1bnNpZ25l ZCBpbnQgd2lkdGggPSByZWN0LT54MiAtIHJlY3QtPngxOwogCWJvb2wgc3dhcCA9IG1pcGktPnN3 YXBfYnl0ZXM7Ci0JaW50IHJldCA9IDA7CisJaW50IGlkeCwgcmV0ID0gMDsKIAlib29sIGZ1bGw7 CiAJdm9pZCAqdHI7CiAKIAlpZiAoIW1pcGktPmVuYWJsZWQpCiAJCXJldHVybjsKIAorCWlmICgh ZHJtX2Rldl9lbnRlcihmYi0+ZGV2LCAmaWR4KSkKKwkJcmV0dXJuOworCiAJZnVsbCA9IHdpZHRo ID09IGZiLT53aWR0aCAmJiBoZWlnaHQgPT0gZmItPmhlaWdodDsKIAogCURSTV9ERUJVR19LTVMo IkZsdXNoaW5nIFtGQjolZF0gIiBEUk1fUkVDVF9GTVQgIlxuIiwgZmItPmJhc2UuaWQsIERSTV9S RUNUX0FSRyhyZWN0KSk7CkBAIC0yNTMsNiArMjU2LDggQEAgc3RhdGljIHZvaWQgbWlwaV9kYmlf ZmJfZGlydHkoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIHN0cnVjdCBkcm1fcmVjdCAqcmVj dCkKIGVycl9tc2c6CiAJaWYgKHJldCkKIAkJZGV2X2Vycl9vbmNlKGZiLT5kZXYtPmRldiwgIkZh aWxlZCB0byB1cGRhdGUgZGlzcGxheSAlZFxuIiwgcmV0KTsKKworCWRybV9kZXZfZXhpdChpZHgp OwogfQogCiAvKioKQEAgLTMwNywxMCArMzEyLDE2IEBAIHZvaWQgbWlwaV9kYmlfZW5hYmxlX2Zs dXNoKHN0cnVjdCBtaXBpX2RiaSAqbWlwaSwKIAkJLnkxID0gMCwKIAkJLnkyID0gZmItPmhlaWdo dCwKIAl9OworCWludCBpZHg7CisKKwlpZiAoIWRybV9kZXZfZW50ZXIoJm1pcGktPmJhc2UsICZp ZHgpKQorCQlyZXR1cm47CiAKIAltaXBpLT5lbmFibGVkID0gdHJ1ZTsKIAltaXBpX2RiaV9mYl9k aXJ0eShmYiwgJnJlY3QpOwogCWJhY2tsaWdodF9lbmFibGUobWlwaS0+YmFja2xpZ2h0KTsKKwor CWRybV9kZXZfZXhpdChpZHgpOwogfQogRVhQT1JUX1NZTUJPTChtaXBpX2RiaV9lbmFibGVfZmx1 c2gpOwogCkBAIC0zNDIsNiArMzUzLDEwIEBAIHN0YXRpYyB2b2lkIG1pcGlfZGJpX2JsYW5rKHN0 cnVjdCBtaXBpX2RiaSAqbWlwaSkKIHZvaWQgbWlwaV9kYmlfcGlwZV9kaXNhYmxlKHN0cnVjdCBk cm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSkKIHsKIAlzdHJ1Y3QgbWlwaV9kYmkgKm1pcGkg PSBkcm1fdG9fbWlwaV9kYmkocGlwZS0+Y3J0Yy5kZXYpOworCWludCBpZHg7CisKKwlpZiAoIWRy bV9kZXZfZW50ZXIocGlwZS0+Y3J0Yy5kZXYsICZpZHgpKQorCQlyZXR1cm47CiAKIAlEUk1fREVC VUdfS01TKCJcbiIpOwogCkBAIC0zNTQsNiArMzY5LDggQEAgdm9pZCBtaXBpX2RiaV9waXBlX2Rp c2FibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlKQogCiAJaWYgKG1pcGkt PnJlZ3VsYXRvcikKIAkJcmVndWxhdG9yX2Rpc2FibGUobWlwaS0+cmVndWxhdG9yKTsKKworCWRy bV9kZXZfZXhpdChpZHgpOwogfQogRVhQT1JUX1NZTUJPTChtaXBpX2RiaV9waXBlX2Rpc2FibGUp OwogCkBAIC05OTUsMTEgKzEwMTIsMTYgQEAgc3RhdGljIHNzaXplX3QgbWlwaV9kYmlfZGVidWdm c19jb21tYW5kX3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLAogCXU4IHZhbCwgY21kID0gMCwgcGFy YW1ldGVyc1s2NF07CiAJY2hhciAqYnVmLCAqcG9zLCAqdG9rZW47CiAJdW5zaWduZWQgaW50IGk7 Ci0JaW50IHJldDsKKwlpbnQgcmV0LCBpZHg7CisKKwlpZiAoIWRybV9kZXZfZW50ZXIoJm1pcGkt PmJhc2UsICZpZHgpKQorCQlyZXR1cm4gLUVOT0RFVjsKIAogCWJ1ZiA9IG1lbWR1cF91c2VyX251 bCh1YnVmLCBjb3VudCk7Ci0JaWYgKElTX0VSUihidWYpKQotCQlyZXR1cm4gUFRSX0VSUihidWYp OworCWlmIChJU19FUlIoYnVmKSkgeworCQlyZXQgPSBQVFJfRVJSKGJ1Zik7CisJCWdvdG8gZXJy X2V4aXQ7CisJfQogCiAJLyogc3RyaXAgdHJhaWxpbmcgd2hpdGVzcGFjZSAqLwogCWZvciAoaSA9 IGNvdW50IC0gMTsgaSA+IDA7IGktLSkKQEAgLTEwMzUsNiArMTA1Nyw4IEBAIHN0YXRpYyBzc2l6 ZV90IG1pcGlfZGJpX2RlYnVnZnNfY29tbWFuZF93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwKIAog ZXJyX2ZyZWU6CiAJa2ZyZWUoYnVmKTsKK2Vycl9leGl0OgorCWRybV9kZXZfZXhpdChpZHgpOwog CiAJcmV0dXJuIHJldCA8IDAgPyByZXQgOiBjb3VudDsKIH0KQEAgLTEwNDMsOCArMTA2NywxMSBA QCBzdGF0aWMgaW50IG1pcGlfZGJpX2RlYnVnZnNfY29tbWFuZF9zaG93KHN0cnVjdCBzZXFfZmls ZSAqbSwgdm9pZCAqdW51c2VkKQogewogCXN0cnVjdCBtaXBpX2RiaSAqbWlwaSA9IG0tPnByaXZh dGU7CiAJdTggY21kLCB2YWxbNF07CisJaW50IHJldCwgaWR4OwogCXNpemVfdCBsZW47Ci0JaW50 IHJldDsKKworCWlmICghZHJtX2Rldl9lbnRlcigmbWlwaS0+YmFzZSwgJmlkeCkpCisJCXJldHVy biAtRU5PREVWOwogCiAJZm9yIChjbWQgPSAwOyBjbWQgPCAyNTU7IGNtZCsrKSB7CiAJCWlmICgh bWlwaV9kYmlfY29tbWFuZF9pc19yZWFkKG1pcGksIGNtZCkpCkBAIC0xMDc1LDYgKzExMDIsOCBA QCBzdGF0aWMgaW50IG1pcGlfZGJpX2RlYnVnZnNfY29tbWFuZF9zaG93KHN0cnVjdCBzZXFfZmls ZSAqbSwgdm9pZCAqdW51c2VkKQogCQlzZXFfcHJpbnRmKG0sICIlKnBoTlxuIiwgKGludClsZW4s IHZhbCk7CiAJfQogCisJZHJtX2Rldl9leGl0KGlkeCk7CisKIAlyZXR1cm4gMDsKIH0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jIGIvZHJpdmVycy9ncHUv ZHJtL3Rpbnlkcm0vcmVwYXBlci5jCmluZGV4IDRjODIwNTU2NTY2OC4uOTQ1MTU4Mzg2N2U0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9yZXBhcGVyLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL3Rpbnlkcm0vcmVwYXBlci5jCkBAIC01MzIsOCArNTMyLDE0IEBAIHN0YXRpYyBp bnQgcmVwYXBlcl9mYl9kaXJ0eShzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYikKIAlzdHJ1Y3Qg ZG1hX2J1Zl9hdHRhY2htZW50ICppbXBvcnRfYXR0YWNoID0gY21hX29iai0+YmFzZS5pbXBvcnRf YXR0YWNoOwogCXN0cnVjdCByZXBhcGVyX2VwZCAqZXBkID0gZHJtX3RvX2VwZChmYi0+ZGV2KTsK IAlzdHJ1Y3QgZHJtX3JlY3QgY2xpcDsKKwlpbnQgaWR4LCByZXQgPSAwOwogCXU4ICpidWYgPSBO VUxMOwotCWludCByZXQgPSAwOworCisJaWYgKCFlcGQtPmVuYWJsZWQpCisJCXJldHVybiAwOwor CisJaWYgKCFkcm1fZGV2X2VudGVyKGZiLT5kZXYsICZpZHgpKQorCQlyZXR1cm4gLUVOT0RFVjsK IAogCS8qIHJlcGFwZXIgY2FuJ3QgZG8gcGFydGlhbCB1cGRhdGVzICovCiAJY2xpcC54MSA9IDA7 CkBAIC01NDEsMTcgKzU0NywxNiBAQCBzdGF0aWMgaW50IHJlcGFwZXJfZmJfZGlydHkoc3RydWN0 IGRybV9mcmFtZWJ1ZmZlciAqZmIpCiAJY2xpcC55MSA9IDA7CiAJY2xpcC55MiA9IGZiLT5oZWln aHQ7CiAKLQlpZiAoIWVwZC0+ZW5hYmxlZCkKLQkJcmV0dXJuIDA7Ci0KIAlyZXBhcGVyX2dldF90 ZW1wZXJhdHVyZShlcGQpOwogCiAJRFJNX0RFQlVHKCJGbHVzaGluZyBbRkI6JWRdIHN0PSV1bXNc biIsIGZiLT5iYXNlLmlkLAogCQkgIGVwZC0+ZmFjdG9yZWRfc3RhZ2VfdGltZSk7CiAKIAlidWYg PSBrbWFsbG9jX2FycmF5KGZiLT53aWR0aCwgZmItPmhlaWdodCwgR0ZQX0tFUk5FTCk7Ci0JaWYg KCFidWYpCi0JCXJldHVybiAtRU5PTUVNOworCWlmICghYnVmKSB7CisJCXJldCA9IC1FTk9NRU07 CisJCWdvdG8gb3V0X2V4aXQ7CisJfQogCiAJaWYgKGltcG9ydF9hdHRhY2gpIHsKIAkJcmV0ID0g ZG1hX2J1Zl9iZWdpbl9jcHVfYWNjZXNzKGltcG9ydF9hdHRhY2gtPmRtYWJ1ZiwKQEAgLTYyMCw2 ICs2MjUsOCBAQCBzdGF0aWMgaW50IHJlcGFwZXJfZmJfZGlydHkoc3RydWN0IGRybV9mcmFtZWJ1 ZmZlciAqZmIpCiAKIG91dF9mcmVlOgogCWtmcmVlKGJ1Zik7CitvdXRfZXhpdDoKKwlkcm1fZGV2 X2V4aXQoaWR4KTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC02NDksNyArNjU2LDEwIEBAIHN0YXRp YyB2b2lkIHJlcGFwZXJfcGlwZV9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBl ICpwaXBlLAogCXN0cnVjdCBzcGlfZGV2aWNlICpzcGkgPSBlcGQtPnNwaTsKIAlzdHJ1Y3QgZGV2 aWNlICpkZXYgPSAmc3BpLT5kZXY7CiAJYm9vbCBkY19vayA9IGZhbHNlOwotCWludCBpLCByZXQ7 CisJaW50IGksIHJldCwgaWR4OworCisJaWYgKCFkcm1fZGV2X2VudGVyKHBpcGUtPmNydGMuZGV2 LCAmaWR4KSkKKwkJcmV0dXJuOwogCiAJRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKIApAQCAtNjg4 LDcgKzY5OCw3IEBAIHN0YXRpYyB2b2lkIHJlcGFwZXJfcGlwZV9lbmFibGUoc3RydWN0IGRybV9z aW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCWlmICghaSkgewogCQlEUk1fREVWX0VSUk9SKGRl diwgInRpbWVvdXQgd2FpdGluZyBmb3IgcGFuZWwgdG8gYmVjb21lIHJlYWR5LlxuIik7CiAJCXBv d2VyX29mZihlcGQpOwotCQlyZXR1cm47CisJCWdvdG8gb3V0X2V4aXQ7CiAJfQogCiAJcmVwYXBl cl9yZWFkX2lkKHNwaSk7CkBAIC02OTksNyArNzA5LDcgQEAgc3RhdGljIHZvaWQgcmVwYXBlcl9w aXBlX2VuYWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJCWVsc2UK IAkJCWRldl9lcnIoZGV2LCAid3JvbmcgQ09HIElEIDB4JTAyeFxuIiwgcmV0KTsKIAkJcG93ZXJf b2ZmKGVwZCk7Ci0JCXJldHVybjsKKwkJZ290byBvdXRfZXhpdDsKIAl9CiAKIAkvKiBEaXNhYmxl IE9FICovCkBAIC03MTIsNyArNzIyLDcgQEAgc3RhdGljIHZvaWQgcmVwYXBlcl9waXBlX2VuYWJs ZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJCWVsc2UKIAkJCURSTV9E RVZfRVJST1IoZGV2LCAicGFuZWwgaXMgcmVwb3J0ZWQgYnJva2VuXG4iKTsKIAkJcG93ZXJfb2Zm KGVwZCk7Ci0JCXJldHVybjsKKwkJZ290byBvdXRfZXhpdDsKIAl9CiAKIAkvKiBQb3dlciBzYXZp bmcgbW9kZSAqLwpAQCAtNzUyLDcgKzc2Miw3IEBAIHN0YXRpYyB2b2lkIHJlcGFwZXJfcGlwZV9l bmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCQlpZiAocmV0IDwg MCkgewogCQkJRFJNX0RFVl9FUlJPUihkZXYsICJmYWlsZWQgdG8gcmVhZCBjaGlwICglZClcbiIs IHJldCk7CiAJCQlwb3dlcl9vZmYoZXBkKTsKLQkJCXJldHVybjsKKwkJCWdvdG8gb3V0X2V4aXQ7 CiAJCX0KIAogCQlpZiAocmV0ICYgMHg0MCkgewpAQCAtNzY0LDcgKzc3NCw3IEBAIHN0YXRpYyB2 b2lkIHJlcGFwZXJfcGlwZV9lbmFibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpw aXBlLAogCWlmICghZGNfb2spIHsKIAkJRFJNX0RFVl9FUlJPUihkZXYsICJkYy9kYyBmYWlsZWRc biIpOwogCQlwb3dlcl9vZmYoZXBkKTsKLQkJcmV0dXJuOworCQlnb3RvIG91dF9leGl0OwogCX0K IAogCS8qCkBAIC03NzUsNiArNzg1LDggQEAgc3RhdGljIHZvaWQgcmVwYXBlcl9waXBlX2VuYWJs ZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAKIAllcGQtPmVuYWJsZWQg PSB0cnVlOwogCWVwZC0+cGFydGlhbCA9IGZhbHNlOworb3V0X2V4aXQ6CisJZHJtX2Rldl9leGl0 KGlkeCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJlcGFwZXJfcGlwZV9kaXNhYmxlKHN0cnVjdCBkcm1f c2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSkKQEAgLTc4Miw2ICs3OTQsMTAgQEAgc3RhdGljIHZv aWQgcmVwYXBlcl9waXBlX2Rpc2FibGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpw aXBlKQogCXN0cnVjdCByZXBhcGVyX2VwZCAqZXBkID0gZHJtX3RvX2VwZChwaXBlLT5jcnRjLmRl dik7CiAJc3RydWN0IHNwaV9kZXZpY2UgKnNwaSA9IGVwZC0+c3BpOwogCXVuc2lnbmVkIGludCBs aW5lOworCWludCBpZHg7CisKKwlpZiAoIWRybV9kZXZfZW50ZXIocGlwZS0+Y3J0Yy5kZXYsICZp ZHgpKQorCQlyZXR1cm47CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJcbiIpOwogCkBAIC04MjYsNiAr ODQyLDggQEAgc3RhdGljIHZvaWQgcmVwYXBlcl9waXBlX2Rpc2FibGUoc3RydWN0IGRybV9zaW1w bGVfZGlzcGxheV9waXBlICpwaXBlKQogCW1zbGVlcCg1MCk7CiAKIAlwb3dlcl9vZmYoZXBkKTsK KworCWRybV9kZXZfZXhpdChpZHgpOwogfQogCiBzdGF0aWMgdm9pZCByZXBhcGVyX3BpcGVfdXBk YXRlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS90aW55ZHJtL3N0NzU4Ni5jIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0v c3Q3NTg2LmMKaW5kZXggY2FlMDAzMzE4YjQyLi42NDZiNTVkNGZjZDAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS90aW55ZHJtL3N0NzU4Ni5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90aW55 ZHJtL3N0NzU4Ni5jCkBAIC0xMTgsMTIgKzExOCwxNCBAQCBzdGF0aWMgaW50IHN0NzU4Nl9idWZf Y29weSh2b2lkICpkc3QsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogc3RhdGljIHZvaWQg c3Q3NTg2X2ZiX2RpcnR5KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLCBzdHJ1Y3QgZHJtX3Jl Y3QgKnJlY3QpCiB7CiAJc3RydWN0IG1pcGlfZGJpICptaXBpID0gZHJtX3RvX21pcGlfZGJpKGZi LT5kZXYpOwotCWludCBzdGFydCwgZW5kOwotCWludCByZXQgPSAwOworCWludCBzdGFydCwgZW5k LCBpZHgsIHJldCA9IDA7CiAKIAlpZiAoIW1pcGktPmVuYWJsZWQpCiAJCXJldHVybjsKIAorCWlm ICghZHJtX2Rldl9lbnRlcihmYi0+ZGV2LCAmaWR4KSkKKwkJcmV0dXJuOworCiAJLyogMyBwaXhl bHMgcGVyIGJ5dGUsIHNvIGdyb3cgY2xpcCB0byBuZWFyZXN0IG11bHRpcGxlIG9mIDMgKi8KIAly ZWN0LT54MSA9IHJvdW5kZG93bihyZWN0LT54MSwgMyk7CiAJcmVjdC0+eDIgPSByb3VuZHVwKHJl Y3QtPngyLCAzKTsKQEAgLTE1MSw2ICsxNTMsOCBAQCBzdGF0aWMgdm9pZCBzdDc1ODZfZmJfZGly dHkoc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIHN0cnVjdCBkcm1fcmVjdCAqcmVjdCkKIGVy cl9tc2c6CiAJaWYgKHJldCkKIAkJZGV2X2Vycl9vbmNlKGZiLT5kZXYtPmRldiwgIkZhaWxlZCB0 byB1cGRhdGUgZGlzcGxheSAlZFxuIiwgcmV0KTsKKworCWRybV9kZXZfZXhpdChpZHgpOwogfQog CiBzdGF0aWMgdm9pZCBzdDc1ODZfcGlwZV91cGRhdGUoc3RydWN0IGRybV9zaW1wbGVfZGlzcGxh eV9waXBlICpwaXBlLApAQCAtMTgzLDE0ICsxODcsMTcgQEAgc3RhdGljIHZvaWQgc3Q3NTg2X3Bp cGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlwZSwKIAkJLnkxID0g MCwKIAkJLnkyID0gZmItPmhlaWdodCwKIAl9OwotCWludCByZXQ7CisJaW50IGlkeCwgcmV0Owog CXU4IGFkZHJfbW9kZTsKIAorCWlmICghZHJtX2Rldl9lbnRlcihwaXBlLT5jcnRjLmRldiwgJmlk eCkpCisJCXJldHVybjsKKwogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKIAlyZXQgPSBtaXBpX2Ri aV9wb3dlcm9uX3Jlc2V0KG1pcGkpOwogCWlmIChyZXQpCi0JCXJldHVybjsKKwkJZ290byBvdXRf ZXhpdDsKIAogCW1pcGlfZGJpX2NvbW1hbmQobWlwaSwgU1Q3NTg2X0FVVE9fUkVBRF9DVFJMLCAw eDlmKTsKIAltaXBpX2RiaV9jb21tYW5kKG1pcGksIFNUNzU4Nl9PVFBfUldfQ1RSTCwgMHgwMCk7 CkBAIC0yNDMsMTEgKzI1MCwxNyBAQCBzdGF0aWMgdm9pZCBzdDc1ODZfcGlwZV9lbmFibGUoc3Ry dWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogCXN0NzU4Nl9mYl9kaXJ0eShmYiwg JnJlY3QpOwogCiAJbWlwaV9kYmlfY29tbWFuZChtaXBpLCBNSVBJX0RDU19TRVRfRElTUExBWV9P Tik7CitvdXRfZXhpdDoKKwlkcm1fZGV2X2V4aXQoaWR4KTsKIH0KIAogc3RhdGljIHZvaWQgc3Q3 NTg2X3BpcGVfZGlzYWJsZShzdHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUpCiB7 CiAJc3RydWN0IG1pcGlfZGJpICptaXBpID0gZHJtX3RvX21pcGlfZGJpKHBpcGUtPmNydGMuZGV2 KTsKKwlpbnQgaWR4OworCisJaWYgKCFkcm1fZGV2X2VudGVyKHBpcGUtPmNydGMuZGV2LCAmaWR4 KSkKKwkJcmV0dXJuOwogCiAJRFJNX0RFQlVHX0tNUygiXG4iKTsKIApAQCAtMjU2LDYgKzI2OSw4 IEBAIHN0YXRpYyB2b2lkIHN0NzU4Nl9waXBlX2Rpc2FibGUoc3RydWN0IGRybV9zaW1wbGVfZGlz cGxheV9waXBlICpwaXBlKQogCiAJbWlwaV9kYmlfY29tbWFuZChtaXBpLCBNSVBJX0RDU19TRVRf RElTUExBWV9PRkYpOwogCW1pcGktPmVuYWJsZWQgPSBmYWxzZTsKKworCWRybV9kZXZfZXhpdChp ZHgpOwogfQogCiBzdGF0aWMgY29uc3QgdTMyIHN0NzU4Nl9mb3JtYXRzW10gPSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9zdDc3MzVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v dGlueWRybS9zdDc3MzVyLmMKaW5kZXggZGNkMDcyNDg4ODRjLi4zODBkMjZhMWI4MDcgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL3N0NzczNXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vdGlueWRybS9zdDc3MzVyLmMKQEAgLTQzLDE0ICs0MywxNyBAQCBzdGF0aWMgdm9pZCBq ZF90MTgwMDNfdDAxX3BpcGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAq cGlwZSwKIAkJCQkgICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsK IAlzdHJ1Y3QgbWlwaV9kYmkgKm1pcGkgPSBkcm1fdG9fbWlwaV9kYmkocGlwZS0+Y3J0Yy5kZXYp OwotCWludCByZXQ7CisJaW50IHJldCwgaWR4OwogCXU4IGFkZHJfbW9kZTsKIAorCWlmICghZHJt X2Rldl9lbnRlcihwaXBlLT5jcnRjLmRldiwgJmlkeCkpCisJCXJldHVybjsKKwogCURSTV9ERUJV R19LTVMoIlxuIik7CiAKIAlyZXQgPSBtaXBpX2RiaV9wb3dlcm9uX3Jlc2V0KG1pcGkpOwogCWlm IChyZXQpCi0JCXJldHVybjsKKwkJZ290byBvdXRfZXhpdDsKIAogCW1zbGVlcCgxNTApOwogCkBA IC0xMDEsNiArMTA0LDggQEAgc3RhdGljIHZvaWQgamRfdDE4MDAzX3QwMV9waXBlX2VuYWJsZShz dHJ1Y3QgZHJtX3NpbXBsZV9kaXNwbGF5X3BpcGUgKnBpcGUsCiAJbXNsZWVwKDIwKTsKIAogCW1p cGlfZGJpX2VuYWJsZV9mbHVzaChtaXBpLCBjcnRjX3N0YXRlLCBwbGFuZV9zdGF0ZSk7CitvdXRf ZXhpdDoKKwlkcm1fZGV2X2V4aXQoaWR4KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f c2ltcGxlX2Rpc3BsYXlfcGlwZV9mdW5jcyBqZF90MTgwMDNfdDAxX3BpcGVfZnVuY3MgPSB7Ci0t IAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=