From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Zimmermann Subject: [PATCH 6/7] drm: Replace drm_dev_unref with drm_dev_put Date: Sat, 9 Jun 2018 15:18:04 +0200 Message-ID: <20180609131805.2738-7-tdz@users.sourceforge.net> References: <20180609131805.2738-1-tdz@users.sourceforge.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id E76CD6E24B for ; Sat, 9 Jun 2018 13:18:33 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id 69-v6so8459137wmf.3 for ; Sat, 09 Jun 2018 06:18:33 -0700 (PDT) In-Reply-To: <20180609131805.2738-1-tdz@users.sourceforge.net> 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: Thomas Zimmermann List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCB1bmlmaWVzIHRoZSBuYW1pbmcgb2YgRFJNIGZ1bmN0aW9ucyBmb3IgcmVmZXJl bmNlIGNvdW50aW5nCm9mIHN0cnVjdCBkcm1fZGV2aWNlLiBUaGUgcmVzdWx0aW5nIGNvZGUgaXMg bW9yZSBhbGlnbmVkIHdpdGggdGhlIHJlc3QKb2YgdGhlIExpbnV4IGtlcm5lbCBpbnRlcmZhY2Vz LgoKVGhlIHBhdGNoIGFsc28gZGVsZXRlcyB0aGUgb2xkIGZ1bmN0aW9uIGFuZCByZW1vdmVzIGl0 IGZyb20gdGhlCkNvY2NpbmVsbGUgc2NyaXB0LgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIFppbW1l cm1hbm4gPHRkekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X2Rydi5jICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9k cm0vYXJjL2FyY3BndV9kcnYuYyAgICAgICAgICAgICAgICAgICB8ICA4ICsrKystLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYuYyAgICAgICAgICAgICAgICB8ICA2ICsrKy0t LQogZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMgICAgICAgfCAg OCArKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9kcnYuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAxMyAtLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2 X2Rydi5jICAgICAgICAgICAgICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fZHJ2LmMgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9m c2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jICAgICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMv Z3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJtX2Rydi5jICAgIHwgIDQgKystLQogZHJp dmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2LmMgICAgfCAgOCArKysr LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyAgICAgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQu YyAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2RtYWJ1 Zi5jICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2V2 aWN0LmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2Vt X2d0dC5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVf Z2VtX29iamVjdC5jICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfcmVxdWVzdC5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfdm1hLmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2ludGVsX2JyZWFkY3J1bWJzLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2lteC9pbXgt ZHJtLWNvcmUuYyAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQogZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZHJ2LmMgICAgICAgICAgICAgfCAgNiArKystLS0KIGRyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2Rydi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0K IGRyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYyAgICAgICAgICAgICAgICAgIHwgIDQg KystLQogZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9wbGF0Zm9ybS5jICAgICAgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyAgICAgICAgICAgICAg ICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vcGwxMTEvcGwxMTFfZHJ2LmMgICAgICAgICAg ICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kcnYu YyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9y Y2FyX2R1X2Rydi5jICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX2Rydi5jICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9z aG1vYmlsZS9zaG1vYl9kcm1fZHJ2LmMgICAgICAgICAgIHwgIDQgKystLQogZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfZHJ2LmMgICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQogZHJp dmVycy9ncHUvZHJtL3N0bS9kcnYuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysr Ky0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgICAgICAgICAgICAgICAg ICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYyAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUvdGlueWRy bS1jb3JlLmMgICAgICAgIHwgIDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vdHZlMjAwL3R2ZTIw MF9kcnYuYyAgICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS91 ZGwvdWRsX2Rydi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS92YzQvdmM0X2Rydi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZl cnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmMgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGRy aXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kcm1fYnVzLmMgICAgICAgICAgIHwgIDIgKy0K IGRyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJtX2Rydi5jICAgICAgICAgICAgICAgICAgIHwgIDQg KystLQogaW5jbHVkZS9kcm0vZHJtX2Rydi5oICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMSAtCiBzY3JpcHRzL2NvY2NpbmVsbGUvYXBpL2RybS1nZXQtcHV0LmNvY2NpICAgICAgICAg ICB8ICAzIC0tLQogNDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMTE2IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcnYuYwppbmRleCBiMGJm MmYyNGRhNDguLmNmNWIxOGU3ZDhkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9kcnYuYwpAQCAtNjY0LDcgKzY2NCw3IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3BjaV9wcm9iZShz dHJ1Y3QgcGNpX2RldiAqcGRldiwKIGVycl9wY2k6CiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBkZXYp OwogZXJyX2ZyZWU6Ci0JZHJtX2Rldl91bnJlZihkZXYpOworCWRybV9kZXZfcHV0KGRldik7CiAJ cmV0dXJuIHJldDsKIH0KIApAQCAtNjc0LDcgKzY3NCw3IEBAIGFtZGdwdV9wY2lfcmVtb3ZlKHN0 cnVjdCBwY2lfZGV2ICpwZGV2KQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwY2lfZ2V0X2Ry dmRhdGEocGRldik7CiAKIAlkcm1fZGV2X3VucmVnaXN0ZXIoZGV2KTsKLQlkcm1fZGV2X3VucmVm KGRldik7CisJZHJtX2Rldl9wdXQoZGV2KTsKIAlwY2lfZGlzYWJsZV9kZXZpY2UocGRldik7CiAJ cGNpX3NldF9kcnZkYXRhKHBkZXYsIE5VTEwpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FyYy9hcmNwZ3VfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJjL2FyY3BndV9kcnYuYwpp bmRleCBmMDY3ZGU0ZTFlODIuLjI3ZDQyNmJmN2QwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FyYy9hcmNwZ3VfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FyYy9hcmNwZ3VfZHJ2 LmMKQEAgLTIwNCw3ICsyMDQsNyBAQCBzdGF0aWMgaW50IGFyY3BndV9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQogCiAJcmV0ID0gYXJjcGd1X2xvYWQoZHJtKTsKIAlpZiAocmV0 KQotCQlnb3RvIGVycl91bnJlZjsKKwkJZ290byBlcnJfcHV0OwogCiAJcmV0ID0gZHJtX2Rldl9y ZWdpc3Rlcihkcm0sIDApOwogCWlmIChyZXQpCkBAIC0yMTUsOCArMjE1LDggQEAgc3RhdGljIGlu dCBhcmNwZ3VfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIGVycl91bmxvYWQ6 CiAJYXJjcGd1X3VubG9hZChkcm0pOwogCi1lcnJfdW5yZWY6Ci0JZHJtX2Rldl91bnJlZihkcm0p OworZXJyX3B1dDoKKwlkcm1fZGV2X3B1dChkcm0pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTIy Nyw3ICsyMjcsNyBAQCBzdGF0aWMgaW50IGFyY3BndV9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKIAogCWRybV9kZXZfdW5yZWdpc3Rlcihkcm0pOwogCWFyY3BndV91bmxvYWQo ZHJtKTsKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIAogCXJldHVy biAwOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYuYwppbmRleCA0YjExYjZiNTJmMWQu LmQxNzA1ZDI5OGEzOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFf ZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMKQEAgLTEwOSw3 ICsxMDksNyBAQCBzdGF0aWMgaW50IGFybWFkYV9kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYp CiAKIAkvKgogCSAqIFRoZSBkcm1fZGV2aWNlIHN0cnVjdHVyZSBtdXN0IGJlIGF0IHRoZSBzdGFy dCBvZgotCSAqIGFybWFkYV9wcml2YXRlIGZvciBkcm1fZGV2X3VucmVmKCkgdG8gd29yayBjb3Jy ZWN0bHkuCisJICogYXJtYWRhX3ByaXZhdGUgZm9yIGRybV9kZXZfcHV0KCkgdG8gd29yayBjb3Jy ZWN0bHkuCiAJICovCiAJQlVJTERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBhcm1hZGFfcHJpdmF0 ZSwgZHJtKSAhPSAwKTsKIApAQCAtMTgwLDcgKzE4MCw3IEBAIHN0YXRpYyBpbnQgYXJtYWRhX2Ry bV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cCgmcHJp di0+ZHJtKTsKIAlkcm1fbW1fdGFrZWRvd24oJnByaXYtPmxpbmVhcik7CiAJZmx1c2hfd29yaygm cHJpdi0+ZmJfdW5yZWZfd29yayk7Ci0JZHJtX2Rldl91bnJlZigmcHJpdi0+ZHJtKTsKKwlkcm1f ZGV2X3B1dCgmcHJpdi0+ZHJtKTsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yMDAsNyArMjAwLDcg QEAgc3RhdGljIHZvaWQgYXJtYWRhX2RybV91bmJpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCWRy bV9tbV90YWtlZG93bigmcHJpdi0+bGluZWFyKTsKIAlmbHVzaF93b3JrKCZwcml2LT5mYl91bnJl Zl93b3JrKTsKIAotCWRybV9kZXZfdW5yZWYoJnByaXYtPmRybSk7CisJZHJtX2Rldl9wdXQoJnBy aXYtPmRybSk7CiB9CiAKIHN0YXRpYyBpbnQgY29tcGFyZV9vZihzdHJ1Y3QgZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRt ZWxfaGxjZGNfZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19k Yy5jCmluZGV4IDg0M2NhYzIyMmU2MC4uZmVkYmZhMzMzYmIwIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYwpAQCAtNzYzLDcgKzc2Myw3IEBAIHN0YXRp YyBpbnQgYXRtZWxfaGxjZGNfZGNfZHJtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCiAKIAlyZXQgPSBhdG1lbF9obGNkY19kY19sb2FkKGRkZXYpOwogCWlmIChyZXQpCi0JCWdv dG8gZXJyX3VucmVmOworCQlnb3RvIGVycl9wdXQ7CiAKIAlyZXQgPSBkcm1fZGV2X3JlZ2lzdGVy KGRkZXYsIDApOwogCWlmIChyZXQpCkBAIC03NzQsOCArNzc0LDggQEAgc3RhdGljIGludCBhdG1l bF9obGNkY19kY19kcm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIGVycl91 bmxvYWQ6CiAJYXRtZWxfaGxjZGNfZGNfdW5sb2FkKGRkZXYpOwogCi1lcnJfdW5yZWY6Ci0JZHJt X2Rldl91bnJlZihkZGV2KTsKK2Vycl9wdXQ6CisJZHJtX2Rldl9wdXQoZGRldik7CiAKIAlyZXR1 cm4gcmV0OwogfQpAQCAtNzg2LDcgKzc4Niw3IEBAIHN0YXRpYyBpbnQgYXRtZWxfaGxjZGNfZGNf ZHJtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJZHJtX2Rldl91bnJl Z2lzdGVyKGRkZXYpOwogCWF0bWVsX2hsY2RjX2RjX3VubG9hZChkZGV2KTsKLQlkcm1fZGV2X3Vu cmVmKGRkZXYpOworCWRybV9kZXZfcHV0KGRkZXYpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kcnYu YwppbmRleCA3YWY3NDhlZDFjNTguLjY0MjUwM2ZiMTA0NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rydi5jCkBAIC02OTYs MTkgKzY5Niw2IEBAIHZvaWQgZHJtX2Rldl9wdXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIH0K IEVYUE9SVF9TWU1CT0woZHJtX2Rldl9wdXQpOwogCi0vKioKLSAqIGRybV9kZXZfdW5yZWYgLSBE cm9wIHJlZmVyZW5jZSBvZiBhIERSTSBkZXZpY2UKLSAqIEBkZXY6IGRldmljZSB0byBkcm9wIHJl ZmVyZW5jZSBvZiBvciBOVUxMCi0gKgotICogVGhpcyBpcyBhIGNvbXBhdGliaWxpdHkgYWxpYXMg Zm9yIGRybV9kZXZfcHV0KCkgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBieSBuZXcKLSAqIGNvZGUu Ci0gKi8KLXZvaWQgZHJtX2Rldl91bnJlZihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQotewotCWRy bV9kZXZfcHV0KGRldik7Ci19Ci1FWFBPUlRfU1lNQk9MKGRybV9kZXZfdW5yZWYpOwotCiBzdGF0 aWMgaW50IGNyZWF0ZV9jb21wYXRfY29udHJvbF9saW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiB7CiAJc3RydWN0IGRybV9taW5vciAqbWlub3I7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZp dl9kcnYuYwppbmRleCBlNTAxM2E5OTkxNDcuLjM1Mjg1YzBhZWVhYyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZXRuYXZpdi9ldG5hdml2X2Rydi5jCkBAIC01MjQsNyArNTI0LDcgQEAgc3RhdGljIGludCBldG5h dml2X2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCWlmICghcHJpdikgewogCQlkZXZfZXJyKGRl diwgImZhaWxlZCB0byBhbGxvY2F0ZSBwcml2YXRlIGRhdGFcbiIpOwogCQlyZXQgPSAtRU5PTUVN OwotCQlnb3RvIG91dF91bnJlZjsKKwkJZ290byBvdXRfcHV0OwogCX0KIAlkcm0tPmRldl9wcml2 YXRlID0gcHJpdjsKIApAQCAtNTUwLDggKzU1MCw4IEBAIHN0YXRpYyBpbnQgZXRuYXZpdl9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldikKIAljb21wb25lbnRfdW5iaW5kX2FsbChkZXYsIGRybSk7CiBv dXRfYmluZDoKIAlrZnJlZShwcml2KTsKLW91dF91bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7 CitvdXRfcHV0OgorCWRybV9kZXZfcHV0KGRybSk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtNTY4 LDcgKzU2OCw3IEBAIHN0YXRpYyB2b2lkIGV0bmF2aXZfdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRl dikKIAlkcm0tPmRldl9wcml2YXRlID0gTlVMTDsKIAlrZnJlZShwcml2KTsKIAotCWRybV9kZXZf dW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGNvbXBvbmVudF9tYXN0ZXJfb3BzIGV0bmF2aXZfbWFzdGVyX29wcyA9IHsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwppbmRleCBhODFiNGE1ZTI0YTcuLmVkM2NjMjk4OWY5 MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYuYwpAQCAtNDIwLDcgKzQy MCw3IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2RybV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIGVy cl9mcmVlX3ByaXZhdGU6CiAJa2ZyZWUocHJpdmF0ZSk7CiBlcnJfZnJlZV9kcm06Ci0JZHJtX2Rl dl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAt NDQ0LDcgKzQ0NCw3IEBAIHN0YXRpYyB2b2lkIGV4eW5vc19kcm1fdW5iaW5kKHN0cnVjdCBkZXZp Y2UgKmRldikKIAlkcm0tPmRldl9wcml2YXRlID0gTlVMTDsKIAlkZXZfc2V0X2RydmRhdGEoZGV2 LCBOVUxMKTsKIAotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogfQog CiBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0ZXJfb3BzIGV4eW5vc19kcm1fb3Bz ID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYwppbmRleCA4MDIz MjMyMWEyNDQuLjA0OTZiZTUyMTJlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2ZzbC1k Y3UvZnNsX2RjdV9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2Rj dV9kcm1fZHJ2LmMKQEAgLTM1MywxMiArMzUzLDEyIEBAIHN0YXRpYyBpbnQgZnNsX2RjdV9kcm1f cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCXJldCA9IGRybV9kZXZfcmVn aXN0ZXIoZHJtLCAwKTsKIAlpZiAocmV0IDwgMCkKLQkJZ290byB1bnJlZjsKKwkJZ290byBwdXQ7 CiAKIAlyZXR1cm4gMDsKIAotdW5yZWY6Ci0JZHJtX2Rldl91bnJlZihkcm0pOworcHV0OgorCWRy bV9kZXZfcHV0KGRybSk7CiB1bnJlZ2lzdGVyX3BpeF9jbGs6CiAJY2xrX3VucmVnaXN0ZXIoZnNs X2Rldi0+cGl4X2Nsayk7CiBkaXNhYmxlX2NsazoKQEAgLTM3MSw3ICszNzEsNyBAQCBzdGF0aWMg aW50IGZzbF9kY3VfZHJtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXN0 cnVjdCBmc2xfZGN1X2RybV9kZXZpY2UgKmZzbF9kZXYgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShw ZGV2KTsKIAogCWRybV9kZXZfdW5yZWdpc3Rlcihmc2xfZGV2LT5kcm0pOwotCWRybV9kZXZfdW5y ZWYoZnNsX2Rldi0+ZHJtKTsKKwlkcm1fZGV2X3B1dChmc2xfZGV2LT5kcm0pOwogCWNsa19kaXNh YmxlX3VucHJlcGFyZShmc2xfZGV2LT5jbGspOwogCWNsa191bnJlZ2lzdGVyKGZzbF9kZXYtPnBp eF9jbGspOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hp Ym1jX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24vaGlibWMvaGlibWNfZHJt X2Rydi5jCmluZGV4IGQ0ZjZmMWY5ZGY1Yi4uZWM4NzhjN2UzZjc1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuYwpAQCAtMzg3LDcgKzM4Nyw3 IEBAIHN0YXRpYyBpbnQgaGlibWNfcGNpX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LAogZXJy X2Rpc2FibGU6CiAJcGNpX2Rpc2FibGVfZGV2aWNlKHBkZXYpOwogZXJyX2ZyZWU6Ci0JZHJtX2Rl dl91bnJlZihkZXYpOworCWRybV9kZXZfcHV0KGRldik7CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAt Mzk4LDcgKzM5OCw3IEBAIHN0YXRpYyB2b2lkIGhpYm1jX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9k ZXYgKnBkZXYpCiAKIAlkcm1fZGV2X3VucmVnaXN0ZXIoZGV2KTsKIAloaWJtY191bmxvYWQoZGV2 KTsKLQlkcm1fZGV2X3VucmVmKGRldik7CisJZHJtX2Rldl9wdXQoZGV2KTsKIH0KIAogc3RhdGlj IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGhpYm1jX3BjaV90YWJsZVtdID0gewpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9kcnYuYwppbmRleCBkZGIwNDAzZjE5 NzUuLmU2YTYyZDVhMDBhMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9r aXJpbi9raXJpbl9kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJp bi9raXJpbl9kcm1fZHJ2LmMKQEAgLTE5Myw3ICsxOTMsNyBAQCBzdGF0aWMgaW50IGtpcmluX2Ry bV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAogCXJldCA9IGtpcmluX2RybV9rbXNfaW5pdChk cm1fZGV2KTsKIAlpZiAocmV0KQotCQlnb3RvIGVycl9kcm1fZGV2X3VucmVmOworCQlnb3RvIGVy cl9kcm1fZGV2X3B1dDsKIAogCXJldCA9IGRybV9kZXZfcmVnaXN0ZXIoZHJtX2RldiwgMCk7CiAJ aWYgKHJldCkKQEAgLTIwMyw4ICsyMDMsOCBAQCBzdGF0aWMgaW50IGtpcmluX2RybV9iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKIAogZXJyX2ttc19jbGVhbnVwOgogCWtpcmluX2RybV9rbXNfY2xl YW51cChkcm1fZGV2KTsKLWVycl9kcm1fZGV2X3VucmVmOgotCWRybV9kZXZfdW5yZWYoZHJtX2Rl dik7CitlcnJfZHJtX2Rldl9wdXQ6CisJZHJtX2Rldl9wdXQoZHJtX2Rldik7CiAKIAlyZXR1cm4g cmV0OwogfQpAQCAtMjE1LDcgKzIxNSw3IEBAIHN0YXRpYyB2b2lkIGtpcmluX2RybV91bmJpbmQo c3RydWN0IGRldmljZSAqZGV2KQogCiAJZHJtX2Rldl91bnJlZ2lzdGVyKGRybV9kZXYpOwogCWtp cmluX2RybV9rbXNfY2xlYW51cChkcm1fZGV2KTsKLQlkcm1fZGV2X3VucmVmKGRybV9kZXYpOwor CWRybV9kZXZfcHV0KGRybV9kZXYpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVu dF9tYXN0ZXJfb3BzIGtpcmluX2RybV9vcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2h1Z2VfcGFnZXMuYwppbmRleCA3ODQ2ZWE0YTk5YmMuLmRhOGM3MGRkNzBiNCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCkBAIC0xNzI0LDcg KzE3MjQsNyBAQCBpbnQgaTkxNV9nZW1faHVnZV9wYWdlX21vY2tfc2VsZnRlc3RzKHZvaWQpCiAK IAlpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQgPSBzYXZlZF9wcGd0dDsKIAotCWRybV9kZXZf dW5yZWYoJmRldl9wcml2LT5kcm0pOworCWRybV9kZXZfcHV0KCZkZXZfcHJpdi0+ZHJtKTsKIAog CXJldHVybiBlcnI7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVz dHMvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5 MTVfZ2VtX2NvbnRleHQuYwppbmRleCA3MDhlOGQ3MjE0NDguLjNhOTc3YmI1YTMzZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCkBA IC01ODYsNyArNTg2LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfbW9ja19zZWxmdGVzdHModm9p ZCkKIAogCWVyciA9IGk5MTVfc3VidGVzdHModGVzdHMsIGk5MTUpOwogCi0JZHJtX2Rldl91bnJl ZigmaTkxNS0+ZHJtKTsKKwlkcm1fZGV2X3B1dCgmaTkxNS0+ZHJtKTsKIAlyZXR1cm4gZXJyOwog fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f ZG1hYnVmLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZG1hYnVm LmMKaW5kZXggODlkYzI1YTVhNTNiLi5hNzA1NWIxMmU1M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9kbWFidWYuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZG1hYnVmLmMKQEAgLTM4OSw3ICszODksNyBA QCBpbnQgaTkxNV9nZW1fZG1hYnVmX21vY2tfc2VsZnRlc3RzKHZvaWQpCiAKIAllcnIgPSBpOTE1 X3N1YnRlc3RzKHRlc3RzLCBpOTE1KTsKIAotCWRybV9kZXZfdW5yZWYoJmk5MTUtPmRybSk7CisJ ZHJtX2Rldl9wdXQoJmk5MTUtPmRybSk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2V2aWN0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZXZpY3QuYwppbmRleCAyZGM3MmE5ODRk NDUuLjgwNTkyNjg4MDBmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfZ2VtX2V2aWN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3Rz L2k5MTVfZ2VtX2V2aWN0LmMKQEAgLTQ5MCw3ICs0OTAsNyBAQCBpbnQgaTkxNV9nZW1fZXZpY3Rf bW9ja19zZWxmdGVzdHModm9pZCkKIAllcnIgPSBpOTE1X3N1YnRlc3RzKHRlc3RzLCBpOTE1KTsK IAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCi0JZHJtX2Rldl91bnJl ZigmaTkxNS0+ZHJtKTsKKwlkcm1fZGV2X3B1dCgmaTkxNS0+ZHJtKTsKIAlyZXR1cm4gZXJyOwog fQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f Z3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKaW5k ZXggZjgwY2Y3Y2UzZmE5Li40ZTdiZWE2ZWZmMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9nZW1fZ3R0LmMKQEAgLTE2NTAsNyArMTY1MCw3IEBAIGludCBpOTE1 X2dlbV9ndHRfbW9ja19zZWxmdGVzdHModm9pZCkKIAllcnIgPSBpOTE1X3N1YnRlc3RzKHRlc3Rz LCBpOTE1KTsKIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCi0JZHJt X2Rldl91bnJlZigmaTkxNS0+ZHJtKTsKKwlkcm1fZGV2X3B1dCgmaTkxNS0+ZHJtKTsKIAlyZXR1 cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMv aTkxNV9nZW1fb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9n ZW1fb2JqZWN0LmMKaW5kZXggMmIyZGRlOTQ1MjZmLi41NDk3MDdiOWQ3MzggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9vYmplY3QuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fb2JqZWN0LmMKQEAgLTU4Niw3 ICs1ODYsNyBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X21vY2tfc2VsZnRlc3RzKHZvaWQpCiAKIAll cnIgPSBpOTE1X3N1YnRlc3RzKHRlc3RzLCBpOTE1KTsKIAotCWRybV9kZXZfdW5yZWYoJmk5MTUt PmRybSk7CisJZHJtX2Rldl9wdXQoJmk5MTUtPmRybSk7CiAJcmV0dXJuIGVycjsKIH0KIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfcmVxdWVzdC5jCmluZGV4IGEzYTg5 YWFkZWNjYi4uZDI0NjA1OTMzOGU5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaTkxNV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRl c3RzL2k5MTVfcmVxdWVzdC5jCkBAIC0yNjIsNyArMjYyLDcgQEAgaW50IGk5MTVfcmVxdWVzdF9t b2NrX3NlbGZ0ZXN0cyh2b2lkKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCWVyciA9IGk5MTVfc3Vi dGVzdHModGVzdHMsIGk5MTUpOwotCWRybV9kZXZfdW5yZWYoJmk5MTUtPmRybSk7CisJZHJtX2Rl dl9wdXQoJmk5MTUtPmRybSk7CiAKIAlyZXR1cm4gZXJyOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV92bWEuYwppbmRleCA4NDAwYThjYzVjZjIuLmZmYTc0MjkwZTA1NCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfdm1hLmMKQEAgLTczMyw3ICs3 MzMsNyBAQCBpbnQgaTkxNV92bWFfbW9ja19zZWxmdGVzdHModm9pZCkKIAllcnIgPSBpOTE1X3N1 YnRlc3RzKHRlc3RzLCBpOTE1KTsKIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0 ZXgpOwogCi0JZHJtX2Rldl91bnJlZigmaTkxNS0+ZHJtKTsKKwlkcm1fZGV2X3B1dCgmaTkxNS0+ ZHJtKTsKIAlyZXR1cm4gZXJyOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaW50ZWxfYnJlYWRjcnVtYnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9pbnRlbF9icmVhZGNydW1icy5jCmluZGV4IGQ2OTI2ZTc4MjBlNS4uZjAzYjQwN2Zk YmUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfYnJl YWRjcnVtYnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfYnJl YWRjcnVtYnMuYwpAQCAtNDY0LDcgKzQ2NCw3IEBAIGludCBpbnRlbF9icmVhZGNydW1ic19tb2Nr X3NlbGZ0ZXN0cyh2b2lkKQogCQlyZXR1cm4gLUVOT01FTTsKIAogCWVyciA9IGk5MTVfc3VidGVz dHModGVzdHMsIGk5MTUtPmVuZ2luZVtSQ1NdKTsKLQlkcm1fZGV2X3VucmVmKCZpOTE1LT5kcm0p OworCWRybV9kZXZfcHV0KCZpOTE1LT5kcm0pOwogCiAJcmV0dXJuIGVycjsKIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0v aW14L2lteC1kcm0tY29yZS5jCmluZGV4IDFkMDUzYmJlZmMwMi4uYzg5NWZlNzhmYjQ4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pbXgvaW14LWRybS1jb3JlLmMKQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgaW50 IGlteF9kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJaW14ZHJtID0gZGV2bV9remFsbG9j KGRldiwgc2l6ZW9mKCppbXhkcm0pLCBHRlBfS0VSTkVMKTsKIAlpZiAoIWlteGRybSkgewogCQly ZXQgPSAtRU5PTUVNOwotCQlnb3RvIGVycl91bnJlZjsKKwkJZ290byBlcnJfcHV0OwogCX0KIAog CWlteGRybS0+ZHJtID0gZHJtOwpAQCAtMzA2LDggKzMwNiw4IEBAIHN0YXRpYyBpbnQgaW14X2Ry bV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAljb21wb25lbnRfdW5iaW5kX2FsbChkcm0tPmRl diwgZHJtKTsKIGVycl9rbXM6CiAJZHJtX21vZGVfY29uZmlnX2NsZWFudXAoZHJtKTsKLWVycl91 bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7CitlcnJfcHV0OgorCWRybV9kZXZfcHV0KGRybSk7 CiAKIAlyZXR1cm4gcmV0OwogfQpAQCAtMzI3LDcgKzMyNyw3IEBAIHN0YXRpYyB2b2lkIGlteF9k cm1fdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAljb21wb25lbnRfdW5iaW5kX2FsbChkcm0t PmRldiwgZHJtKTsKIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKIAotCWRybV9kZXZfdW5y ZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGNv bXBvbmVudF9tYXN0ZXJfb3BzIGlteF9kcm1fb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuYwppbmRleCBhMmNhOTBmYzQwM2MuLjVkMDI0YTE1NGUxYSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMKQEAgLTM0MSw3ICszNDEsNyBAQCBzdGF0aWMg aW50IG10a19kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiBlcnJfZGVpbml0OgogCW10a19k cm1fa21zX2RlaW5pdChkcm0pOwogZXJyX2ZyZWU6Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRy bV9kZXZfcHV0KGRybSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMzUwLDcgKzM1MCw3IEBAIHN0 YXRpYyB2b2lkIG10a19kcm1fdW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAlzdHJ1Y3QgbXRr X2RybV9wcml2YXRlICpwcml2YXRlID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAKIAlkcm1fZGV2 X3VucmVnaXN0ZXIocHJpdmF0ZS0+ZHJtKTsKLQlkcm1fZGV2X3VucmVmKHByaXZhdGUtPmRybSk7 CisJZHJtX2Rldl9wdXQocHJpdmF0ZS0+ZHJtKTsKIAlwcml2YXRlLT5kcm0gPSBOVUxMOwogfQog CkBAIC01MDQsNyArNTA0LDcgQEAgc3RhdGljIGludCBtdGtfZHJtX3JlbW92ZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQogCiAJZHJtX2Rldl91bnJlZ2lzdGVyKGRybSk7CiAJbXRrX2Ry bV9rbXNfZGVpbml0KGRybSk7Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRy bSk7CiAKIAljb21wb25lbnRfbWFzdGVyX2RlbCgmcGRldi0+ZGV2LCAmbXRrX2RybV9vcHMpOwog CXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKaW5kZXgg MDIxYTBiNmY5YTU5Li44Yjk2OTc2YzZiNDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBAIC0yNjEs NyArMjYxLDcgQEAgc3RhdGljIGludCBtc21fZHJtX3VuaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYp CiAJbXNtX21kc3NfZGVzdHJveShkZGV2KTsKIAogCWRkZXYtPmRldl9wcml2YXRlID0gTlVMTDsK LQlkcm1fZGV2X3VucmVmKGRkZXYpOworCWRybV9kZXZfcHV0KGRkZXYpOwogCiAJa2ZyZWUocHJp dik7CiAKQEAgLTM2OSw3ICszNjksNyBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAKIAlwcml2ID0ga3phbGxvYyhz aXplb2YoKnByaXYpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXByaXYpIHsKLQkJZHJtX2Rldl91bnJl ZihkZGV2KTsKKwkJZHJtX2Rldl9wdXQoZGRldik7CiAJCXJldHVybiAtRU5PTUVNOwogCX0KIApA QCAtMzc5LDcgKzM3OSw3IEBAIHN0YXRpYyBpbnQgbXNtX2RybV9pbml0KHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGRybV9kcml2ZXIgKmRydikKIAlyZXQgPSBtc21fbWRzc19pbml0KGRkZXYp OwogCWlmIChyZXQpIHsKIAkJa2ZyZWUocHJpdik7Ci0JCWRybV9kZXZfdW5yZWYoZGRldik7CisJ CWRybV9kZXZfcHV0KGRkZXYpOwogCQlyZXR1cm4gcmV0OwogCX0KIApAQCAtMzk4LDcgKzM5OCw3 IEBAIHN0YXRpYyBpbnQgbXNtX2RybV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRy bV9kcml2ZXIgKmRydikKIAlpZiAocmV0KSB7CiAJCW1zbV9tZHNzX2Rlc3Ryb3koZGRldik7CiAJ CWtmcmVlKHByaXYpOwotCQlkcm1fZGV2X3VucmVmKGRkZXYpOworCQlkcm1fZGV2X3B1dChkZGV2 KTsKIAkJcmV0dXJuIHJldDsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9teHNm Yi9teHNmYl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwppbmRleCBm ZmU1MTM3Y2NhZjguLjQwMzlmMTFiMmI3YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL214 c2ZiL214c2ZiX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwpA QCAtMzk4LDcgKzM5OCw3IEBAIHN0YXRpYyBpbnQgbXhzZmJfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKIGVycl91bmxvYWQ6CiAJbXhzZmJfdW5sb2FkKGRybSk7CiBlcnJfZnJl ZToKLQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIAogCXJldHVybiBy ZXQ7CiB9CkBAIC00MDksNyArNDA5LDcgQEAgc3RhdGljIGludCBteHNmYl9yZW1vdmUoc3RydWN0 IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCWRybV9kZXZfdW5yZWdpc3Rlcihkcm0pOwogCW14 c2ZiX3VubG9hZChkcm0pOwotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0p OwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u b3V2ZWF1X3BsYXRmb3JtLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3BsYXRm b3JtLmMKaW5kZXggMWFkYTE4NmZhYjc3Li4wMzllMjM1NDhlMDggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfcGxhdGZvcm0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9ub3V2ZWF1X3BsYXRmb3JtLmMKQEAgLTM2LDcgKzM2LDcgQEAgc3RhdGljIGlu dCBub3V2ZWF1X3BsYXRmb3JtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAK IAlyZXQgPSBkcm1fZGV2X3JlZ2lzdGVyKGRybSwgMCk7CiAJaWYgKHJldCA8IDApIHsKLQkJZHJt X2Rldl91bnJlZihkcm0pOworCQlkcm1fZGV2X3B1dChkcm0pOwogCQlyZXR1cm4gcmV0OwogCX0K IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKaW5kZXggOTI2Yjc2NWRkZTY4Li42MDQyZjc3 NDUwYTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwpAQCAtNjAxLDcgKzYwMSw3IEBA IHN0YXRpYyBpbnQgb21hcGRybV9pbml0KHN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2LCBz dHJ1Y3QgZGV2aWNlICpkZXYpCiAJb21hcF9kcm1faXJxX3VuaW5zdGFsbChkZGV2KTsKIGVycl9m cmVlX2RybV9kZXY6CiAJb21hcF9nZW1fZGVpbml0KGRkZXYpOwotCWRybV9kZXZfdW5yZWYoZGRl dik7CisJZHJtX2Rldl9wdXQoZGRldik7CiBlcnJfZGVzdHJveV93cToKIAlkZXN0cm95X3dvcmtx dWV1ZShwcml2LT53cSk7CiAJb21hcF9kaXNjb25uZWN0X2Rzc2RldnMoKTsKQEAgLTYzMCw3ICs2 MzAsNyBAQCBzdGF0aWMgdm9pZCBvbWFwZHJtX2NsZWFudXAoc3RydWN0IG9tYXBfZHJtX3ByaXZh dGUgKnByaXYpCiAJb21hcF9kcm1faXJxX3VuaW5zdGFsbChkZGV2KTsKIAlvbWFwX2dlbV9kZWlu aXQoZGRldik7CiAKLQlkcm1fZGV2X3VucmVmKGRkZXYpOworCWRybV9kZXZfcHV0KGRkZXYpOwog CiAJZGVzdHJveV93b3JrcXVldWUocHJpdi0+d3EpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vcGwxMTEvcGwxMTFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGwxMTEvcGwxMTFfZHJ2 LmMKaW5kZXggNDU0ZmYwODA0NjQyLi4wN2UwYWE1NzNjMWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wbDExMS9wbDExMV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcGwxMTEvcGwx MTFfZHJ2LmMKQEAgLTMwMSwxMyArMzAxLDEzIEBAIHN0YXRpYyBpbnQgcGwxMTFfYW1iYV9wcm9i ZShzdHJ1Y3QgYW1iYV9kZXZpY2UgKmFtYmFfZGV2LAogCWlmIChJU19FUlIocHJpdi0+cmVncykp IHsKIAkJZGV2X2VycihkZXYsICIlcyBmYWlsZWQgbW1pb1xuIiwgX19mdW5jX18pOwogCQlyZXQg PSBQVFJfRVJSKHByaXYtPnJlZ3MpOwotCQlnb3RvIGRldl91bnJlZjsKKwkJZ290byBkZXZfcHV0 OwogCX0KIAogCS8qIFRoaXMgbWF5IG92ZXJyaWRlIHNvbWUgdmFyaWFudCBzZXR0aW5ncyAqLwog CXJldCA9IHBsMTExX3ZlcnNhdGlsZV9pbml0KGRldiwgcHJpdik7CiAJaWYgKHJldCkKLQkJZ290 byBkZXZfdW5yZWY7CisJCWdvdG8gZGV2X3B1dDsKIAogCS8qIHR1cm4gb2ZmIGludGVycnVwdHMg YmVmb3JlIHJlcXVlc3RpbmcgdGhlIGlycSAqLwogCXdyaXRlbCgwLCBwcml2LT5yZWdzICsgcHJp di0+aWVuYik7CkBAIC0zMjEsMTYgKzMyMSwxNiBAQCBzdGF0aWMgaW50IHBsMTExX2FtYmFfcHJv YmUoc3RydWN0IGFtYmFfZGV2aWNlICphbWJhX2RldiwKIAogCXJldCA9IHBsMTExX21vZGVzZXRf aW5pdChkcm0pOwogCWlmIChyZXQgIT0gMCkKLQkJZ290byBkZXZfdW5yZWY7CisJCWdvdG8gZGV2 X3B1dDsKIAogCXJldCA9IGRybV9kZXZfcmVnaXN0ZXIoZHJtLCAwKTsKIAlpZiAocmV0IDwgMCkK LQkJZ290byBkZXZfdW5yZWY7CisJCWdvdG8gZGV2X3B1dDsKIAogCXJldHVybiAwOwogCi1kZXZf dW5yZWY6Ci0JZHJtX2Rldl91bnJlZihkcm0pOworZGV2X3B1dDoKKwlkcm1fZGV2X3B1dChkcm0p OwogCW9mX3Jlc2VydmVkX21lbV9kZXZpY2VfcmVsZWFzZShkZXYpOwogCiAJcmV0dXJuIHJldDsK QEAgLTM0Nyw3ICszNDcsNyBAQCBzdGF0aWMgaW50IHBsMTExX2FtYmFfcmVtb3ZlKHN0cnVjdCBh bWJhX2RldmljZSAqYW1iYV9kZXYpCiAJaWYgKHByaXYtPnBhbmVsKQogCQlkcm1fcGFuZWxfYnJp ZGdlX3JlbW92ZShwcml2LT5icmlkZ2UpOwogCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRybSk7 Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAJb2ZfcmVzZXJ2ZWRf bWVtX2RldmljZV9yZWxlYXNlKGRldik7CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9xeGwvcXhsX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfZHJ2LmMK aW5kZXggMjQ0NWU3NWNmN2VhLi44NmJkNDJkY2EwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9xeGwvcXhsX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rydi5jCkBA IC0xMTksNyArMTE5LDcgQEAgcXhsX3BjaV9yZW1vdmUoc3RydWN0IHBjaV9kZXYgKnBkZXYpCiAK IAlkZXYtPmRldl9wcml2YXRlID0gTlVMTDsKIAlrZnJlZShxZGV2KTsKLQlkcm1fZGV2X3VucmVm KGRldik7CisJZHJtX2Rldl9wdXQoZGV2KTsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxl X29wZXJhdGlvbnMgcXhsX2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNh ci1kdS9yY2FyX2R1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9kcnYu YwppbmRleCAwMmFlZTZjYjBlNTMuLjk2OTZhMzAzMDMxOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9kdV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1k dS9yY2FyX2R1X2Rydi5jCkBAIC00MDcsNyArNDA3LDcgQEAgc3RhdGljIGludCByY2FyX2R1X3Jl bW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWRybV9rbXNfaGVscGVyX3BvbGxf ZmluaShkZGV2KTsKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkZGV2KTsKIAotCWRybV9kZXZf dW5yZWYoZGRldik7CisJZHJtX2Rldl9wdXQoZGRldik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMgYi9kcml2 ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2Rydi5jCmluZGV4IGY4MTRkMzdiMWRi Mi4uOWM4NDZiZThmYzY0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9j a2NoaXBfZHJtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9k cm1fZHJ2LmMKQEAgLTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgaW50IHJvY2tjaGlwX2RybV9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldikKIGVycl9mcmVlOgogCWRybV9kZXYtPmRldl9wcml2YXRlID0g TlVMTDsKIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsKLQlkcm1fZGV2X3VucmVmKGRybV9k ZXYpOworCWRybV9kZXZfcHV0KGRybV9kZXYpOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTIwNCw3 ICsyMDQsNyBAQCBzdGF0aWMgdm9pZCByb2NrY2hpcF9kcm1fdW5iaW5kKHN0cnVjdCBkZXZpY2Ug KmRldikKIAogCWRybV9kZXYtPmRldl9wcml2YXRlID0gTlVMTDsKIAlkZXZfc2V0X2RydmRhdGEo ZGV2LCBOVUxMKTsKLQlkcm1fZGV2X3VucmVmKGRybV9kZXYpOworCWRybV9kZXZfcHV0KGRybV9k ZXYpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyByb2NrY2hpcF9k cm1fZHJpdmVyX2ZvcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUv c2htb2JfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9kcnYu YwppbmRleCA1OTI1NzI1NTRlYjAuLjhkMWZmNTk2Yzc3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc2ht b2JpbGUvc2htb2JfZHJtX2Rydi5jCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RhdGljIGludCBzaG1v Yl9kcm1fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJZHJtX2ttc19oZWxw ZXJfcG9sbF9maW5pKGRkZXYpOwogCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRkZXYpOwogCWRy bV9pcnFfdW5pbnN0YWxsKGRkZXYpOwotCWRybV9kZXZfdW5yZWYoZGRldik7CisJZHJtX2Rldl9w dXQoZGRldik7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTI5NCw3ICsyOTQsNyBAQCBzdGF0aWMgaW50 IHNobW9iX2RybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCWRybV9rbXNf aGVscGVyX3BvbGxfZmluaShkZGV2KTsKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkZGV2KTsK IGVycl9mcmVlX2RybV9kZXY6Ci0JZHJtX2Rldl91bnJlZihkZGV2KTsKKwlkcm1fZGV2X3B1dChk ZGV2KTsKIAogCXJldHVybiByZXQ7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Rydi5jCmluZGV4IDkwYzQ2YjQ5 YzkzMS4uODMyZmM0Mzk2MGVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9k cnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYwpAQCAtMjI0LDcgKzIyNCw3 IEBAIHN0YXRpYyBpbnQgc3RpX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCiAJcmV0ID0gc3Rp X2luaXQoZGRldik7CiAJaWYgKHJldCkKLQkJZ290byBlcnJfZHJtX2Rldl91bnJlZjsKKwkJZ290 byBlcnJfZHJtX2Rldl9wdXQ7CiAKIAlyZXQgPSBjb21wb25lbnRfYmluZF9hbGwoZGRldi0+ZGV2 LCBkZGV2KTsKIAlpZiAocmV0KQpAQCAtMjQ4LDggKzI0OCw4IEBAIHN0YXRpYyBpbnQgc3RpX2Jp bmQoc3RydWN0IGRldmljZSAqZGV2KQogCWRybV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRkZXYpOwog ZXJyX2NsZWFudXA6CiAJc3RpX2NsZWFudXAoZGRldik7Ci1lcnJfZHJtX2Rldl91bnJlZjoKLQlk cm1fZGV2X3VucmVmKGRkZXYpOworZXJyX2RybV9kZXZfcHV0OgorCWRybV9kZXZfcHV0KGRkZXYp OwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTI1OSw3ICsyNTksNyBAQCBzdGF0aWMgdm9pZCBzdGlf dW5iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAogCWRybV9kZXZfdW5yZWdpc3RlcihkZGV2KTsK IAlzdGlfY2xlYW51cChkZGV2KTsKLQlkcm1fZGV2X3VucmVmKGRkZXYpOworCWRybV9kZXZfcHV0 KGRkZXYpOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbXBvbmVudF9tYXN0ZXJfb3BzIHN0 aV9vcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N0bS9kcnYuYwppbmRleCA4Njk4ZTA4MzEzZTEuLmYyMDIxYjIzNTU0ZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0bS9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v c3RtL2Rydi5jCkBAIC0xNDgsMTYgKzE0OCwxNiBAQCBzdGF0aWMgaW50IHN0bV9kcm1fcGxhdGZv cm1fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCXJldCA9IGRydl9sb2Fk KGRkZXYpOwogCWlmIChyZXQpCi0JCWdvdG8gZXJyX3VucmVmOworCQlnb3RvIGVycl9wdXQ7CiAK IAlyZXQgPSBkcm1fZGV2X3JlZ2lzdGVyKGRkZXYsIDApOwogCWlmIChyZXQpCi0JCWdvdG8gZXJy X3VucmVmOworCQlnb3RvIGVycl9wdXQ7CiAKIAlyZXR1cm4gMDsKIAotZXJyX3VucmVmOgotCWRy bV9kZXZfdW5yZWYoZGRldik7CitlcnJfcHV0OgorCWRybV9kZXZfcHV0KGRkZXYpOwogCiAJcmV0 dXJuIHJldDsKIH0KQEAgLTE3MCw3ICsxNzAsNyBAQCBzdGF0aWMgaW50IHN0bV9kcm1fcGxhdGZv cm1fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAlkcm1fZGV2X3VucmVn aXN0ZXIoZGRldik7CiAJZHJ2X3VubG9hZChkZGV2KTsKLQlkcm1fZGV2X3VucmVmKGRkZXYpOwor CWRybV9kZXZfcHV0KGRkZXYpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlf ZHJ2LmMKaW5kZXggNTBkMTk2MDVjMzhmLi40MmM4ODFkNTI3NWQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkv c3VuNGlfZHJ2LmMKQEAgLTE0Myw3ICsxNDMsNyBAQCBzdGF0aWMgaW50IHN1bjRpX2Rydl9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldikKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkcm0pOwogCW9m X3Jlc2VydmVkX21lbV9kZXZpY2VfcmVsZWFzZShkZXYpOwogZnJlZV9kcm06Ci0JZHJtX2Rldl91 bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTU2 LDcgKzE1Niw3IEBAIHN0YXRpYyB2b2lkIHN1bjRpX2Rydl91bmJpbmQoc3RydWN0IGRldmljZSAq ZGV2KQogCXN1bjRpX2ZyYW1lYnVmZmVyX2ZyZWUoZHJtKTsKIAlkcm1fbW9kZV9jb25maWdfY2xl YW51cChkcm0pOwogCW9mX3Jlc2VydmVkX21lbV9kZXZpY2VfcmVsZWFzZShkZXYpOwotCWRybV9k ZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogfQogCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGNvbXBvbmVudF9tYXN0ZXJfb3BzIHN1bjRpX2Rydl9tYXN0ZXJfb3BzID0gewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2RybS5jCmluZGV4IDc3NmMxNTEzZTU4Mi4uNGE5ZTI0ZmExOTVhIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vdGVncmEvZHJtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5j CkBAIC0xMTg5LDEyICsxMTg5LDEyIEBAIHN0YXRpYyBpbnQgaG9zdDF4X2RybV9wcm9iZShzdHJ1 Y3QgaG9zdDF4X2RldmljZSAqZGV2KQogCiAJZXJyID0gZHJtX2Rldl9yZWdpc3Rlcihkcm0sIDAp OwogCWlmIChlcnIgPCAwKQotCQlnb3RvIHVucmVmOworCQlnb3RvIHB1dDsKIAogCXJldHVybiAw OwogCi11bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7CitwdXQ6CisJZHJtX2Rldl9wdXQoZHJt KTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC0xMjAzLDcgKzEyMDMsNyBAQCBzdGF0aWMgaW50IGhv c3QxeF9kcm1fcmVtb3ZlKHN0cnVjdCBob3N0MXhfZGV2aWNlICpkZXYpCiAJc3RydWN0IGRybV9k ZXZpY2UgKmRybSA9IGRldl9nZXRfZHJ2ZGF0YSgmZGV2LT5kZXYpOwogCiAJZHJtX2Rldl91bnJl Z2lzdGVyKGRybSk7Ci0JZHJtX2Rldl91bnJlZihkcm0pOworCWRybV9kZXZfcHV0KGRybSk7CiAK IAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL2NvcmUv dGlueWRybS1jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tY29y ZS5jCmluZGV4IDI0YTMzYmY4NjJmYS4uMDk1MjZhYjQ4MmMzIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vdGlueWRybS9jb3JlL3Rpbnlkcm0tY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS90aW55ZHJtL2NvcmUvdGlueWRybS1jb3JlLmMKQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMg aW50IHRpbnlkcm1faW5pdChzdHJ1Y3QgZGV2aWNlICpwYXJlbnQsIHN0cnVjdCB0aW55ZHJtX2Rl dmljZSAqdGRldiwKIAkvKgogCSAqIFdlIGRvbid0IGVtYmVkIGRybV9kZXZpY2UsIGJlY2F1c2Ug dGhhdCBwcmV2ZW50IHVzIGZyb20gdXNpbmcKIAkgKiBkZXZtX2t6YWxsb2MoKSB0byBhbGxvY2F0 ZSB0aW55ZHJtX2RldmljZSBpbiB0aGUgZHJpdmVyIHNpbmNlCi0JICogZHJtX2Rldl91bnJlZigp IGZyZWVzIHRoZSBzdHJ1Y3R1cmUuIFRoZSBkZXZtXyBmdW5jdGlvbnMgcHJvdmlkZQorCSAqIGRy bV9kZXZfcHV0KCkgZnJlZXMgdGhlIHN0cnVjdHVyZS4gVGhlIGRldm1fIGZ1bmN0aW9ucyBwcm92 aWRlCiAJICogZm9yIGVhc3kgZXJyb3IgaGFuZGxpbmcuCiAJICovCiAJZHJtID0gZHJtX2Rldl9h bGxvYyhkcml2ZXIsIHBhcmVudCk7CkBAIC0xNTUsNyArMTU1LDcgQEAgc3RhdGljIHZvaWQgdGlu eWRybV9maW5pKHN0cnVjdCB0aW55ZHJtX2RldmljZSAqdGRldikKIAlkcm1fbW9kZV9jb25maWdf Y2xlYW51cCh0ZGV2LT5kcm0pOwogCW11dGV4X2Rlc3Ryb3koJnRkZXYtPmRpcnR5X2xvY2spOwog CXRkZXYtPmRybS0+ZGV2X3ByaXZhdGUgPSBOVUxMOwotCWRybV9kZXZfdW5yZWYodGRldi0+ZHJt KTsKKwlkcm1fZGV2X3B1dCh0ZGV2LT5kcm0pOwogfQogCiBzdGF0aWMgdm9pZCBkZXZtX3Rpbnlk cm1fcmVsZWFzZSh2b2lkICpkYXRhKQpAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyB2b2lkIGRl dm1fdGlueWRybV9yZWxlYXNlKHZvaWQgKmRhdGEpCiAgKgogICogVGhpcyBmdW5jdGlvbiBpbml0 aWFsaXplcyBAdGRldiwgdGhlIHVuZGVybHlpbmcgRFJNIGRldmljZSBhbmQgaXQncwogICogbW9k ZV9jb25maWcuIFJlc291cmNlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZnJlZWQgb24gZHJpdmVy IGRldGFjaCAoZGV2cmVzKQotICogdXNpbmcgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoKSBhbmQg ZHJtX2Rldl91bnJlZigpLgorICogdXNpbmcgZHJtX21vZGVfY29uZmlnX2NsZWFudXAoKSBhbmQg ZHJtX2Rldl9wdXQoKS4KICAqCiAgKiBSZXR1cm5zOgogICogWmVybyBvbiBzdWNjZXNzLCBuZWdh dGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v dHZlMjAwL3R2ZTIwMF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS90dmUyMDAvdHZlMjAwX2Rydi5j CmluZGV4IGFjMzQ0ZGRiMjNiYy4uMThlOWM4ZTcwOWY5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vdHZlMjAwL3R2ZTIwMF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdHZlMjAwL3R2 ZTIwMF9kcnYuYwpAQCAtMTk4LDEyICsxOTgsMTIgQEAgc3RhdGljIGludCB0dmUyMDBfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAlpZiAoSVNfRVJSKHByaXYtPnBjbGspKSB7 CiAJCWRldl9lcnIoZGV2LCAidW5hYmxlIHRvIGdldCBQQ0xLXG4iKTsKIAkJcmV0ID0gUFRSX0VS Uihwcml2LT5wY2xrKTsKLQkJZ290byBkZXZfdW5yZWY7CisJCWdvdG8gZGV2X3B1dDsKIAl9CiAJ cmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKHByaXYtPnBjbGspOwogCWlmIChyZXQpIHsKIAkJZGV2 X2VycihkZXYsICJmYWlsZWQgdG8gZW5hYmxlIFBDTEtcbiIpOwotCQlnb3RvIGRldl91bnJlZjsK KwkJZ290byBkZXZfcHV0OwogCX0KIAogCS8qIFRoaXMgY2xvY2sgaXMgZm9yIHRoZSBwaXhlbHMg KDI3TUh6KSAqLwpAQCAtMjQ5LDggKzI0OSw4IEBAIHN0YXRpYyBpbnQgdHZlMjAwX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIGNsa19kaXNhYmxlOgogCWNsa19kaXNhYmxl X3VucHJlcGFyZShwcml2LT5wY2xrKTsKLWRldl91bnJlZjoKLQlkcm1fZGV2X3VucmVmKGRybSk7 CitkZXZfcHV0OgorCWRybV9kZXZfcHV0KGRybSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMjY1 LDcgKzI2NSw3IEBAIHN0YXRpYyBpbnQgdHZlMjAwX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQogCQlkcm1fcGFuZWxfYnJpZGdlX3JlbW92ZShwcml2LT5icmlkZ2UpOwogCWRy bV9tb2RlX2NvbmZpZ19jbGVhbnVwKGRybSk7CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKHByaXYt PnBjbGspOwotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogCiAJcmV0 dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS91ZGwvdWRsX2Rydi5jCmluZGV4IDllZjUxNWRmNzI0Yi4uYTYzZTMwMTFl OTcxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuYwpAQCAtOTQsNyArOTQsNyBAQCBzdGF0aWMgaW50IHVk bF91c2JfcHJvYmUoc3RydWN0IHVzYl9pbnRlcmZhY2UgKmludGVyZmFjZSwKIAlyZXR1cm4gMDsK IAogZXJyX2ZyZWU6Ci0JZHJtX2Rldl91bnJlZihkZXYpOworCWRybV9kZXZfcHV0KGRldik7CiAJ cmV0dXJuIHI7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5j IGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMKaW5kZXggNDY2ZDBhMjdiNDE1Li5lNWQ0 OWIyOGU3ODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCkBAIC0yODgsNyArMjg4LDcgQEAgc3RhdGlj IGludCB2YzRfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCiAJcmV0ID0gdmM0X2JvX2Nh Y2hlX2luaXQoZHJtKTsKIAlpZiAocmV0KQotCQlnb3RvIGRldl91bnJlZjsKKwkJZ290byBkZXZf cHV0OwogCiAJZHJtX21vZGVfY29uZmlnX2luaXQoZHJtKTsKIApAQCAtMzEzLDggKzMxMyw4IEBA IHN0YXRpYyBpbnQgdmM0X2RybV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIGdlbV9kZXN0cm95 OgogCXZjNF9nZW1fZGVzdHJveShkcm0pOwogCXZjNF9ib19jYWNoZV9kZXN0cm95KGRybSk7Ci1k ZXZfdW5yZWY6Ci0JZHJtX2Rldl91bnJlZihkcm0pOworZGV2X3B1dDoKKwlkcm1fZGV2X3B1dChk cm0pOwogCXJldHVybiByZXQ7CiB9CiAKQEAgLTMzMSw3ICszMzEsNyBAQCBzdGF0aWMgdm9pZCB2 YzRfZHJtX3VuYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAKIAlkcm1fYXRvbWljX3ByaXZhdGVf b2JqX2ZpbmkoJnZjNC0+Y3RtX21hbmFnZXIpOwogCi0JZHJtX2Rldl91bnJlZihkcm0pOworCWRy bV9kZXZfcHV0KGRybSk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X21hc3Rl cl9vcHMgdmM0X2RybV9vcHMgPSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmdlbS92 Z2VtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuYwppbmRleCBjNjRhODU5 NTBjODIuLjRjYjJjOTExOWU0OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdl bV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5jCkBAIC01MDQsNyAr NTA0LDcgQEAgc3RhdGljIGludCBfX2luaXQgdmdlbV9pbml0KHZvaWQpCiBzdGF0aWMgdm9pZCBf X2V4aXQgdmdlbV9leGl0KHZvaWQpCiB7CiAJZHJtX2Rldl91bnJlZ2lzdGVyKCZ2Z2VtX2Rldmlj ZS0+ZHJtKTsKLQlkcm1fZGV2X3VucmVmKCZ2Z2VtX2RldmljZS0+ZHJtKTsKKwlkcm1fZGV2X3B1 dCgmdmdlbV9kZXZpY2UtPmRybSk7CiB9CiAKIG1vZHVsZV9pbml0KHZnZW1faW5pdCk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJtX2J1cy5jIGIvZHJpdmVy cy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2RybV9idXMuYwppbmRleCA3ZGY4ZDBjOTAyNmEuLjA5 NGI4NzZmNmRhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Ry bV9idXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZHJtX2J1cy5jCkBA IC04NSw2ICs4NSw2IEBAIGludCBkcm1fdmlydGlvX2luaXQoc3RydWN0IGRybV9kcml2ZXIgKmRy aXZlciwgc3RydWN0IHZpcnRpb19kZXZpY2UgKnZkZXYpCiAJcmV0dXJuIDA7CiAKIGVycl9mcmVl OgotCWRybV9kZXZfdW5yZWYoZGV2KTsKKwlkcm1fZGV2X3B1dChkZXYpOwogCXJldHVybiByZXQ7 CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYyBiL2RyaXZl cnMvZ3B1L2RybS96dGUvenhfZHJtX2Rydi5jCmluZGV4IDZmNDIwNWU4MDM3OC4uMDJhZTFjYWY2 ZThhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYworKysgYi9k cml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYwpAQCAtMTIyLDcgKzEyMiw3IEBAIHN0YXRp YyBpbnQgenhfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQogCWNvbXBvbmVudF91bmJpbmRf YWxsKGRldiwgZHJtKTsKIG91dF91bnJlZ2lzdGVyOgogCWRldl9zZXRfZHJ2ZGF0YShkZXYsIE5V TEwpOwotCWRybV9kZXZfdW5yZWYoZHJtKTsKKwlkcm1fZGV2X3B1dChkcm0pOwogCXJldHVybiBy ZXQ7CiB9CiAKQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgdm9pZCB6eF9kcm1fdW5iaW5kKHN0 cnVjdCBkZXZpY2UgKmRldikKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cChkcm0pOwogCWNvbXBv bmVudF91bmJpbmRfYWxsKGRldiwgZHJtKTsKIAlkZXZfc2V0X2RydmRhdGEoZGV2LCBOVUxMKTsK LQlkcm1fZGV2X3VucmVmKGRybSk7CisJZHJtX2Rldl9wdXQoZHJtKTsKIH0KIAogc3RhdGljIGNv bnN0IHN0cnVjdCBjb21wb25lbnRfbWFzdGVyX29wcyB6eF9kcm1fbWFzdGVyX29wcyA9IHsKZGlm ZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcnYuaCBiL2luY2x1ZGUvZHJtL2RybV9kcnYuaApp bmRleCA3ZTU0NWY1Zjk0ZDMuLjY2ZWU1MzVlNWE0OCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0v ZHJtX2Rydi5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kcnYuaApAQCAtNjIyLDcgKzYyMiw2IEBA IHZvaWQgZHJtX2Rldl91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCiB2b2lk IGRybV9kZXZfZ2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBkcm1fZGV2X3B1dChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKLXZvaWQgZHJtX2Rldl91bnJlZihzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKIHZvaWQgZHJtX3B1dF9kZXYoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiBi b29sIGRybV9kZXZfZW50ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50ICppZHgpOwogdm9p ZCBkcm1fZGV2X2V4aXQoaW50IGlkeCk7CmRpZmYgLS1naXQgYS9zY3JpcHRzL2NvY2NpbmVsbGUv YXBpL2RybS1nZXQtcHV0LmNvY2NpIGIvc2NyaXB0cy9jb2NjaW5lbGxlL2FwaS9kcm0tZ2V0LXB1 dC5jb2NjaQppbmRleCA1MzM5YThlMGQ3NmEuLmI1MWJmYWE1OGI4MyAxMDA2NDQKLS0tIGEvc2Ny aXB0cy9jb2NjaW5lbGxlL2FwaS9kcm0tZ2V0LXB1dC5jb2NjaQorKysgYi9zY3JpcHRzL2NvY2Np bmVsbGUvYXBpL2RybS1nZXQtcHV0LmNvY2NpCkBAIC0xNiw4ICsxNiw2IEBAIGV4cHJlc3Npb24g b2JqZWN0OwogQEAKIAogKAotLSBkcm1fZGV2X3VucmVmKG9iamVjdCkKLSsgZHJtX2Rldl9wdXQo b2JqZWN0KQogKQogCiBAciBkZXBlbmRzIG9uIHJlcG9ydEAKQEAgLTI2LDcgKzI0LDYgQEAgcG9z aXRpb24gcDsKIEBACiAKICgKLWRybV9kZXZfdW5yZWZAcChvYmplY3QpCiApCiAKIEBzY3JpcHQ6 cHl0aG9uIGRlcGVuZHMgb24gcmVwb3J0QAotLSAKMi4xNC40CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK