From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-10.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_BASE64_TEXT,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE480C433DF for ; Mon, 22 Jun 2020 01:55:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BD1E1204EA for ; Mon, 22 Jun 2020 01:55:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="ibkmmizz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731019AbgFVBzZ (ORCPT ); Sun, 21 Jun 2020 21:55:25 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:30535 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726579AbgFVBzX (ORCPT ); Sun, 21 Jun 2020 21:55:23 -0400 X-UUID: 3015b2715b8d4138a8b1b71d944988b3-20200622 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=7mUeY1y4ZVhxaqe20cCDYRs8NgcsqqS90Flp9PkYt6A=; b=ibkmmizz4INBut2D33h9Pr6CgSv3Hr1GLSziaEBG6Osgqyq31IoILW5RtgB3oYdDfMPENXEpiFea6Yr0yoxX16vIc0gRb/efqe4ZCCYCFKjYTcE/sBh0MK/HtRi66w3WgX6rMrIesNlSPbOYc7OM6CmDuyN7BQO4qT+Gop4EaLo=; X-UUID: 3015b2715b8d4138a8b1b71d944988b3-20200622 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 947557081; Mon, 22 Jun 2020 09:55:18 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 22 Jun 2020 09:55:14 +0800 Received: from localhost.localdomain (10.17.3.153) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 22 Jun 2020 09:55:04 +0800 From: Yunfei Dong To: Hans Verkuil , Tiffany Lin , Rob Herring CC: Yunfei Dong , Mauro Carvalho Chehab , Mark Rutland , Matthias Brugger , , , , , , Tomasz Figa Subject: [PATCH v2, 2/2] media: v4l: Add Ro request api for capture queue Date: Mon, 22 Jun 2020 09:52:27 +0800 Message-ID: <20200622015227.24134-3-yunfei.dong@mediatek.com> X-Mailer: git-send-email 2.18.0 In-Reply-To: <20200622015227.24134-1-yunfei.dong@mediatek.com> References: <20200622015227.24134-1-yunfei.dong@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 3567E4420FCFA49CF2867ADD9270A593615C12C12C8E8585DE6A780A09E2EBF52000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIFJlYWQtb25seShSbykgcmVxdWVzdCBmb3IgY2FwdHVyZSBxdWV1ZS4gUm8gcmVxdWVzdCBt ZWFuIHRoYXQNCnVzZXIgZHJpdmVyIGNhbiBnZXQgZXh0IGN0cmxzLCBidWYgc2V0IGV4dCBjdHJs cyBpcyBub3QgYWxsb3dlZC4NCg0KQWRkIHBhcmFtIHJvX3JlcXVlc3RzIGluIHN0cnVjdCB2NGwy X2N0cmxfaGFuZGxlciB0byBwcmVzZW50IGN1cnJlbnQNCmN0cmwgaXMgcmVhZCBvbmx5LiBBZGQg cGFyYW0gcm9fY3RybF9oYW5kbGVyIGluIHN0cnVjdCB2NGwyX2ZoIHVzZWQNCmZvciBybyByZXF1 ZXN0Lg0KDQpXaGVuIHNldC9nZXQgZXh0IGN0cmxzLCB3aWxsIGNoZWNrIHdoZXRoZXIgY3VycmVu dCBDSUQgY3RybHMgaXMgcm8gY3RybHMNCm9yIG5vdCB1c2luZyBmdW5jdGlvbiB2NGwyX2NoZWNr X3JvX2V4dF9jdHJscygpLg0KDQpTaWduZWQtb2ZmLWJ5OiBZdW5mZWkgRG9uZyA8eXVuZmVpLmRv bmdAbWVkaWF0ZWsuY29tPg0KLS0tDQogLi4uL21lZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9i dWYyLXY0bDIuYyAgIHwgICA3ICsrDQogZHJpdmVycy9tZWRpYS9tYy9tYy1yZXF1ZXN0LmMgICAg ICAgICAgICAgICAgIHwgIDEwICstDQogZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1jdHJs cy5jICAgICAgICAgIHwgMTA3ICsrKysrKysrKysrKysrKy0tLQ0KIGRyaXZlcnMvbWVkaWEvdjRs Mi1jb3JlL3Y0bDItaW9jdGwuYyAgICAgICAgICB8ICAyMiArKysrDQogZHJpdmVycy9tZWRpYS92 NGwyLWNvcmUvdjRsMi1tZW0ybWVtLmMgICAgICAgIHwgIDE5ICsrLS0NCiBpbmNsdWRlL21lZGlh L3Y0bDItY3RybHMuaCAgICAgICAgICAgICAgICAgICAgfCAgMjIgKysrLQ0KIGluY2x1ZGUvbWVk aWEvdjRsMi1maC5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArDQogaW5jbHVkZS9tZWRp YS92aWRlb2J1ZjItY29yZS5oICAgICAgICAgICAgICAgIHwgICAyICsNCiBpbmNsdWRlL3VhcGkv bGludXgvdmlkZW9kZXYyLmggICAgICAgICAgICAgICAgfCAgIDEgKw0KIDkgZmlsZXMgY2hhbmdl ZCwgMTU0IGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYyL3ZpZGVvYnVmMi12NGwyLmMgYi9kcml2ZXJzL21l ZGlhL2NvbW1vbi92aWRlb2J1ZjIvdmlkZW9idWYyLXY0bDIuYw0KaW5kZXggZWI1ZDVkYjk2NTUy Li45MWE2ZjNhMGMyMDggMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21lZGlhL2NvbW1vbi92aWRlb2J1 ZjIvdmlkZW9idWYyLXY0bDIuYw0KKysrIGIvZHJpdmVycy9tZWRpYS9jb21tb24vdmlkZW9idWYy L3ZpZGVvYnVmMi12NGwyLmMNCkBAIC00MDIsNiArNDAyLDExIEBAIHN0YXRpYyBpbnQgdmIyX3F1 ZXVlX29yX3ByZXBhcmVfYnVmKHN0cnVjdCB2YjJfcXVldWUgKnEsIHN0cnVjdCBtZWRpYV9kZXZp Y2UgKm1kDQogCQkJcmV0dXJuIC1FQlVTWTsNCiAJCX0NCiAJCXJldHVybiAwOw0KKwl9IGVsc2Ug aWYgKCFWNEwyX1RZUEVfSVNfT1VUUFVUKHEtPnR5cGUpKSB7DQorCQlpZiAoIXEtPnN1cHBvcnRz X3JvX3JlcXVlc3RzIHx8IHEtPnN1cHBvcnRzX3JlcXVlc3RzKSB7DQorCQkJZHByaW50aygxLCAi JXM6IGNhcCBxdWV1ZSB1c2Ugcm8gcmVxdWVzdHNcbiIsIG9wbmFtZSk7DQorCQkJcmV0dXJuIC1F QkFEUjsNCisJCX0NCiAJfSBlbHNlIGlmICghcS0+c3VwcG9ydHNfcmVxdWVzdHMpIHsNCiAJCWRw cmludGsoMSwgIiVzOiBxdWV1ZSBkb2VzIG5vdCBzdXBwb3J0IHJlcXVlc3RzXG4iLCBvcG5hbWUp Ow0KIAkJcmV0dXJuIC1FQkFEUjsNCkBAIC02NjUsNiArNjcwLDggQEAgc3RhdGljIHZvaWQgZmls bF9idWZfY2FwcyhzdHJ1Y3QgdmIyX3F1ZXVlICpxLCB1MzIgKmNhcHMpDQogI2lmZGVmIENPTkZJ R19NRURJQV9DT05UUk9MTEVSX1JFUVVFU1RfQVBJDQogCWlmIChxLT5zdXBwb3J0c19yZXF1ZXN0 cykNCiAJCSpjYXBzIHw9IFY0TDJfQlVGX0NBUF9TVVBQT1JUU19SRVFVRVNUUzsNCisJaWYgKHEt PnN1cHBvcnRzX3JvX3JlcXVlc3RzKQ0KKwkJKmNhcHMgfD0gVjRMMl9CVUZfQ0FQX1NVUFBPUlRT X1JPX1JFUVVFU1RTOw0KICNlbmRpZg0KIH0NCiANCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlh L21jL21jLXJlcXVlc3QuYyBiL2RyaXZlcnMvbWVkaWEvbWMvbWMtcmVxdWVzdC5jDQppbmRleCBl M2ZjYTQzNmM3NWIuLmU1MGFlMjU5YzFmZiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEvbWMv bWMtcmVxdWVzdC5jDQorKysgYi9kcml2ZXJzL21lZGlhL21jL21jLXJlcXVlc3QuYw0KQEAgLTQw NCwxNiArNDA0LDEyIEBAIGludCBtZWRpYV9yZXF1ZXN0X29iamVjdF9iaW5kKHN0cnVjdCBtZWRp YV9yZXF1ZXN0ICpyZXEsDQogCQkJICAgICAgc3RydWN0IG1lZGlhX3JlcXVlc3Rfb2JqZWN0ICpv YmopDQogew0KIAl1bnNpZ25lZCBsb25nIGZsYWdzOw0KLQlpbnQgcmV0ID0gLUVCVVNZOw0KIA0K IAlpZiAoV0FSTl9PTighb3BzLT5yZWxlYXNlKSkNCiAJCXJldHVybiAtRUJBRFI7DQogDQogCXNw aW5fbG9ja19pcnFzYXZlKCZyZXEtPmxvY2ssIGZsYWdzKTsNCiANCi0JaWYgKFdBUk5fT04ocmVx LT5zdGF0ZSAhPSBNRURJQV9SRVFVRVNUX1NUQVRFX1VQREFUSU5HKSkNCi0JCWdvdG8gdW5sb2Nr Ow0KLQ0KIAlvYmotPnJlcSA9IHJlcTsNCiAJb2JqLT5vcHMgPSBvcHM7DQogCW9iai0+cHJpdiA9 IHByaXY7DQpAQCAtNDIzLDExICs0MTksOSBAQCBpbnQgbWVkaWFfcmVxdWVzdF9vYmplY3RfYmlu ZChzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqcmVxLA0KIAllbHNlDQogCQlsaXN0X2FkZCgmb2JqLT5s aXN0LCAmcmVxLT5vYmplY3RzKTsNCiAJcmVxLT5udW1faW5jb21wbGV0ZV9vYmplY3RzKys7DQot CXJldCA9IDA7DQotDQotdW5sb2NrOg0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZyZXEtPmxv Y2ssIGZsYWdzKTsNCi0JcmV0dXJuIHJldDsNCisNCisJcmV0dXJuIDA7DQogfQ0KIEVYUE9SVF9T WU1CT0xfR1BMKG1lZGlhX3JlcXVlc3Rfb2JqZWN0X2JpbmQpOw0KIA0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1j b3JlL3Y0bDItY3RybHMuYw0KaW5kZXggM2YzZmJjZDYwY2M2Li5lZmZjMjZmNzMzZGUgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMNCisrKyBiL2RyaXZl cnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItY3RybHMuYw0KQEAgLTMzODYsMjIgKzMzODYsNiBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG1lZGlhX3JlcXVlc3Rfb2JqZWN0X29wcyByZXFfb3BzID0gew0K IAkucmVsZWFzZSA9IHY0bDJfY3RybF9yZXF1ZXN0X3JlbGVhc2UsDQogfTsNCiANCi1zdHJ1Y3Qg djRsMl9jdHJsX2hhbmRsZXIgKnY0bDJfY3RybF9yZXF1ZXN0X2hkbF9maW5kKHN0cnVjdCBtZWRp YV9yZXF1ZXN0ICpyZXEsDQotCQkJCQlzdHJ1Y3QgdjRsMl9jdHJsX2hhbmRsZXIgKnBhcmVudCkN Ci17DQotCXN0cnVjdCBtZWRpYV9yZXF1ZXN0X29iamVjdCAqb2JqOw0KLQ0KLQlpZiAoV0FSTl9P TihyZXEtPnN0YXRlICE9IE1FRElBX1JFUVVFU1RfU1RBVEVfVkFMSURBVElORyAmJg0KLQkJICAg IHJlcS0+c3RhdGUgIT0gTUVESUFfUkVRVUVTVF9TVEFURV9RVUVVRUQpKQ0KLQkJcmV0dXJuIE5V TEw7DQotDQotCW9iaiA9IG1lZGlhX3JlcXVlc3Rfb2JqZWN0X2ZpbmQocmVxLCAmcmVxX29wcywg cGFyZW50KTsNCi0JaWYgKG9iaikNCi0JCXJldHVybiBjb250YWluZXJfb2Yob2JqLCBzdHJ1Y3Qg djRsMl9jdHJsX2hhbmRsZXIsIHJlcV9vYmopOw0KLQlyZXR1cm4gTlVMTDsNCi19DQotRVhQT1JU X1NZTUJPTF9HUEwodjRsMl9jdHJsX3JlcXVlc3RfaGRsX2ZpbmQpOw0KLQ0KIHN0cnVjdCB2NGwy X2N0cmwgKg0KIHY0bDJfY3RybF9yZXF1ZXN0X2hkbF9jdHJsX2ZpbmQoc3RydWN0IHY0bDJfY3Ry bF9oYW5kbGVyICpoZGwsIHUzMiBpZCkNCiB7DQpAQCAtMzQyMCw2ICszNDA0LDEwIEBAIHN0YXRp YyBpbnQgdjRsMl9jdHJsX3JlcXVlc3RfYmluZChzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqcmVxLA0K IAlyZXQgPSB2NGwyX2N0cmxfcmVxdWVzdF9jbG9uZShoZGwsIGZyb20pOw0KIA0KIAlpZiAoIXJl dCkgew0KKwkJaWYgKCFoZGwtPnJvX3JlcXVlc3RzICYmDQorCQkJV0FSTl9PTihyZXEtPnN0YXRl ICE9IE1FRElBX1JFUVVFU1RfU1RBVEVfVVBEQVRJTkcpKQ0KKwkJCXJldHVybiAtRUJVU1k7DQor DQogCQlyZXQgPSBtZWRpYV9yZXF1ZXN0X29iamVjdF9iaW5kKHJlcSwgJnJlcV9vcHMsDQogCQkJ CQkJZnJvbSwgZmFsc2UsICZoZGwtPnJlcV9vYmopOw0KIAkJaWYgKCFyZXQpDQpAQCAtMzU5Myw2 ICszNTgxLDYyIEBAIHN0YXRpYyBpbnQgY2xhc3NfY2hlY2soc3RydWN0IHY0bDJfY3RybF9oYW5k bGVyICpoZGwsIHUzMiB3aGljaCkNCiAJcmV0dXJuIGZpbmRfcmVmX2xvY2soaGRsLCB3aGljaCB8 IDEpID8gMCA6IC1FSU5WQUw7DQogfQ0KIA0KK2ludCB2NGwyX2NoZWNrX3JvX2V4dF9jdHJscyhz dHJ1Y3QgdjRsMl9jdHJsX2hhbmRsZXIgKmhkbCwNCisJCSAgIHN0cnVjdCB2aWRlb19kZXZpY2Ug KnZkZXYsIHN0cnVjdCBtZWRpYV9kZXZpY2UgKm1kZXYsDQorCQkgICBzdHJ1Y3QgdjRsMl9leHRf Y29udHJvbHMgKmNzKQ0KK3sNCisJc3RydWN0IHY0bDJfY3RybF9yZWYgKnJlZjsNCisJdTMyIGk7 DQorDQorCWlmIChjcy0+d2hpY2ggPT0gVjRMMl9DVFJMX1dISUNIX1JFUVVFU1RfVkFMKSB7DQor CQlpZiAoIW1kZXYgfHwgY3MtPnJlcXVlc3RfZmQgPCAwKQ0KKwkJCXJldHVybiAtRUlOVkFMOw0K Kwl9DQorDQorCWNzLT5lcnJvcl9pZHggPSBjcy0+Y291bnQ7DQorCWNzLT53aGljaCA9IFY0TDJf Q1RSTF9JRDJXSElDSChjcy0+d2hpY2gpOw0KKw0KKwlpZiAoaGRsID09IE5VTEwpDQorCQlyZXR1 cm4gLUVJTlZBTDsNCisNCisJaWYgKGNzLT5jb3VudCA9PSAwKQ0KKwkJcmV0dXJuIGNsYXNzX2No ZWNrKGhkbCwgY3MtPndoaWNoKTsNCisNCisJZm9yIChpID0gMDsgaSA8IGNzLT5jb3VudDsgaSsr KSB7DQorCQlzdHJ1Y3QgdjRsMl9leHRfY29udHJvbCAqYyA9ICZjcy0+Y29udHJvbHNbaV07DQor CQl1MzIgaWQgPSBjLT5pZCAmIFY0TDJfQ1RSTF9JRF9NQVNLOw0KKw0KKwkJY3MtPmVycm9yX2lk eCA9IGk7DQorDQorCQlpZiAoY3MtPndoaWNoICYmDQorCQkJY3MtPndoaWNoICE9IFY0TDJfQ1RS TF9XSElDSF9ERUZfVkFMICYmDQorCQkJY3MtPndoaWNoICE9IFY0TDJfQ1RSTF9XSElDSF9SRVFV RVNUX1ZBTCAmJg0KKwkJCVY0TDJfQ1RSTF9JRDJXSElDSChpZCkgIT0gY3MtPndoaWNoKSB7DQor CQkJZHByaW50ayh2ZGV2LA0KKwkJCQkJImludmFsaWQgd2hpY2ggMHgleCBvciBjb250cm9sIGlk IDB4JXhcbiIsDQorCQkJCQljcy0+d2hpY2gsIGlkKTsNCisJCQlyZXR1cm4gLUVJTlZBTDsNCisJ CX0NCisNCisJCS8qIE9sZC1zdHlsZSBwcml2YXRlIGNvbnRyb2xzIGFyZSBub3QgYWxsb3dlZCBm b3INCisJCSAqZXh0ZW5kZWQgY29udHJvbHMNCisJCSAqLw0KKwkJaWYgKGlkID49IFY0TDJfQ0lE X1BSSVZBVEVfQkFTRSkgew0KKwkJCWRwcmludGsodmRldiwNCisJCQkJCSJvbGQtc3R5bGUgcHJp dmF0ZSBjb250cm9scyBub3QgYWxsb3dlZFxuIik7DQorCQkJcmV0dXJuIC1FSU5WQUw7DQorCQl9 DQorDQorCQlyZWYgPSBmaW5kX3JlZl9sb2NrKGhkbCwgaWQpOw0KKwkJaWYgKHJlZiA9PSBOVUxM KSB7DQorCQkJZHByaW50ayh2ZGV2LCAiY2Fubm90IGZpbmQgY29udHJvbCBpZCAweCV4XG4iLCBp ZCk7DQorCQkJcmV0dXJuIC1FSU5WQUw7DQorCQl9DQorCX0NCisJcmV0dXJuIDA7DQorfQ0KK0VY UE9SVF9TWU1CT0wodjRsMl9jaGVja19yb19leHRfY3RybHMpOw0KKw0KIC8qIEdldCBleHRlbmRl ZCBjb250cm9scy4gQWxsb2NhdGVzIHRoZSBoZWxwZXJzIGFycmF5IGlmIG5lZWRlZC4gKi8NCiBz dGF0aWMgaW50IHY0bDJfZ19leHRfY3RybHNfY29tbW9uKHN0cnVjdCB2NGwyX2N0cmxfaGFuZGxl ciAqaGRsLA0KIAkJCQkgICBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbHMgKmNzLA0KQEAgLTM2OTQs NyArMzczOCw3IEBAIHY0bDJfY3RybHNfZmluZF9yZXFfb2JqKHN0cnVjdCB2NGwyX2N0cmxfaGFu ZGxlciAqaGRsLA0KIAlvYmogPSBtZWRpYV9yZXF1ZXN0X29iamVjdF9maW5kKHJlcSwgJnJlcV9v cHMsIGhkbCk7DQogCWlmIChvYmopDQogCQlyZXR1cm4gb2JqOw0KLQlpZiAoIXNldCkNCisJaWYg KCFzZXQgJiYgIWhkbC0+cm9fcmVxdWVzdHMpDQogCQlyZXR1cm4gRVJSX1BUUigtRU5PRU5UKTsN CiANCiAJbmV3X2hkbCA9IGt6YWxsb2Moc2l6ZW9mKCpuZXdfaGRsKSwgR0ZQX0tFUk5FTCk7DQpA QCAtMzcwMiw2ICszNzQ2LDcgQEAgdjRsMl9jdHJsc19maW5kX3JlcV9vYmooc3RydWN0IHY0bDJf Y3RybF9oYW5kbGVyICpoZGwsDQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsNCiANCiAJb2Jq ID0gJm5ld19oZGwtPnJlcV9vYmo7DQorCW5ld19oZGwtPnJvX3JlcXVlc3RzID0gaGRsLT5yb19y ZXF1ZXN0czsNCiAJcmV0ID0gdjRsMl9jdHJsX2hhbmRsZXJfaW5pdChuZXdfaGRsLCAoaGRsLT5u cl9vZl9idWNrZXRzIC0gMSkgKiA4KTsNCiAJaWYgKCFyZXQpDQogCQlyZXQgPSB2NGwyX2N0cmxf cmVxdWVzdF9iaW5kKHJlcSwgbmV3X2hkbCwgaGRsKTsNCkBAIC0zNzYzLDYgKzM4MDgsMjggQEAg aW50IHY0bDJfZ19leHRfY3RybHMoc3RydWN0IHY0bDJfY3RybF9oYW5kbGVyICpoZGwsIHN0cnVj dCB2aWRlb19kZXZpY2UgKnZkZXYsDQogfQ0KIEVYUE9SVF9TWU1CT0wodjRsMl9nX2V4dF9jdHJs cyk7DQogDQorc3RydWN0IHY0bDJfY3RybF9oYW5kbGVyICp2NGwyX2N0cmxfcmVxdWVzdF9oZGxf ZmluZChzdHJ1Y3QgbWVkaWFfcmVxdWVzdCAqcmVxLA0KKwkJCQkJc3RydWN0IHY0bDJfY3RybF9o YW5kbGVyICpwYXJlbnQpDQorew0KKwlzdHJ1Y3QgbWVkaWFfcmVxdWVzdF9vYmplY3QgKm9iajsN CisNCisJaWYgKFdBUk5fT04ocmVxLT5zdGF0ZSAhPSBNRURJQV9SRVFVRVNUX1NUQVRFX1ZBTElE QVRJTkcgJiYNCisJCSAgICByZXEtPnN0YXRlICE9IE1FRElBX1JFUVVFU1RfU1RBVEVfUVVFVUVE KSkNCisJCXJldHVybiBOVUxMOw0KKw0KKwlvYmogPSBtZWRpYV9yZXF1ZXN0X29iamVjdF9maW5k KHJlcSwgJnJlcV9vcHMsIHBhcmVudCk7DQorCWlmICghb2JqKSB7DQorCQlpZiAocGFyZW50LT5y b19yZXF1ZXN0cykgew0KKwkJCW9iaiA9IHY0bDJfY3RybHNfZmluZF9yZXFfb2JqKHBhcmVudCwg cmVxLCBmYWxzZSk7DQorCQkJaWYgKElTX0VSUihvYmopKQ0KKwkJCQlyZXR1cm4gTlVMTDsNCisJ CX0gZWxzZQ0KKwkJCXJldHVybiBOVUxMOw0KKwl9DQorCXJldHVybiBjb250YWluZXJfb2Yob2Jq LCBzdHJ1Y3QgdjRsMl9jdHJsX2hhbmRsZXIsIHJlcV9vYmopOw0KK30NCitFWFBPUlRfU1lNQk9M X0dQTCh2NGwyX2N0cmxfcmVxdWVzdF9oZGxfZmluZCk7DQorDQogLyogSGVscGVyIGZ1bmN0aW9u IHRvIGdldCBhIHNpbmdsZSBjb250cm9sICovDQogc3RhdGljIGludCBnZXRfY3RybChzdHJ1Y3Qg djRsMl9jdHJsICpjdHJsLCBzdHJ1Y3QgdjRsMl9leHRfY29udHJvbCAqYykNCiB7DQpAQCAtNDA5 NCw2ICs0MTYxLDEyIEBAIHN0YXRpYyBpbnQgdHJ5X3NldF9leHRfY3RybHMoc3RydWN0IHY0bDJf ZmggKmZoLA0KIAlpbnQgcmV0Ow0KIA0KIAlpZiAoY3MtPndoaWNoID09IFY0TDJfQ1RSTF9XSElD SF9SRVFVRVNUX1ZBTCkgew0KKwkJaWYgKGhkbC0+cm9fcmVxdWVzdHMpIHsNCisJCQlkcHJpbnRr KHZkZXYsICIlczogcm8gcmVxdWVzdHMgY2FuYHQgc2V0IGV4dCBjdHJsc1xuIiwNCisJCQkJdmlk ZW9fZGV2aWNlX25vZGVfbmFtZSh2ZGV2KSk7DQorCQkJcmV0dXJuIC1FSU5WQUw7DQorCQl9DQor DQogCQlpZiAoIW1kZXYpIHsNCiAJCQlkcHJpbnRrKHZkZXYsICIlczogbWlzc2luZyBtZWRpYSBk ZXZpY2VcbiIsDQogCQkJCXZpZGVvX2RldmljZV9ub2RlX25hbWUodmRldikpOw0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYyBiL2RyaXZlcnMvbWVkaWEv djRsMi1jb3JlL3Y0bDItaW9jdGwuYw0KaW5kZXggMjMyMmYwOGE5OGJlLi5iOWUxMDU4YTUwNjcg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWlvY3RsLmMNCisrKyBi L2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItaW9jdGwuYw0KQEAgLTIyNzAsNiArMjI3MCwx MyBAQCBzdGF0aWMgaW50IHY0bF9nX2V4dF9jdHJscyhjb25zdCBzdHJ1Y3QgdjRsMl9pb2N0bF9v cHMgKm9wcywNCiAJCXRlc3RfYml0KFY0TDJfRkxfVVNFU19WNEwyX0ZILCAmdmZkLT5mbGFncykg PyBmaCA6IE5VTEw7DQogDQogCXAtPmVycm9yX2lkeCA9IHAtPmNvdW50Ow0KKwlpZiAodmZoICYm IHZmaC0+cm9fY3RybF9oYW5kbGVyKSB7DQorCQlpZiAoIXY0bDJfY2hlY2tfcm9fZXh0X2N0cmxz KHZmaC0+cm9fY3RybF9oYW5kbGVyLCB2ZmQsDQorCQkJCQkJdmZkLT52NGwyX2Rldi0+bWRldiwg cCkpIHsNCisJCQlyZXR1cm4gdjRsMl9nX2V4dF9jdHJscyh2ZmgtPnJvX2N0cmxfaGFuZGxlciwg dmZkLA0KKwkJCQkJCXZmZC0+djRsMl9kZXYtPm1kZXYsIHApOw0KKwkJfQ0KKwl9DQogCWlmICh2 ZmggJiYgdmZoLT5jdHJsX2hhbmRsZXIpDQogCQlyZXR1cm4gdjRsMl9nX2V4dF9jdHJscyh2Zmgt PmN0cmxfaGFuZGxlciwNCiAJCQkJCXZmZCwgdmZkLT52NGwyX2Rldi0+bWRldiwgcCk7DQpAQCAt MjI5MSw2ICsyMjk4LDE0IEBAIHN0YXRpYyBpbnQgdjRsX3NfZXh0X2N0cmxzKGNvbnN0IHN0cnVj dCB2NGwyX2lvY3RsX29wcyAqb3BzLA0KIAkJdGVzdF9iaXQoVjRMMl9GTF9VU0VTX1Y0TDJfRkgs ICZ2ZmQtPmZsYWdzKSA/IGZoIDogTlVMTDsNCiANCiAJcC0+ZXJyb3JfaWR4ID0gcC0+Y291bnQ7 DQorCWlmICh2ZmggJiYgdmZoLT5yb19jdHJsX2hhbmRsZXIpIHsNCisJCWlmICghdjRsMl9jaGVj a19yb19leHRfY3RybHModmZoLT5yb19jdHJsX2hhbmRsZXIsIHZmZCwNCisJCQkJCQl2ZmQtPnY0 bDJfZGV2LT5tZGV2LCBwKSkgew0KKwkJCXJldHVybiB2NGwyX3NfZXh0X2N0cmxzKHZmaCwgdmZo LT5yb19jdHJsX2hhbmRsZXIsIHZmZCwNCisJCQkJCQl2ZmQtPnY0bDJfZGV2LT5tZGV2LCBwKTsN CisJCX0NCisJfQ0KKw0KIAlpZiAodmZoICYmIHZmaC0+Y3RybF9oYW5kbGVyKQ0KIAkJcmV0dXJu IHY0bDJfc19leHRfY3RybHModmZoLCB2ZmgtPmN0cmxfaGFuZGxlciwNCiAJCQkJCXZmZCwgdmZk LT52NGwyX2Rldi0+bWRldiwgcCk7DQpAQCAtMjMxMiw2ICsyMzI3LDEzIEBAIHN0YXRpYyBpbnQg djRsX3RyeV9leHRfY3RybHMoY29uc3Qgc3RydWN0IHY0bDJfaW9jdGxfb3BzICpvcHMsDQogCQl0 ZXN0X2JpdChWNEwyX0ZMX1VTRVNfVjRMMl9GSCwgJnZmZC0+ZmxhZ3MpID8gZmggOiBOVUxMOw0K IA0KIAlwLT5lcnJvcl9pZHggPSBwLT5jb3VudDsNCisJaWYgKHZmaCAmJiB2ZmgtPnJvX2N0cmxf aGFuZGxlcikgew0KKwkJaWYgKCF2NGwyX2NoZWNrX3JvX2V4dF9jdHJscyh2ZmgtPnJvX2N0cmxf aGFuZGxlciwgdmZkLA0KKwkJCQkJCXZmZC0+djRsMl9kZXYtPm1kZXYsIHApKSB7DQorCQkJcmV0 dXJuIHY0bDJfdHJ5X2V4dF9jdHJscyh2ZmgtPnJvX2N0cmxfaGFuZGxlciwgdmZkLA0KKwkJCQkJ CXZmZC0+djRsMl9kZXYtPm1kZXYsIHApOw0KKwkJfQ0KKwl9DQogCWlmICh2ZmggJiYgdmZoLT5j dHJsX2hhbmRsZXIpDQogCQlyZXR1cm4gdjRsMl90cnlfZXh0X2N0cmxzKHZmaC0+Y3RybF9oYW5k bGVyLA0KIAkJCQkJICB2ZmQsIHZmZC0+djRsMl9kZXYtPm1kZXYsIHApOw0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItbWVtMm1lbS5jIGIvZHJpdmVycy9tZWRpYS92 NGwyLWNvcmUvdjRsMi1tZW0ybWVtLmMNCmluZGV4IDYyYWM5NDI0YzkyYS4uMTY2ZTk0ZWUxOGE3 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS92NGwyLWNvcmUvdjRsMi1tZW0ybWVtLmMNCisr KyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlL3Y0bDItbWVtMm1lbS5jDQpAQCAtNzEyLDEzICs3 MTIsNiBAQCBpbnQgdjRsMl9tMm1fcWJ1ZihzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHY0bDJf bTJtX2N0eCAqbTJtX2N0eCwNCiAJaW50IHJldDsNCiANCiAJdnEgPSB2NGwyX20ybV9nZXRfdnEo bTJtX2N0eCwgYnVmLT50eXBlKTsNCi0JaWYgKCFWNEwyX1RZUEVfSVNfT1VUUFVUKHZxLT50eXBl KSAmJg0KLQkgICAgKGJ1Zi0+ZmxhZ3MgJiBWNEwyX0JVRl9GTEFHX1JFUVVFU1RfRkQpKSB7DQot CQlkcHJpbnRrKCIlczogcmVxdWVzdHMgY2Fubm90IGJlIHVzZWQgd2l0aCBjYXB0dXJlIGJ1ZmZl cnNcbiIsDQotCQkJX19mdW5jX18pOw0KLQkJcmV0dXJuIC1FUEVSTTsNCi0JfQ0KLQ0KIAlyZXQg PSB2YjJfcWJ1Zih2cSwgdmRldi0+djRsMl9kZXYtPm1kZXYsIGJ1Zik7DQogCWlmIChyZXQpDQog CQlyZXR1cm4gcmV0Ow0KQEAgLTEyNTIsMTAgKzEyNDUsMTQgQEAgdm9pZCB2NGwyX20ybV9yZXF1 ZXN0X3F1ZXVlKHN0cnVjdCBtZWRpYV9yZXF1ZXN0ICpyZXEpDQogCQlpZiAodmIyX3JlcXVlc3Rf b2JqZWN0X2lzX2J1ZmZlcihvYmopKSB7DQogCQkJLyogU2FuaXR5IGNoZWNrcyAqLw0KIAkJCXZi ID0gY29udGFpbmVyX29mKG9iaiwgc3RydWN0IHZiMl9idWZmZXIsIHJlcV9vYmopOw0KLQkJCVdB Uk5fT04oIVY0TDJfVFlQRV9JU19PVVRQVVQodmItPnZiMl9xdWV1ZS0+dHlwZSkpOw0KLQkJCW0y bV9jdHhfb2JqID0gY29udGFpbmVyX29mKHZiLT52YjJfcXVldWUsDQotCQkJCQkJICAgc3RydWN0 IHY0bDJfbTJtX2N0eCwNCi0JCQkJCQkgICBvdXRfcV9jdHgucSk7DQorCQkJaWYgKFY0TDJfVFlQ RV9JU19PVVRQVVQodmItPnZiMl9xdWV1ZS0+dHlwZSkpDQorCQkJCW0ybV9jdHhfb2JqID0gY29u dGFpbmVyX29mKHZiLT52YjJfcXVldWUsDQorCQkJCQkJCXN0cnVjdCB2NGwyX20ybV9jdHgsDQor CQkJCQkJCW91dF9xX2N0eC5xKTsNCisJCQllbHNlDQorCQkJCW0ybV9jdHhfb2JqID0gY29udGFp bmVyX29mKHZiLT52YjJfcXVldWUsDQorCQkJCQkJCXN0cnVjdCB2NGwyX20ybV9jdHgsDQorCQkJ CQkJCWNhcF9xX2N0eC5xKTsNCiAJCQlXQVJOX09OKG0ybV9jdHggJiYgbTJtX2N0eF9vYmogIT0g bTJtX2N0eCk7DQogCQkJbTJtX2N0eCA9IG0ybV9jdHhfb2JqOw0KIAkJfQ0KZGlmZiAtLWdpdCBh L2luY2x1ZGUvbWVkaWEvdjRsMi1jdHJscy5oIGIvaW5jbHVkZS9tZWRpYS92NGwyLWN0cmxzLmgN CmluZGV4IGY0MGUyY2JiMjFkMy4uNWIxMGMyZThhNDAyIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9t ZWRpYS92NGwyLWN0cmxzLmgNCisrKyBiL2luY2x1ZGUvbWVkaWEvdjRsMi1jdHJscy5oDQpAQCAt MzQ1LDYgKzM0NSw3IEBAIHN0cnVjdCB2NGwyX2N0cmxfcmVmIHsNCiAgKiBAbnJfb2ZfYnVja2V0 czogVG90YWwgbnVtYmVyIG9mIGJ1Y2tldHMgaW4gdGhlIGFycmF5Lg0KICAqIEBlcnJvcjoJVGhl IGVycm9yIGNvZGUgb2YgdGhlIGZpcnN0IGZhaWxlZCBjb250cm9sIGFkZGl0aW9uLg0KICAqIEBy ZXF1ZXN0X2lzX3F1ZXVlZDogVHJ1ZSBpZiB0aGUgcmVxdWVzdCB3YXMgcXVldWVkLg0KKyAqIEBy b19yZXF1ZXN0czogVHJ1ZSBpZiB0aGUgcXVldWUgc3VwcG9ydCBybyByZXF1ZXN0Lg0KICAqIEBy ZXF1ZXN0czoJTGlzdCB0byBrZWVwIHRyYWNrIG9mIG9wZW4gY29udHJvbCBoYW5kbGVyIHJlcXVl c3Qgb2JqZWN0cy4NCiAgKgkJRm9yIHRoZSBwYXJlbnQgY29udHJvbCBoYW5kbGVyIChAcmVxX29i ai5yZXEgPT0gTlVMTCkgdGhpcw0KICAqCQlpcyB0aGUgbGlzdCBoZWFkZXIuIFdoZW4gdGhlIHBh cmVudCBjb250cm9sIGhhbmRsZXIgaXMNCkBAIC0zNjgsNiArMzY5LDcgQEAgc3RydWN0IHY0bDJf Y3RybF9oYW5kbGVyIHsNCiAJdTE2IG5yX29mX2J1Y2tldHM7DQogCWludCBlcnJvcjsNCiAJYm9v bCByZXF1ZXN0X2lzX3F1ZXVlZDsNCisJYm9vbCByb19yZXF1ZXN0czsNCiAJc3RydWN0IGxpc3Rf aGVhZCByZXF1ZXN0czsNCiAJc3RydWN0IGxpc3RfaGVhZCByZXF1ZXN0c19xdWV1ZWQ7DQogCXN0 cnVjdCBtZWRpYV9yZXF1ZXN0X29iamVjdCByZXFfb2JqOw0KQEAgLTEyNjEsOCArMTI2MywxMCBA QCB2b2lkIHY0bDJfY3RybF9yZXF1ZXN0X2NvbXBsZXRlKHN0cnVjdCBtZWRpYV9yZXF1ZXN0ICpy ZXEsDQogICogQHBhcmVudDogVGhlIHBhcmVudCBjb250cm9sIGhhbmRsZXIgKCdwcml2JyBpbiBt ZWRpYV9yZXF1ZXN0X29iamVjdF9maW5kKCkpDQogICoNCiAgKiBUaGlzIGZ1bmN0aW9uIGZpbmRz IHRoZSBjb250cm9sIGhhbmRsZXIgaW4gdGhlIHJlcXVlc3QuIEl0IG1heSByZXR1cm4NCi0gKiBO VUxMIGlmIG5vdCBmb3VuZC4gV2hlbiBkb25lLCB5b3UgbXVzdCBjYWxsIHY0bDJfY3RybF9yZXF1 ZXN0X3B1dF9oZGwoKQ0KLSAqIHdpdGggdGhlIHJldHVybmVkIGhhbmRsZXIgcG9pbnRlci4NCisg KiBOVUxMIGlmIG5vdCBmb3VuZC4gQnV0IGZvciBSbyBSZXF1ZXN0LCB0aGUgcmVxdWVzdCBvYmpl Y3QgbWF5YmUNCisgKiBOVUxMLCBuZWVkIHRvIGNhbGwgdjRsMl9jdHJsc19maW5kX3JlcV9vYmoo KSB0byBjaGVjayB3aGV0aGVyIHRoZQ0KKyAqIHJlcXVlc3QgaGFzIHJlcXVlc3Qgb2JqZWN0LiBX aGVuIGRvbmUsIHlvdSBtdXN0IGNhbGwNCisgKiB2NGwyX2N0cmxfcmVxdWVzdF9wdXRfaGRsKCkg d2l0aCB0aGUgcmV0dXJuZWQgaGFuZGxlciBwb2ludGVyLg0KICAqDQogICogSWYgdGhlIHJlcXVl c3QgaXMgbm90IGluIHN0YXRlIFZBTElEQVRJTkcgb3IgUVVFVUVELCB0aGVuIHRoaXMgZnVuY3Rp b24NCiAgKiB3aWxsIGFsd2F5cyByZXR1cm4gTlVMTC4NCkBAIC0xNDU0LDQgKzE0NTgsMTggQEAg aW50IHY0bDJfY3RybF9zdWJkZXZfbG9nX3N0YXR1cyhzdHJ1Y3QgdjRsMl9zdWJkZXYgKnNkKTsN CiBpbnQgdjRsMl9jdHJsX25ld19md25vZGVfcHJvcGVydGllcyhzdHJ1Y3QgdjRsMl9jdHJsX2hh bmRsZXIgKmhkbCwNCiAJCQkJICAgIGNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfb3BzICpjdHJsX29w cywNCiAJCQkJICAgIGNvbnN0IHN0cnVjdCB2NGwyX2Z3bm9kZV9kZXZpY2VfcHJvcGVydGllcyAq cCk7DQorLyoqDQorICogdjRsMl9jaGVja19yb19leHRfY3RybHMgLSBDaGVjayB3aGV0aGVyIHRo ZSBleHQgY29udHJvbHMgYXJlIHJvIHJlcXVlc3QNCisgKg0KKyAqIEBoZGw6IHBvaW50ZXIgdG8g JnN0cnVjdCB2NGwyX2N0cmxfaGFuZGxlcg0KKyAqIEB2ZGV2OiBwb2ludGVyIHRvICZzdHJ1Y3Qg dmlkZW9fZGV2aWNlDQorICogQG1kZXY6IHBvaW50ZXIgdG8gJnN0cnVjdCBtZWRpYV9kZXZpY2UN CisgKiBAY3M6IHBvaW50ZXIgdG8gJnN0cnVjdCB2NGwyX2V4dF9jb250cm9scw0KKyAqDQorICog SWYgaGRsID09IE5VTEwgdGhlbiB0aGV5IHdpbGwgYWxsIHJldHVybiAtRUlOVkFMLg0KKyAqLw0K K2ludCB2NGwyX2NoZWNrX3JvX2V4dF9jdHJscyhzdHJ1Y3QgdjRsMl9jdHJsX2hhbmRsZXIgKmhk bCwNCisJCQkgICAgc3RydWN0IHZpZGVvX2RldmljZSAqdmRldiwNCisJCQkgICAgc3RydWN0IG1l ZGlhX2RldmljZSAqbWRldiwNCisJCQkgICAgc3RydWN0IHY0bDJfZXh0X2NvbnRyb2xzICpjcyk7 DQogI2VuZGlmDQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tZWRpYS92NGwyLWZoLmggYi9pbmNsdWRl L21lZGlhL3Y0bDItZmguaA0KaW5kZXggYjViM2UwMGM4ZTZhLi40NzlhYmVmNmM5MTAgMTAwNjQ0 DQotLS0gYS9pbmNsdWRlL21lZGlhL3Y0bDItZmguaA0KKysrIGIvaW5jbHVkZS9tZWRpYS92NGwy LWZoLmgNCkBAIC0yNyw2ICsyNyw3IEBAIHN0cnVjdCB2NGwyX2N0cmxfaGFuZGxlcjsNCiAgKiBA bGlzdDogbGlzdCBvZiBmaWxlIGhhbmRsZXJzDQogICogQHZkZXY6IHBvaW50ZXIgdG8gJnN0cnVj dCB2aWRlb19kZXZpY2UNCiAgKiBAY3RybF9oYW5kbGVyOiBwb2ludGVyIHRvICZzdHJ1Y3QgdjRs Ml9jdHJsX2hhbmRsZXINCisgKiBAcm9fY3RybF9oYW5kbGVyOiBwb2ludGVyIHRvICZzdHJ1Y3Qg djRsMl9jdHJsX2hhbmRsZXIgdXNlZCBmb3Igcm8gY3RybHMNCiAgKiBAcHJpbzogcHJpb3JpdHkg b2YgdGhlIGZpbGUgaGFuZGxlciwgYXMgZGVmaW5lZCBieSAmZW51bSB2NGwyX3ByaW9yaXR5DQog ICoNCiAgKiBAd2FpdDogZXZlbnQnIHMgd2FpdCBxdWV1ZQ0KQEAgLTQzLDYgKzQ0LDcgQEAgc3Ry dWN0IHY0bDJfZmggew0KIAlzdHJ1Y3QgbGlzdF9oZWFkCWxpc3Q7DQogCXN0cnVjdCB2aWRlb19k ZXZpY2UJKnZkZXY7DQogCXN0cnVjdCB2NGwyX2N0cmxfaGFuZGxlciAqY3RybF9oYW5kbGVyOw0K KwlzdHJ1Y3QgdjRsMl9jdHJsX2hhbmRsZXIgKnJvX2N0cmxfaGFuZGxlcjsNCiAJZW51bSB2NGwy X3ByaW9yaXR5CXByaW87DQogDQogCS8qIEV2ZW50cyAqLw0KZGlmZiAtLWdpdCBhL2luY2x1ZGUv bWVkaWEvdmlkZW9idWYyLWNvcmUuaCBiL2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUuaA0K aW5kZXggZjExYjk2NTE0Y2Y3Li5kY2U1YzY3ODFiZTkgMTAwNjQ0DQotLS0gYS9pbmNsdWRlL21l ZGlhL3ZpZGVvYnVmMi1jb3JlLmgNCisrKyBiL2luY2x1ZGUvbWVkaWEvdmlkZW9idWYyLWNvcmUu aA0KQEAgLTQ4Myw2ICs0ODMsNyBAQCBzdHJ1Y3QgdmIyX2J1Zl9vcHMgew0KICAqICAgICAgICAg ICAgICBoYXMgbm90IGJlZW4gY2FsbGVkLiBUaGlzIGlzIGEgdmIxIGlkaW9tIHRoYXQgaGFzIGJl ZW4gYWRvcHRlZA0KICAqICAgICAgICAgICAgICBhbHNvIGJ5IHZiMi4NCiAgKiBAc3VwcG9ydHNf cmVxdWVzdHM6IHRoaXMgcXVldWUgc3VwcG9ydHMgdGhlIFJlcXVlc3QgQVBJLg0KKyAqIEBzdXBw b3J0c19yb19yZXF1ZXN0czogdGhpcyBxdWV1ZSBzdXBwb3J0cyB0aGUgUk8gUmVxdWVzdCBBUEku DQogICogQHJlcXVpcmVzX3JlcXVlc3RzOiB0aGlzIHF1ZXVlIHJlcXVpcmVzIHRoZSBSZXF1ZXN0 IEFQSS4gSWYgdGhpcyBpcyBzZXQgdG8gMSwNCiAgKgkJdGhlbiBzdXBwb3J0c19yZXF1ZXN0cyBt dXN0IGJlIHNldCB0byAxIGFzIHdlbGwuDQogICogQHVzZXNfcWJ1ZjoJcWJ1ZiB3YXMgdXNlZCBk aXJlY3RseSBmb3IgdGhpcyBxdWV1ZS4gU2V0IHRvIDEgdGhlIGZpcnN0DQpAQCAtNTY0LDYgKzU2 NSw3IEBAIHN0cnVjdCB2YjJfcXVldWUgew0KIAl1bnNpZ25lZAkJCWFsbG93X3plcm9fYnl0ZXN1 c2VkOjE7DQogCXVuc2lnbmVkCQkgICBxdWlya19wb2xsX211c3RfY2hlY2tfd2FpdGluZ19mb3Jf YnVmZmVyczoxOw0KIAl1bnNpZ25lZAkJCXN1cHBvcnRzX3JlcXVlc3RzOjE7DQorCXVuc2lnbmVk CQkJc3VwcG9ydHNfcm9fcmVxdWVzdHM6MTsNCiAJdW5zaWduZWQJCQlyZXF1aXJlc19yZXF1ZXN0 czoxOw0KIAl1bnNpZ25lZAkJCXVzZXNfcWJ1ZjoxOw0KIAl1bnNpZ25lZAkJCXVzZXNfcmVxdWVz dHM6MTsNCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmggYi9pbmNs dWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmgNCmluZGV4IGMzYTFjZjFjNTA3Zi4uMjU3OTNjNzM3 ZWFiIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS91YXBpL2xpbnV4L3ZpZGVvZGV2Mi5oDQorKysgYi9p bmNsdWRlL3VhcGkvbGludXgvdmlkZW9kZXYyLmgNCkBAIC05NTQsNiArOTU0LDcgQEAgc3RydWN0 IHY0bDJfcmVxdWVzdGJ1ZmZlcnMgew0KICNkZWZpbmUgVjRMMl9CVUZfQ0FQX1NVUFBPUlRTX1JF UVVFU1RTCQkJKDEgPDwgMykNCiAjZGVmaW5lIFY0TDJfQlVGX0NBUF9TVVBQT1JUU19PUlBIQU5F RF9CVUZTCQkoMSA8PCA0KQ0KICNkZWZpbmUgVjRMMl9CVUZfQ0FQX1NVUFBPUlRTX00yTV9IT0xE X0NBUFRVUkVfQlVGCSgxIDw8IDUpDQorI2RlZmluZSBWNEwyX0JVRl9DQVBfU1VQUE9SVFNfUk9f UkVRVUVTVFMJCSgxIDw8IDYpDQogDQogLyoqDQogICogc3RydWN0IHY0bDJfcGxhbmUgLSBwbGFu ZSBpbmZvIGZvciBtdWx0aS1wbGFuYXIgYnVmZmVycw0KLS0gDQoyLjE4LjANCg==