From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id EFF66A00E6 for ; Thu, 18 Apr 2019 13:40:32 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 32F421B9C1; Thu, 18 Apr 2019 13:40:03 +0200 (CEST) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690067.outbound.protection.outlook.com [40.107.69.67]) by dpdk.org (Postfix) with ESMTP id F17501B9BC for ; Thu, 18 Apr 2019 13:39:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ESnvqVrAcCDwz8buJB5q8f1zJ+WNmbJ8I1/FCeLTtqg=; b=HVbXjIgrMnObTaUOtwWM/S98Cz/wtF3fJCPMnzLb9zTR/NRgxMdXnJMgR5jlvFB38mgbxWoUnRs5u6iNAHOXdw0c+qGVEPMlFb9cnIlEBTez2UetcI9yukAFC2RvvnYwffHFzYumgK83jEuShIjcOn1SsBcc8UGo3v8cWDO+nBM= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB3866.namprd11.prod.outlook.com (10.255.61.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.14; Thu, 18 Apr 2019 11:39:58 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::f035:2c20:5a61:7653%3]) with mapi id 15.20.1813.011; Thu, 18 Apr 2019 11:39:58 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: "ferruh.yigit@intel.com" , "thomas@monjalon.net" , "arybchenko@solarflare.com" , "konstantin.ananyev@intel.com" , Pavel Belous , Igor Russkikh Thread-Topic: [PATCH v3 4/6] net/atlantic: interrupt handling and macsec configuration Thread-Index: AQHU9dtzjjvGErNVgkynfxVDuCQs0A== Date: Thu, 18 Apr 2019 11:39:57 +0000 Message-ID: <8f888e02cc43ea8df8a6d80fa3012ffc5e813969.1555587238.git.igor.russkikh@aquantia.com> References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: BYAPR11CA0051.namprd11.prod.outlook.com (2603:10b6:a03:80::28) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f9a4eaf1-12c9-49d6-d367-08d6c3f2957a x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:DM6PR11MB3866; x-ms-traffictypediagnostic: DM6PR11MB3866: x-microsoft-antispam-prvs: x-forefront-prvs: 0011612A55 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(39850400004)(136003)(366004)(376002)(346002)(199004)(189003)(76176011)(186003)(6486002)(26005)(97736004)(2501003)(102836004)(1730700003)(81156014)(6506007)(6116002)(8676002)(3846002)(386003)(81166006)(6916009)(5640700003)(446003)(2906002)(11346002)(52116002)(50226002)(118296001)(256004)(99286004)(14444005)(6436002)(86362001)(71200400001)(71190400001)(44832011)(4326008)(66066001)(14454004)(486006)(25786009)(36756003)(72206003)(478600001)(8936002)(476003)(2351001)(6512007)(53936002)(7736002)(5660300002)(54906003)(316002)(107886003)(2616005)(68736007)(305945005); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3866; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: eZGHE32x1noVoW1noB86LB8ooVMF0bf9/k6OBa66Van89O77Dh9/LDnaWcwMIsTOWOQosIp34T6tJ+WRZb8VVLQSC9zhzlhkv+4Xid2T1qNpIYYcLfdtYdTLQSJ+uHVhnc0E0sRR800lXYTJ5OnpEe6OxZwBdZDE418hJTCSO3H4EcrLYXgZKsE9EaxtmiaONu46X2bMDF1a8fGOzmG/iZuxXZ8jmdKFMqtiX/LuwCKZZpATrdHIrnOHUKjWDX/G1oIslRiJnskXaJkCy+KhqO2HP4gkYeujwEXL7uPNhK3Is4Z1Rlg3aFp0G9Y8kCtNSyEh6wfhjRIwFhz5jxfb2SOCAuuAOVBnCCQpWPSlontUFqe8JHKlf4Wp3TD7lKwU4FSQuULfszLzZv2iQDS7UHkz1IAcUUViOwkYzCc/Oqk= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9a4eaf1-12c9-49d6-d367-08d6c3f2957a X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Apr 2019 11:39:57.9872 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3866 Subject: [dpdk-dev] [PATCH v3 4/6] net/atlantic: interrupt handling and macsec configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190418113957.Xxf7KWd3jSG8oTLNHEbZ-eUFBIuOMNs5m79E_12AC1k@z> RnJvbTogUGF2ZWwgQmVsb3VzIDxwYXZlbC5iZWxvdXNAYXF1YW50aWEuY29tPg0KDQpNQUNTRUMg c2hvdWxkIGJlIGNvbmZpZ3VyZWQgb25seSBhZnRlciBsaW5rIHVwIGV2ZW50LCB0aHVzIHdlIHVz ZQ0KbGluayBpbnRlcnJ1cHQgdG8gZmlsZSBhbiBhbGFybSBmb3IgY29uZmlndXJhdGlvbi4NCg0K RlcgYWxzbyB1c2VzIGxpbmsgaW50ZXJydXB0IGxpbmUgdG8gaW5kaWNhdGUgaW5jb21pbmcgZXZl bnRzIGZyb20NCk1BQ1NFQy4gVGhlc2UgbWF5IGluY2x1ZGUga2V5IGV4cGlyYXRpb24sIHBhY2tl dCBjb3VudGVyIHdyYXAsIGV0Yy4NCldlIHBhc3MgdGhlc2UgZXZlbnRzIHRvIHRoZSB1cHBlciBs YXllcnMuDQoNClNpZ25lZC1vZmYtYnk6IFBhdmVsIEJlbG91cyA8cGF2ZWwuYmVsb3VzQGFxdWFu dGlhLmNvbT4NClNpZ25lZC1vZmYtYnk6IElnb3IgUnVzc2tpa2ggPGlnb3IucnVzc2tpa2hAYXF1 YW50aWEuY29tPg0KLS0tDQogZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5jIHwgMTg5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KIGRyaXZlcnMvbmV0L2F0bGFudGljL2F0 bF9ldGhkZXYuaCB8ICAgMiArLQ0KIDIgZmlsZXMgY2hhbmdlZCwgMTgwIGluc2VydGlvbnMoKyks IDExIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRs X2V0aGRldi5jIGIvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5jDQppbmRleCA3ZWE2 OTE5ZmYxY2EuLmRmY2IzMDI5YjkyZiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L2F0bGFudGlj L2F0bF9ldGhkZXYuYw0KKysrIGIvZHJpdmVycy9uZXQvYXRsYW50aWMvYXRsX2V0aGRldi5jDQpA QCAtNCw2ICs0LDcgQEANCiANCiAjaW5jbHVkZSA8cnRlX3N0cmluZ19mbnMuaD4NCiAjaW5jbHVk ZSA8cnRlX2V0aGRldl9wY2kuaD4NCisjaW5jbHVkZSA8cnRlX2FsYXJtLmg+DQogDQogI2luY2x1 ZGUgImF0bF9ldGhkZXYuaCINCiAjaW5jbHVkZSAiYXRsX2NvbW1vbi5oIg0KQEAgLTcwMCw2ICs3 MDEsMTI5IEBAIGF0bF9kZXZfcmVzZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQogCXJldHVy biByZXQ7DQogfQ0KIA0KK3N0YXRpYyBpbnQNCithdGxfZGV2X2NvbmZpZ3VyZV9tYWNzZWMoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQorew0KKwlzdHJ1Y3QgYXFfaHdfcyAqaHcgPSBBVExfREVW X1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQorCXN0cnVjdCBhcV9od19j ZmdfcyAqY2YgPSBBVExfREVWX1BSSVZBVEVfVE9fQ0ZHKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUp Ow0KKwlzdHJ1Y3QgYXFfbWFjc2VjX2NvbmZpZyAqYXFjZmcgPSAmY2YtPmFxX21hY3NlYzsNCisJ c3RydWN0IG1hY3NlY19tc2dfZndfcmVxdWVzdCBtc2dfbWFjc2VjOw0KKwlzdHJ1Y3QgbWFjc2Vj X21zZ19md19yZXNwb25zZSByZXNwb25zZTsNCisNCisJaWYgKCFhcWNmZy0+Y29tbW9uLm1hY3Nl Y19lbmFibGVkIHx8DQorCSAgICBody0+YXFfZndfb3BzLT5zZW5kX21hY3NlY19yZXEgPT0gTlVM TCkNCisJCXJldHVybiAwOw0KKw0KKwltZW1zZXQoJm1zZ19tYWNzZWMsIDAsIHNpemVvZihtc2df bWFjc2VjKSk7DQorDQorCS8qIENyZWF0aW5nIHNldCBvZiBzYy9zYSBzdHJ1Y3R1cmVzIGZyb20g cGFyYW1ldGVycyBwcm92aWRlZCBieSBEUERLICovDQorDQorCS8qIENvbmZpZ3VyZSBtYWNzZWMg Ki8NCisJbXNnX21hY3NlYy5tc2dfdHlwZSA9IG1hY3NlY19jZmdfbXNnOw0KKwltc2dfbWFjc2Vj LmNmZy5lbmFibGVkID0gYXFjZmctPmNvbW1vbi5tYWNzZWNfZW5hYmxlZDsNCisJbXNnX21hY3Nl Yy5jZmcuaW50ZXJydXB0c19lbmFibGVkID0gMTsNCisNCisJaHctPmFxX2Z3X29wcy0+c2VuZF9t YWNzZWNfcmVxKGh3LCAmbXNnX21hY3NlYywgJnJlc3BvbnNlKTsNCisNCisJaWYgKHJlc3BvbnNl LnJlc3VsdCkNCisJCXJldHVybiAtMTsNCisNCisJbWVtc2V0KCZtc2dfbWFjc2VjLCAwLCBzaXpl b2YobXNnX21hY3NlYykpOw0KKw0KKwkvKiBDb25maWd1cmUgVFggU0MgKi8NCisNCisJbXNnX21h Y3NlYy5tc2dfdHlwZSA9IG1hY3NlY19hZGRfdHhfc2NfbXNnOw0KKwltc2dfbWFjc2VjLnR4c2Mu aW5kZXggPSAwOyAvKiBUWFNDIGFsd2F5cyBvbmUgKD8/KSAqLw0KKwltc2dfbWFjc2VjLnR4c2Mu cHJvdGVjdCA9IGFxY2ZnLT5jb21tb24uZW5jcnlwdGlvbl9lbmFibGVkOw0KKw0KKwkvKiBNQUMg YWRkciBmb3IgVFggKi8NCisJbXNnX21hY3NlYy50eHNjLm1hY19zYVswXSA9IHJ0ZV9ic3dhcDMy KGFxY2ZnLT50eHNjLm1hY1sxXSk7DQorCW1zZ19tYWNzZWMudHhzYy5tYWNfc2FbMV0gPSBydGVf YnN3YXAzMihhcWNmZy0+dHhzYy5tYWNbMF0pOw0KKwltc2dfbWFjc2VjLnR4c2Muc2FfbWFzayA9 IDB4M2Y7DQorDQorCW1zZ19tYWNzZWMudHhzYy5kYV9tYXNrID0gMDsNCisJbXNnX21hY3NlYy50 eHNjLnRjaSA9IDB4MEI7DQorCW1zZ19tYWNzZWMudHhzYy5jdXJyX2FuID0gMDsgLyogU0EgaW5k ZXggd2hpY2ggY3VycmVudGx5IHVzZWQgKi8NCisNCisJLyoNCisJICogQ3JlYXRpbmcgU0NJIChT ZWN1cmUgQ2hhbm5lbCBJZGVudGlmaWVyKS4NCisJICogU0NJIGNvbnN0cnVjdGVkIGZyb20gU291 cmNlIE1BQyBhbmQgUG9ydCBpZGVudGlmaWVyDQorCSAqLw0KKwl1aW50MzJfdCBzY2lfaGlfcGFy dCA9IChtc2dfbWFjc2VjLnR4c2MubWFjX3NhWzFdIDw8IDE2KSB8DQorCQkJICAgICAgIChtc2df bWFjc2VjLnR4c2MubWFjX3NhWzBdID4+IDE2KTsNCisJdWludDMyX3Qgc2NpX2xvd19wYXJ0ID0g KG1zZ19tYWNzZWMudHhzYy5tYWNfc2FbMF0gPDwgMTYpOw0KKw0KKwl1aW50MzJfdCBwb3J0X2lk ZW50aWZpZXIgPSAxOw0KKw0KKwltc2dfbWFjc2VjLnR4c2Muc2NpWzFdID0gc2NpX2hpX3BhcnQ7 DQorCW1zZ19tYWNzZWMudHhzYy5zY2lbMF0gPSBzY2lfbG93X3BhcnQgfCBwb3J0X2lkZW50aWZp ZXI7DQorDQorCWh3LT5hcV9md19vcHMtPnNlbmRfbWFjc2VjX3JlcShodywgJm1zZ19tYWNzZWMs ICZyZXNwb25zZSk7DQorDQorCWlmIChyZXNwb25zZS5yZXN1bHQpDQorCQlyZXR1cm4gLTE7DQor DQorCW1lbXNldCgmbXNnX21hY3NlYywgMCwgc2l6ZW9mKG1zZ19tYWNzZWMpKTsNCisNCisJLyog Q29uZmlndXJlIFJYIFNDICovDQorDQorCW1zZ19tYWNzZWMubXNnX3R5cGUgPSBtYWNzZWNfYWRk X3J4X3NjX21zZzsNCisJbXNnX21hY3NlYy5yeHNjLmluZGV4ID0gYXFjZmctPnJ4c2MucGk7DQor CW1zZ19tYWNzZWMucnhzYy5yZXBsYXlfcHJvdGVjdCA9DQorCQlhcWNmZy0+Y29tbW9uLnJlcGxh eV9wcm90ZWN0aW9uX2VuYWJsZWQ7DQorCW1zZ19tYWNzZWMucnhzYy5hbnRpX3JlcGxheV93aW5k b3cgPSAwOw0KKw0KKwkvKiBNQUMgYWRkciBmb3IgUlggKi8NCisJbXNnX21hY3NlYy5yeHNjLm1h Y19kYVswXSA9IHJ0ZV9ic3dhcDMyKGFxY2ZnLT5yeHNjLm1hY1sxXSk7DQorCW1zZ19tYWNzZWMu cnhzYy5tYWNfZGFbMV0gPSBydGVfYnN3YXAzMihhcWNmZy0+cnhzYy5tYWNbMF0pOw0KKwltc2df bWFjc2VjLnJ4c2MuZGFfbWFzayA9IDA7Ly8weDNmOw0KKw0KKwltc2dfbWFjc2VjLnJ4c2Muc2Ff bWFzayA9IDA7DQorDQorCWh3LT5hcV9md19vcHMtPnNlbmRfbWFjc2VjX3JlcShodywgJm1zZ19t YWNzZWMsICZyZXNwb25zZSk7DQorDQorCWlmIChyZXNwb25zZS5yZXN1bHQpDQorCQlyZXR1cm4g LTE7DQorDQorCW1lbXNldCgmbXNnX21hY3NlYywgMCwgc2l6ZW9mKG1zZ19tYWNzZWMpKTsNCisN CisJLyogQ29uZmlndXJlIFJYIFNDICovDQorDQorCW1zZ19tYWNzZWMubXNnX3R5cGUgPSBtYWNz ZWNfYWRkX3R4X3NhX21zZzsNCisJbXNnX21hY3NlYy50eHNhLmluZGV4ID0gYXFjZmctPnR4c2Eu aWR4Ow0KKwltc2dfbWFjc2VjLnR4c2EubmV4dF9wbiA9IGFxY2ZnLT50eHNhLnBuOw0KKw0KKwlt c2dfbWFjc2VjLnR4c2Eua2V5WzBdID0gcnRlX2Jzd2FwMzIoYXFjZmctPnR4c2Eua2V5WzNdKTsN CisJbXNnX21hY3NlYy50eHNhLmtleVsxXSA9IHJ0ZV9ic3dhcDMyKGFxY2ZnLT50eHNhLmtleVsy XSk7DQorCW1zZ19tYWNzZWMudHhzYS5rZXlbMl0gPSBydGVfYnN3YXAzMihhcWNmZy0+dHhzYS5r ZXlbMV0pOw0KKwltc2dfbWFjc2VjLnR4c2Eua2V5WzNdID0gcnRlX2Jzd2FwMzIoYXFjZmctPnR4 c2Eua2V5WzBdKTsNCisNCisJaHctPmFxX2Z3X29wcy0+c2VuZF9tYWNzZWNfcmVxKGh3LCAmbXNn X21hY3NlYywgJnJlc3BvbnNlKTsNCisNCisJaWYgKHJlc3BvbnNlLnJlc3VsdCkNCisJCXJldHVy biAtMTsNCisNCisJbWVtc2V0KCZtc2dfbWFjc2VjLCAwLCBzaXplb2YobXNnX21hY3NlYykpOw0K Kw0KKwkvKiBDb25maWd1cmUgUlggU0EgKi8NCisNCisJbXNnX21hY3NlYy5tc2dfdHlwZSA9IG1h Y3NlY19hZGRfcnhfc2FfbXNnOw0KKwltc2dfbWFjc2VjLnJ4c2EuaW5kZXggPSBhcWNmZy0+cnhz YS5pZHg7DQorCW1zZ19tYWNzZWMucnhzYS5uZXh0X3BuID0gYXFjZmctPnJ4c2EucG47DQorDQor CW1zZ19tYWNzZWMucnhzYS5rZXlbMF0gPSBydGVfYnN3YXAzMihhcWNmZy0+cnhzYS5rZXlbM10p Ow0KKwltc2dfbWFjc2VjLnJ4c2Eua2V5WzFdID0gcnRlX2Jzd2FwMzIoYXFjZmctPnJ4c2Eua2V5 WzJdKTsNCisJbXNnX21hY3NlYy5yeHNhLmtleVsyXSA9IHJ0ZV9ic3dhcDMyKGFxY2ZnLT5yeHNh LmtleVsxXSk7DQorCW1zZ19tYWNzZWMucnhzYS5rZXlbM10gPSBydGVfYnN3YXAzMihhcWNmZy0+ cnhzYS5rZXlbMF0pOw0KKw0KKwlody0+YXFfZndfb3BzLT5zZW5kX21hY3NlY19yZXEoaHcsICZt c2dfbWFjc2VjLCAmcmVzcG9uc2UpOw0KKw0KKwlpZiAocmVzcG9uc2UucmVzdWx0KQ0KKwkJcmV0 dXJuIC0xOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQogaW50IGF0bF9tYWNzZWNfZW5hYmxlKHN0 cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KIAkJICAgICAgdWludDhfdCBlbmNyLCB1aW50OF90IHJl cGxfcHJvdCkNCiB7DQpAQCAtOTQ3LDEzICsxMDcxLDIwIEBAIGF0bF9kZXZfc3VwcG9ydGVkX3B0 eXBlc19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYpDQogCXJldHVybiBOVUxMOw0KIH0NCiAN CitzdGF0aWMgdm9pZA0KK2F0bF9kZXZfZGVsYXllZF9oYW5kbGVyKHZvaWQgKnBhcmFtKQ0KK3sN CisJc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYgPSAoc3RydWN0IHJ0ZV9ldGhfZGV2ICopcGFyYW07 DQorDQorCWF0bF9kZXZfY29uZmlndXJlX21hY3NlYyhkZXYpOw0KK30NCisNCisNCiAvKiByZXR1 cm4gMCBtZWFucyBsaW5rIHN0YXR1cyBjaGFuZ2VkLCAtMSBtZWFucyBub3QgY2hhbmdlZCAqLw0K IHN0YXRpYyBpbnQNCiBhdGxfZGV2X2xpbmtfdXBkYXRlKHN0cnVjdCBydGVfZXRoX2RldiAqZGV2 LCBpbnQgd2FpdCBfX3J0ZV91bnVzZWQpDQogew0KIAlzdHJ1Y3QgYXFfaHdfcyAqaHcgPSBBVExf REVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQotCXN0cnVjdCBhdGxf aW50ZXJydXB0ICppbnRyID0NCi0JCUFUTF9ERVZfUFJJVkFURV9UT19JTlRSKGRldi0+ZGF0YS0+ ZGV2X3ByaXZhdGUpOw0KIAlzdHJ1Y3QgcnRlX2V0aF9saW5rIGxpbmssIG9sZDsNCiAJaW50IGVy ciA9IDA7DQogDQpAQCAtOTgwLDggKzExMTEsNiBAQCBhdGxfZGV2X2xpbmtfdXBkYXRlKHN0cnVj dCBydGVfZXRoX2RldiAqZGV2LCBpbnQgd2FpdCBfX3J0ZV91bnVzZWQpDQogCQlyZXR1cm4gMDsN CiAJfQ0KIA0KLQlpbnRyLT5mbGFncyAmPSB+QVRMX0ZMQUdfTkVFRF9MSU5LX0NPTkZJRzsNCi0N CiAJbGluay5saW5rX3N0YXR1cyA9IEVUSF9MSU5LX1VQOw0KIAlsaW5rLmxpbmtfZHVwbGV4ID0g RVRIX0xJTktfRlVMTF9EVVBMRVg7DQogCWxpbmsubGlua19zcGVlZCA9IGh3LT5hcV9saW5rX3N0 YXR1cy5tYnBzOw0KQEAgLTk5MSw2ICsxMTIwLDEwIEBAIGF0bF9kZXZfbGlua191cGRhdGUoc3Ry dWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIGludCB3YWl0IF9fcnRlX3VudXNlZCkNCiAJaWYgKGxpbmsu bGlua19zdGF0dXMgPT0gb2xkLmxpbmtfc3RhdHVzKQ0KIAkJcmV0dXJuIC0xOw0KIA0KKwlpZiAo cnRlX2VhbF9hbGFybV9zZXQoMTAwMCAqIDEwMDAsDQorCQkJICAgICAgYXRsX2Rldl9kZWxheWVk X2hhbmRsZXIsICh2b2lkICopZGV2KSA8IDApDQorCQlQTURfRFJWX0xPRyhFUlIsICJydGVfZWFs X2FsYXJtX3NldCBmYWlsIik7DQorDQogCXJldHVybiAwOw0KIH0NCiANCkBAIC0xMDY4LDggKzEy MDEsOSBAQCBhdGxfZGV2X2ludGVycnVwdF9nZXRfc3RhdHVzKHN0cnVjdCBydGVfZXRoX2RldiAq ZGV2KQ0KIAlod19hdGxfYjBfaHdfaXJxX3JlYWQoaHcsICZjYXVzZSk7DQogDQogCWF0bF9kaXNh YmxlX2ludHIoaHcpOw0KLQlpbnRyLT5mbGFncyA9IGNhdXNlICYgQklUKEFUTF9JUlFfQ0FVU0Vf TElOSykgPw0KLQkJCUFUTF9GTEFHX05FRURfTElOS19VUERBVEUgOiAwOw0KKw0KKwlpZiAoY2F1 c2UgJiBCSVQoQVRMX0lSUV9DQVVTRV9MSU5LKSkNCisJCWludHItPmZsYWdzIHw9IEFUTF9GTEFH X05FRURfTElOS19VUERBVEU7DQogDQogCXJldHVybiAwOw0KIH0NCkBAIC0xMTM0LDE1ICsxMjY4 LDUwIEBAIGF0bF9kZXZfaW50ZXJydXB0X2FjdGlvbihzdHJ1Y3QgcnRlX2V0aF9kZXYgKmRldiwN CiB7DQogCXN0cnVjdCBhdGxfaW50ZXJydXB0ICppbnRyID0NCiAJCUFUTF9ERVZfUFJJVkFURV9U T19JTlRSKGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUpOw0KKwlzdHJ1Y3QgYXRsX2FkYXB0ZXIgKmFk YXB0ZXIgPQ0KKwkJKHN0cnVjdCBhdGxfYWRhcHRlciAqKWRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7 DQorCXN0cnVjdCBhcV9od19zICpodyA9ICZhZGFwdGVyLT5odzsNCisNCisJaWYgKCEoaW50ci0+ ZmxhZ3MgJiBBVExfRkxBR19ORUVEX0xJTktfVVBEQVRFKSkNCisJCWdvdG8gZG9uZTsNCisNCisJ aW50ci0+ZmxhZ3MgJj0gfkFUTF9GTEFHX05FRURfTElOS19VUERBVEU7DQogDQotCWlmIChpbnRy LT5mbGFncyAmIEFUTF9GTEFHX05FRURfTElOS19VUERBVEUpIHsNCi0JCWF0bF9kZXZfbGlua191 cGRhdGUoZGV2LCAwKTsNCi0JCWludHItPmZsYWdzICY9IH5BVExfRkxBR19ORUVEX0xJTktfVVBE QVRFOw0KKwkvKiBOb3RpZnkgdXNlcmFwcCBpZiBsaW5rIHN0YXR1cyBjaGFuZ2VkICovDQorCWlm ICghYXRsX2Rldl9saW5rX3VwZGF0ZShkZXYsIDApKSB7DQogCQlhdGxfZGV2X2xpbmtfc3RhdHVz X3ByaW50KGRldik7DQogCQlfcnRlX2V0aF9kZXZfY2FsbGJhY2tfcHJvY2VzcyhkZXYsDQogCQkJ UlRFX0VUSF9FVkVOVF9JTlRSX0xTQywgTlVMTCk7DQorCX0gZWxzZSB7DQorCQlpZiAoaHctPmFx X2Z3X29wcy0+c2VuZF9tYWNzZWNfcmVxID09IE5VTEwpDQorCQkJZ290byBkb25lOw0KKw0KKwkJ LyogQ2hlY2sgbWFjc2VjIEtleXMgZXhwaXJlZCAqLw0KKwkJc3RydWN0IGdldF9zdGF0cyByZXEg PSB7IDAgfTsNCisJCXN0cnVjdCBtYWNzZWNfbXNnX2Z3X3JlcXVlc3QgbXNnID0geyAwIH07DQor CQlzdHJ1Y3QgbWFjc2VjX21zZ19md19yZXNwb25zZSByZXNwID0geyAwIH07DQorDQorCQlyZXEu aW5ncmVzc19zYV9pbmRleCA9IDB4MDsNCisJCXJlcS5lZ3Jlc3Nfc2NfaW5kZXggPSAweDA7DQor CQlyZXEuZWdyZXNzX3NhX2luZGV4ID0gMHgwOw0KKwkJbXNnLm1zZ190eXBlID0gbWFjc2VjX2dl dF9zdGF0c19tc2c7DQorCQltc2cuc3RhdHMgPSByZXE7DQorDQorCQlpbnQgZXJyID0gaHctPmFx X2Z3X29wcy0+c2VuZF9tYWNzZWNfcmVxKGh3LCAmbXNnLCAmcmVzcCk7DQorCQlpZiAoZXJyKSB7 DQorCQkJUE1EX0RSVl9MT0coRVJSLCAic2VuZF9tYWNzZWNfcmVxIGZhaWwiKTsNCisJCQlnb3Rv IGRvbmU7DQorCQl9DQorCQlpZiAocmVzcC5zdGF0cy5lZ3Jlc3NfdGhyZXNob2xkX2V4cGlyZWQg fHwNCisJCSAgICByZXNwLnN0YXRzLmluZ3Jlc3NfdGhyZXNob2xkX2V4cGlyZWQgfHwNCisJCSAg ICByZXNwLnN0YXRzLmVncmVzc19leHBpcmVkIHx8DQorCQkgICAgcmVzcC5zdGF0cy5pbmdyZXNz X2V4cGlyZWQpIHsNCisJCQlQTURfRFJWX0xPRyhJTkZPLCAiUlRFX0VUSF9FVkVOVF9NQUNTRUMi KTsNCisJCQlfcnRlX2V0aF9kZXZfY2FsbGJhY2tfcHJvY2VzcyhkZXYsDQorCQkJCVJURV9FVEhf RVZFTlRfTUFDU0VDLCBOVUxMKTsNCisJCX0NCiAJfQ0KLQ0KK2RvbmU6DQogCWF0bF9lbmFibGVf aW50cihkZXYpOw0KIAlydGVfaW50cl9lbmFibGUoaW50cl9oYW5kbGUpOw0KIA0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvbmV0L2F0bGFudGljL2F0bF9ldGhkZXYuaCBiL2RyaXZlcnMvbmV0L2F0bGFu dGljL2F0bF9ldGhkZXYuaA0KaW5kZXggYjE2MjEzOGM1OWQzLi5mNTQ3NTcxYjVjOTcgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9hdGxhbnRpYy9hdGxfZXRoZGV2LmgNCisrKyBiL2RyaXZlcnMv bmV0L2F0bGFudGljL2F0bF9ldGhkZXYuaA0KQEAgLTM0LDcgKzM0LDcgQEANCiAJKCYoKHN0cnVj dCBhdGxfYWRhcHRlciAqKWFkYXB0ZXIpLT5od19jZmcpDQogDQogI2RlZmluZSBBVExfRkxBR19O RUVEX0xJTktfVVBEQVRFICh1aW50MzJfdCkoMSA8PCAwKQ0KLSNkZWZpbmUgQVRMX0ZMQUdfTkVF RF9MSU5LX0NPTkZJRyAodWludDMyX3QpKDQgPDwgMCkNCisjZGVmaW5lIEFUTF9GTEFHX01BQ1NF QyAodWludDMyX3QpKDQgPDwgMCkNCiANCiBzdHJ1Y3QgYXRsX2ludGVycnVwdCB7DQogCXVpbnQz Ml90IGZsYWdzOw0KLS0gDQoyLjE3LjENCg0K