Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp146708rwr; Wed, 19 Apr 2023 04:49:45 -0700 (PDT) X-Google-Smtp-Source: AKy350ar97cLag12jFHDne4mrdS8xFHzGH9a9K4l3v6dUBZJko5HyBAepOscn4cMpEUGDfzZpEQM X-Received: by 2002:a17:90b:3a8b:b0:246:f9ff:8e70 with SMTP id om11-20020a17090b3a8b00b00246f9ff8e70mr2622265pjb.26.1681904985402; Wed, 19 Apr 2023 04:49:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681904985; cv=none; d=google.com; s=arc-20160816; b=ndXhvG3bHAe+oXnY+dpTtjIFikeDzr4lCagTw31QH4VUzjgg4iqTQuMo5qdgBWunrw a6vcZwjHZhf1bp3zVjdymBB6fhj9C6k9W65TuMcMBd5VuDX2cB6vJkuRMY16GIqdLSI+ UU0eUkk5U+dvzw1hdVu7mokNh89LmcKYTLiTTQ/v9IbKMwh+F8e06tJ9cE9CGuS5sQLV DWoFxzqsHWby+AzS0UiRblZvtMMo6R+E/vZ9hn3fBM7On2vzR10oN0ZO8yDQKP0/z04i sPhgiAobnB3bIJTNXprzHN8400/bZ7d3KStd+eqWqPP06lBXXaJE2T9v0veS1F8hUVwG hzXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:message-id :date:thread-index:thread-topic:subject:cc:to:from:authenticated-by; bh=8Dgu6fyAVyWxgQHrFEjyD6WmuN1mfw+L4IIgvetjc8Q=; b=nD7ZUzFk31I68nSqk1Y+2iM09Mxg9sxoyd3aaSBS9tyQBukW+QXmi4RqdKPn0A+ArU jDft3mmpB/xzx9zTJjKhbpaxLt75+U6ysDvF9Azw+R3OT63b93PN4KYWoULX8Ye4wMyn GaxHRWq6/nJ3tAplu1IofhbGjtRjdrEzo6Co8PMKogrhEM86NQuxdPj3FOKbrVyh1wH4 yk89d+thC9O2365dHeF6uSwzzadHi15XdcpLYdq0QLFfP7nipwiIjJeUbf32llRw0PIA zvuydhkeKyHmTuGAAfr4yH6DWJsEedyGdbmS+U9nZp4j693NcHAN52KWDJPv8yPcVVT4 vTxg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l71-20020a63884a000000b0051fbe2e438csi2941230pgd.293.2023.04.19.04.49.35; Wed, 19 Apr 2023 04:49:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-wireless-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232879AbjDSLqL (ORCPT + 64 others); Wed, 19 Apr 2023 07:46:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232955AbjDSLqJ (ORCPT ); Wed, 19 Apr 2023 07:46:09 -0400 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9F0CED330 for ; Wed, 19 Apr 2023 04:46:05 -0700 (PDT) Authenticated-By: X-SpamFilter-By: ArmorX SpamTrap 5.77 with qID 33JBjwAF3009736, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36506.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.81/5.90) with ESMTPS id 33JBjwAF3009736 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=OK); Wed, 19 Apr 2023 19:45:58 +0800 Received: from RTEXMBS03.realtek.com.tw (172.21.6.96) by RTEXH36506.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.17; Wed, 19 Apr 2023 19:45:58 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXMBS03.realtek.com.tw (172.21.6.96) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.7; Wed, 19 Apr 2023 19:45:58 +0800 Received: from RTEXMBS04.realtek.com.tw ([fe80::e138:e7f1:4709:ff4d]) by RTEXMBS04.realtek.com.tw ([fe80::e138:e7f1:4709:ff4d%5]) with mapi id 15.01.2375.007; Wed, 19 Apr 2023 19:45:58 +0800 From: Ping-Ke Shih To: "kvalo@kernel.org" CC: "linux-wireless@vger.kernel.org" , "Kevin Yang" Subject: [PATCH 3/5] wifi: rtw89: packet offload wait for FW response Thread-Topic: [PATCH 3/5] wifi: rtw89: packet offload wait for FW response Thread-Index: AQHZcrSB+bV+QcLlm0+YVpdfbG9JHA== Date: Wed, 19 Apr 2023 11:45:58 +0000 Message-ID: <9ae8c1f105901c65e3171276a9fd6c99ae51803f.camel@realtek.com> Accept-Language: en-US, zh-TW Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.36.1-2 x-originating-ip: [172.16.16.139] x-kse-serverinfo: RTEXMBS03.realtek.com.tw, 9 x-kse-antispam-interceptor-info: fallback x-kse-antivirus-interceptor-info: fallback Content-Type: text/plain; charset="utf-8" Content-ID: <3E393001AA069F4FAB7B023FA7177D14@realtek.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-KSE-AntiSpam-Interceptor-Info: fallback X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org RnJvbTogWm9uZy1aaGUgWWFuZyA8a2V2aW5feWFuZ0ByZWFsdGVrLmNvbT4NCg0KVGhlIEgyQ3Mg KGhvc3QgdG8gY2hpcCBwYWNrZXRzKSByZWxhdGVkIHRvIHBhY2tldCBvZmZsb2FkIGZ1bmN0aW9u cw0KbmVlZCB0byB3YWl0IGZvciBGVyByZXNwb25zZXMgaW4gY2FzZSBGVyBzdGF0ZSBtYWNoaW5l IGdldHMgd3JvbmcNCmFuZCBtYWtlcyBkcml2ZXIgc3RhdHVzIG5vIGxvbmdlciBhYmxlIHRvIGFs aWduIEZXIG9uZS4gSW4gZmxvdywNCmRyaXZlciBtYXkgY29udGludW91c2x5IHNlbmQgbXVsdGlw bGUgSDJDcyBvZiBwYWNrZXQgb2ZmbG9hZCBzZXJpZXMuDQpJZiBzb21laG93IEZXIGRvZXNuJ3Qg ZGVhbCB3aXRoIHRoZSBmb3JtZXIgeWV0IGJ1dCB0aGUgbGF0dGVyIGhhcw0KZ290dGVuIGluLCBp dCBtaWdodCBjYXVzZSB0aGUgcHJvYmxlbSBtZW50aW9uZWQgYWJvdmUuDQoNClNvLCB3ZSBibG9j ayB0aGVzZSBIMkNzIGJ5IHJ0dzg5X3dhaXRfZm9yX2NvbmQoKS4gQW5kIHRoZW4sIHdoZW4NCnRo ZSBjb3JyZXNwb25kaW5nIEMySHMgKGNoaXAgdG8gaG9zdCBwYWNrZXRzKSBpcyByZWNlaXZlZCwg d2UgY2FsbA0KcnR3ODlfY29tcGxldGVfY29uZCgpLiBCZXNpZGVzLCBSVFc4OV9NQUNfQzJIX0ZV TkNfUEtUX09GTERfUlNQJ3MNCkMySCBoYW5kbGVyIHNob3VsZCBiZSBleGVjdXRlZCBpbiBpbnRl cnJ1cHQgY29udGV4dCB0byBtYWtlIG91cg0Kd2FpdC9jb21wbGV0ZSBwcm9jZXNzIHdvcmsgYXMg ZXhwZWN0ZWQuDQoNClNpZ25lZC1vZmYtYnk6IFpvbmctWmhlIFlhbmcgPGtldmluX3lhbmdAcmVh bHRlay5jb20+DQpTaWduZWQtb2ZmLWJ5OiBQaW5nLUtlIFNoaWggPHBrc2hpaEByZWFsdGVrLmNv bT4NCi0tLQ0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvY29yZS5jIHwgIDEg Kw0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvY29yZS5oIHwgMTkgKysrKyst LS0tDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9mdy5jICAgfCAzNCArKysr KysrKystLS0tLS0tDQogZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9mdy5oICAg fCA0OCArKysrKysrKysrKysrKysrKy0tLS0tLQ0KIGRyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0 ZWsvcnR3ODkvbWFjLmMgIHwgMjIgKysrKysrKysrKy0NCiA1IGZpbGVzIGNoYW5nZWQsIDkwIGlu c2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQv d2lyZWxlc3MvcmVhbHRlay9ydHc4OS9jb3JlLmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFs dGVrL3J0dzg5L2NvcmUuYw0KaW5kZXggMjU0Y2IzNzEwNTRiMy4uNTY2OTNmM2Q2OWQzZiAxMDA2 NDQNCi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvY29yZS5jDQorKysg Yi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L2NvcmUuYw0KQEAgLTM1MjUsNiAr MzUyNSw3IEBAIGludCBydHc4OV9jb3JlX2luaXQoc3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2KQ0K IAlydHdkZXYtPnRvdGFsX3N0YV9hc3NvYyA9IDA7DQogDQogCXJ0dzg5X2luaXRfd2FpdCgmcnR3 ZGV2LT5tY2Mud2FpdCk7DQorCXJ0dzg5X2luaXRfd2FpdCgmcnR3ZGV2LT5tYWMuZndfb2ZsZF93 YWl0KTsNCiANCiAJSU5JVF9XT1JLKCZydHdkZXYtPmMyaF93b3JrLCBydHc4OV9md19jMmhfd29y ayk7DQogCUlOSVRfV09SSygmcnR3ZGV2LT5pcHNfd29yaywgcnR3ODlfaXBzX3dvcmspOw0KZGlm ZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvY29yZS5oIGIvZHJp dmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9jb3JlLmgNCmluZGV4IGQyYzBkNzk3MjIz NWEuLmRiMjFhODRlMDFjNmMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFs dGVrL3J0dzg5L2NvcmUuaA0KKysrIGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4 OS9jb3JlLmgNCkBAIC0zMjQ4LDE0ICszMjQ4LDYgQEAgZW51bSBydHc4OV9ob3N0X3Jwcl9tb2Rl IHsNCiAJUlRXODlfUlBSX01PREVfU1RGDQogfTsNCiANCi1zdHJ1Y3QgcnR3ODlfbWFjX2luZm8g ew0KLQlzdHJ1Y3QgcnR3ODlfZGxlX2luZm8gZGxlX2luZm87DQotCXN0cnVjdCBydHc4OV9oZmNf cGFyYW0gaGZjX3BhcmFtOw0KLQllbnVtIHJ0dzg5X3F0YV9tb2RlIHF0YV9tb2RlOw0KLQl1OCBy cHdtX3NlcV9udW07DQotCXU4IGNwd21fc2VxX251bTsNCi19Ow0KLQ0KICNkZWZpbmUgUlRXODlf Q09NUExFVElPTl9CVUZfU0laRSAyNA0KICNkZWZpbmUgUlRXODlfV0FJVF9DT05EX0lETEUgVUlO VF9NQVgNCiANCkBAIC0zMjc4LDYgKzMyNzAsMTcgQEAgc3RhdGljIGlubGluZSB2b2lkIHJ0dzg5 X2luaXRfd2FpdChzdHJ1Y3QgcnR3ODlfd2FpdF9pbmZvICp3YWl0KQ0KIAlhdG9taWNfc2V0KCZ3 YWl0LT5jb25kLCBSVFc4OV9XQUlUX0NPTkRfSURMRSk7DQogfQ0KIA0KK3N0cnVjdCBydHc4OV9t YWNfaW5mbyB7DQorCXN0cnVjdCBydHc4OV9kbGVfaW5mbyBkbGVfaW5mbzsNCisJc3RydWN0IHJ0 dzg5X2hmY19wYXJhbSBoZmNfcGFyYW07DQorCWVudW0gcnR3ODlfcXRhX21vZGUgcXRhX21vZGU7 DQorCXU4IHJwd21fc2VxX251bTsNCisJdTggY3B3bV9zZXFfbnVtOw0KKw0KKwkvKiBzZWUgUlRX ODlfRldfT0ZMRF9XQUlUX0NPTkQgc2VyaWVzIGZvciB3YWl0IGNvbmRpdGlvbiAqLw0KKwlzdHJ1 Y3QgcnR3ODlfd2FpdF9pbmZvIGZ3X29mbGRfd2FpdDsNCit9Ow0KKw0KIGVudW0gcnR3ODlfZndf dHlwZSB7DQogCVJUVzg5X0ZXX05PUk1BTCA9IDEsDQogCVJUVzg5X0ZXX1dPV0xBTiA9IDMsDQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9mdy5jIGIvZHJp dmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4OS9mdy5jDQppbmRleCAyMzkwYmNiM2I0NmE4 Li44NGUwNGI1YTVmMDA0IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRl ay9ydHc4OS9mdy5jDQorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9yZWFsdGVrL3J0dzg5L2Z3 LmMNCkBAIC0xNCw2ICsxNCw4IEBADQogDQogc3RhdGljIHZvaWQgcnR3ODlfZndfYzJoX2NtZF9o YW5kbGUoc3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2LA0KIAkJCQkgICAgc3RydWN0IHNrX2J1ZmYg KnNrYik7DQorc3RhdGljIGludCBydHc4OV9oMmNfdHhfYW5kX3dhaXQoc3RydWN0IHJ0dzg5X2Rl diAqcnR3ZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLA0KKwkJCQkgc3RydWN0IHJ0dzg5X3dhaXRf aW5mbyAqd2FpdCwgdW5zaWduZWQgaW50IGNvbmQpOw0KIA0KIHN0YXRpYyBzdHJ1Y3Qgc2tfYnVm ZiAqcnR3ODlfZndfaDJjX2FsbG9jX3NrYihzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYsIHUzMiBs ZW4sDQogCQkJCQkgICAgICBib29sIGhlYWRlcikNCkBAIC0yNDQwLDcgKzI0NDIsOSBAQCBpbnQg cnR3ODlfZndfaDJjX2N4ZHJ2X3JmayhzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYpDQogI2RlZmlu ZSBIMkNfTEVOX1BLVF9PRkxEIDQNCiBpbnQgcnR3ODlfZndfaDJjX2RlbF9wa3Rfb2ZmbG9hZChz dHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYsIHU4IGlkKQ0KIHsNCisJc3RydWN0IHJ0dzg5X3dhaXRf aW5mbyAqd2FpdCA9ICZydHdkZXYtPm1hYy5md19vZmxkX3dhaXQ7DQogCXN0cnVjdCBza19idWZm ICpza2I7DQorCXVuc2lnbmVkIGludCBjb25kOw0KIAl1OCAqY21kOw0KIAlpbnQgcmV0Ow0KIA0K QEAgLTI0NjAsMjQgKzI0NjQsMjYgQEAgaW50IHJ0dzg5X2Z3X2gyY19kZWxfcGt0X29mZmxvYWQo c3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2LCB1OCBpZCkNCiAJCQkgICAgICBIMkNfRlVOQ19QQUNL RVRfT0ZMRCwgMSwgMSwNCiAJCQkgICAgICBIMkNfTEVOX1BLVF9PRkxEKTsNCiANCi0JcmV0ID0g cnR3ODlfaDJjX3R4KHJ0d2Rldiwgc2tiLCBmYWxzZSk7DQorCWNvbmQgPSBSVFc4OV9GV19PRkxE X1dBSVRfQ09ORF9QS1RfT0ZMRChpZCwgUlRXODlfUEtUX09GTERfT1BfREVMKTsNCisNCisJcmV0 ID0gcnR3ODlfaDJjX3R4X2FuZF93YWl0KHJ0d2Rldiwgc2tiLCB3YWl0LCBjb25kKTsNCiAJaWYg KHJldCkgew0KLQkJcnR3ODlfZXJyKHJ0d2RldiwgImZhaWxlZCB0byBzZW5kIGgyY1xuIik7DQot CQlnb3RvIGZhaWw7DQorCQlydHc4OV9kZWJ1ZyhydHdkZXYsIFJUVzg5X0RCR19GVywNCisJCQkg ICAgImZhaWxlZCB0byBkZWwgcGt0IG9mbGQ6IGlkICVkLCByZXQgJWRcbiIsDQorCQkJICAgIGlk LCByZXQpOw0KKwkJcmV0dXJuIHJldDsNCiAJfQ0KIA0KIAlydHc4OV9jb3JlX3JlbGVhc2VfYml0 X21hcChydHdkZXYtPnBrdF9vZmZsb2FkLCBpZCk7DQogCXJldHVybiAwOw0KLWZhaWw6DQotCWRl dl9rZnJlZV9za2JfYW55KHNrYik7DQotDQotCXJldHVybiByZXQ7DQogfQ0KIA0KIGludCBydHc4 OV9md19oMmNfYWRkX3BrdF9vZmZsb2FkKHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldiwgdTggKmlk LA0KIAkJCQkgc3RydWN0IHNrX2J1ZmYgKnNrYl9vZmxkKQ0KIHsNCisJc3RydWN0IHJ0dzg5X3dh aXRfaW5mbyAqd2FpdCA9ICZydHdkZXYtPm1hYy5md19vZmxkX3dhaXQ7DQogCXN0cnVjdCBza19i dWZmICpza2I7DQorCXVuc2lnbmVkIGludCBjb25kOw0KIAl1OCAqY21kOw0KIAl1OCBhbGxvY19p ZDsNCiAJaW50IHJldDsNCkBAIC0yNTA4LDE4ICsyNTE0LDE4IEBAIGludCBydHc4OV9md19oMmNf YWRkX3BrdF9vZmZsb2FkKHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldiwgdTggKmlkLA0KIAkJCSAg ICAgIEgyQ19GVU5DX1BBQ0tFVF9PRkxELCAxLCAxLA0KIAkJCSAgICAgIEgyQ19MRU5fUEtUX09G TEQgKyBza2Jfb2ZsZC0+bGVuKTsNCiANCi0JcmV0ID0gcnR3ODlfaDJjX3R4KHJ0d2Rldiwgc2ti LCBmYWxzZSk7DQorCWNvbmQgPSBSVFc4OV9GV19PRkxEX1dBSVRfQ09ORF9QS1RfT0ZMRChhbGxv Y19pZCwgUlRXODlfUEtUX09GTERfT1BfQUREKTsNCisNCisJcmV0ID0gcnR3ODlfaDJjX3R4X2Fu ZF93YWl0KHJ0d2Rldiwgc2tiLCB3YWl0LCBjb25kKTsNCiAJaWYgKHJldCkgew0KLQkJcnR3ODlf ZXJyKHJ0d2RldiwgImZhaWxlZCB0byBzZW5kIGgyY1xuIik7DQorCQlydHc4OV9kZWJ1ZyhydHdk ZXYsIFJUVzg5X0RCR19GVywNCisJCQkgICAgImZhaWxlZCB0byBhZGQgcGt0IG9mbGQ6IGlkICVk LCByZXQgJWRcbiIsDQorCQkJICAgIGFsbG9jX2lkLCByZXQpOw0KIAkJcnR3ODlfY29yZV9yZWxl YXNlX2JpdF9tYXAocnR3ZGV2LT5wa3Rfb2ZmbG9hZCwgYWxsb2NfaWQpOw0KLQkJZ290byBmYWls Ow0KKwkJcmV0dXJuIHJldDsNCiAJfQ0KIA0KIAlyZXR1cm4gMDsNCi1mYWlsOg0KLQlkZXZfa2Zy ZWVfc2tiX2FueShza2IpOw0KLQ0KLQlyZXR1cm4gcmV0Ow0KIH0NCiANCiAjZGVmaW5lIEgyQ19M RU5fU0NBTl9MSVNUX09GRkxPQUQgNA0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNz L3JlYWx0ZWsvcnR3ODkvZncuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkv ZncuaA0KaW5kZXggNzRhNjkxZTM1Mjg3OC4uYjdjOGY2ZjA1MDZkZSAxMDA2NDQNCi0tLSBhL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvZncuaA0KKysrIGIvZHJpdmVycy9uZXQv d2lyZWxlc3MvcmVhbHRlay9ydHc4OS9mdy5oDQpAQCAtMTM4LDggKzEzOCwxMyBAQCBlbnVtIHJ0 dzg5X3BrdF9vZmZsb2FkX29wIHsNCiAJUlRXODlfUEtUX09GTERfT1BfQURELA0KIAlSVFc4OV9Q S1RfT0ZMRF9PUF9ERUwsDQogCVJUVzg5X1BLVF9PRkxEX09QX1JFQUQsDQorDQorCU5VTV9PRl9S VFc4OV9QS1RfT0ZGTE9BRF9PUCwNCiB9Ow0KIA0KKyNkZWZpbmUgUlRXODlfUEtUX09GTERfV0FJ VF9UQUcocGt0X2lkLCBwa3Rfb3ApIFwNCisJKChwa3RfaWQpICogTlVNX09GX1JUVzg5X1BLVF9P RkZMT0FEX09QICsgKHBrdF9vcCkpDQorDQogZW51bSBydHc4OV9zY2Fub2ZsZF9ub3RpZnlfcmVh c29uIHsNCiAJUlRXODlfU0NBTl9EV0VMTF9OT1RJRlksDQogCVJUVzg5X1NDQU5fUFJFX1RYX05P VElGWSwNCkBAIC0zMzQwLDYgKzMzNDUsMTYgQEAgc3RhdGljX2Fzc2VydChzaXplb2Yoc3RydWN0 IHJ0dzg5X21hY19tY2NfdHNmX3JwdCkgPD0gUlRXODlfQ09NUExFVElPTl9CVUZfU0laRSkNCiAj ZGVmaW5lIFJUVzg5X0dFVF9NQUNfQzJIX01DQ19TVEFUVVNfUlBUX1RTRl9ISUdIKGMyaCkgXA0K IAlsZTMyX2dldF9iaXRzKCooKGNvbnN0IF9fbGUzMiAqKShjMmgpICsgNCksIEdFTk1BU0soMzEs IDApKQ0KIA0KK3N0cnVjdCBydHc4OV9jMmhfcGt0X29mbGRfcnNwIHsNCisJX19sZTMyIHcwOw0K KwlfX2xlMzIgdzE7DQorCV9fbGUzMiB3MjsNCit9IF9fcGFja2VkOw0KKw0KKyNkZWZpbmUgUlRX ODlfQzJIX1BLVF9PRkxEX1JTUF9XMl9QVEtfSUQgR0VOTUFTSyg3LCAwKQ0KKyNkZWZpbmUgUlRX ODlfQzJIX1BLVF9PRkxEX1JTUF9XMl9QVEtfT1AgR0VOTUFTSygxMCwgOCkNCisjZGVmaW5lIFJU Vzg5X0MySF9QS1RfT0ZMRF9SU1BfVzJfUFRLX0xFTiBHRU5NQVNLKDMxLCAxNikNCisNCiBzdHJ1 Y3QgcnR3ODlfaDJjX2JjbmZsdHIgew0KIAlfX2xlMzIgdzA7DQogfSBfX3BhY2tlZDsNCkBAIC0z NDk4LDE3ICszNTEzLDI4IEBAIHN0cnVjdCBydHc4OV9md19oMmNfcmZfcmVnX2luZm8gew0KIA0K IC8qIENMQVNTIDkgLSBGVyBvZmZsb2FkICovDQogI2RlZmluZSBIMkNfQ0xfTUFDX0ZXX09GTEQJ CTB4OQ0KLSNkZWZpbmUgSDJDX0ZVTkNfUEFDS0VUX09GTEQJCTB4MQ0KLSNkZWZpbmUgSDJDX0ZV TkNfTUFDX01BQ0lEX1BBVVNFCTB4OA0KLSNkZWZpbmUgSDJDX0ZVTkNfVVNSX0VEQ0EJCTB4Rg0K LSNkZWZpbmUgSDJDX0ZVTkNfVFNGMzJfVE9HTAkJMHgxMA0KLSNkZWZpbmUgSDJDX0ZVTkNfT0ZM RF9DRkcJCTB4MTQNCi0jZGVmaW5lIEgyQ19GVU5DX0FERF9TQ0FOT0ZMRF9DSAkweDE2DQotI2Rl ZmluZSBIMkNfRlVOQ19TQ0FOT0ZMRAkJMHgxNw0KLSNkZWZpbmUgSDJDX0ZVTkNfUEtUX0RST1AJ CTB4MWINCi0jZGVmaW5lIEgyQ19GVU5DX0NGR19CQ05GTFRSCQkweDFlDQotI2RlZmluZSBIMkNf RlVOQ19PRkxEX1JTU0kJCTB4MWYNCi0jZGVmaW5lIEgyQ19GVU5DX09GTERfVFAJCTB4MjANCitl bnVtIHJ0dzg5X2Z3X29mbGRfaDJjX2Z1bmMgew0KKwlIMkNfRlVOQ19QQUNLRVRfT0ZMRAkJPSAw eDEsDQorCUgyQ19GVU5DX01BQ19NQUNJRF9QQVVTRQk9IDB4OCwNCisJSDJDX0ZVTkNfVVNSX0VE Q0EJCT0gMHhGLA0KKwlIMkNfRlVOQ19UU0YzMl9UT0dMCQk9IDB4MTAsDQorCUgyQ19GVU5DX09G TERfQ0ZHCQk9IDB4MTQsDQorCUgyQ19GVU5DX0FERF9TQ0FOT0ZMRF9DSAk9IDB4MTYsDQorCUgy Q19GVU5DX1NDQU5PRkxECQk9IDB4MTcsDQorCUgyQ19GVU5DX1BLVF9EUk9QCQk9IDB4MWIsDQor CUgyQ19GVU5DX0NGR19CQ05GTFRSCQk9IDB4MWUsDQorCUgyQ19GVU5DX09GTERfUlNTSQkJPSAw eDFmLA0KKwlIMkNfRlVOQ19PRkxEX1RQCQk9IDB4MjAsDQorDQorCU5VTV9PRl9SVFc4OV9GV19P RkxEX0gyQ19GVU5DLA0KK307DQorDQorI2RlZmluZSBSVFc4OV9GV19PRkxEX1dBSVRfQ09ORCh0 YWcsIGZ1bmMpIFwNCisJKCh0YWcpICogTlVNX09GX1JUVzg5X0ZXX09GTERfSDJDX0ZVTkMgKyAo ZnVuYykpDQorDQorI2RlZmluZSBSVFc4OV9GV19PRkxEX1dBSVRfQ09ORF9QS1RfT0ZMRChwa3Rf aWQsIHBrdF9vcCkgXA0KKwlSVFc4OV9GV19PRkxEX1dBSVRfQ09ORChSVFc4OV9QS1RfT0ZMRF9X QUlUX1RBRyhwa3RfaWQsIHBrdF9vcCksIFwNCisJCQkJSDJDX0ZVTkNfUEFDS0VUX09GTEQpDQog DQogLyogQ0xBU1MgMTAgLSBTZWN1cml0eSBDQU0gKi8NCiAjZGVmaW5lIEgyQ19DTF9NQUNfU0VD X0NBTQkJMHhhDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvcmVhbHRlay9ydHc4 OS9tYWMuYyBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL3JlYWx0ZWsvcnR3ODkvbWFjLmMNCmluZGV4 IDliNDdkODBiOTAwYjAuLmVlMGQxZTQyMzI5N2IgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9yZWFsdGVrL3J0dzg5L21hYy5jDQorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9y ZWFsdGVrL3J0dzg5L21hYy5jDQpAQCAtNDM1Niw5ICs0MzU2LDIyIEBAIHJ0dzg5X21hY19jMmhf YmNuX2NudChzdHJ1Y3QgcnR3ODlfZGV2ICpydHdkZXYsIHN0cnVjdCBza19idWZmICpjMmgsIHUz MiBsZW4pDQogfQ0KIA0KIHN0YXRpYyB2b2lkDQotcnR3ODlfbWFjX2MyaF9wa3Rfb2ZsZF9yc3Ao c3RydWN0IHJ0dzg5X2RldiAqcnR3ZGV2LCBzdHJ1Y3Qgc2tfYnVmZiAqYzJoLA0KK3J0dzg5X21h Y19jMmhfcGt0X29mbGRfcnNwKHN0cnVjdCBydHc4OV9kZXYgKnJ0d2Rldiwgc3RydWN0IHNrX2J1 ZmYgKnNrYl9jMmgsDQogCQkJICAgdTMyIGxlbikNCiB7DQorCXN0cnVjdCBydHc4OV93YWl0X2lu Zm8gKndhaXQgPSAmcnR3ZGV2LT5tYWMuZndfb2ZsZF93YWl0Ow0KKwljb25zdCBzdHJ1Y3QgcnR3 ODlfYzJoX3BrdF9vZmxkX3JzcCAqYzJoID0NCisJCShjb25zdCBzdHJ1Y3QgcnR3ODlfYzJoX3Br dF9vZmxkX3JzcCAqKXNrYl9jMmgtPmRhdGE7DQorCXUxNiBwa3RfbGVuID0gbGUzMl9nZXRfYml0 cyhjMmgtPncyLCBSVFc4OV9DMkhfUEtUX09GTERfUlNQX1cyX1BUS19MRU4pOw0KKwl1OCBwa3Rf aWQgPSBsZTMyX2dldF9iaXRzKGMyaC0+dzIsIFJUVzg5X0MySF9QS1RfT0ZMRF9SU1BfVzJfUFRL X0lEKTsNCisJdTggcGt0X29wID0gbGUzMl9nZXRfYml0cyhjMmgtPncyLCBSVFc4OV9DMkhfUEtU X09GTERfUlNQX1cyX1BUS19PUCk7DQorCXN0cnVjdCBydHc4OV9jb21wbGV0aW9uX2RhdGEgZGF0 YSA9IHt9Ow0KKwl1bnNpZ25lZCBpbnQgY29uZDsNCisNCisJZGF0YS5lcnIgPSAhcGt0X2xlbjsN CisJY29uZCA9IFJUVzg5X0ZXX09GTERfV0FJVF9DT05EX1BLVF9PRkxEKHBrdF9pZCwgcGt0X29w KTsNCisNCisJcnR3ODlfY29tcGxldGVfY29uZCh3YWl0LCBjb25kLCAmZGF0YSk7DQogfQ0KIA0K IHN0YXRpYyB2b2lkDQpAQCAtNDU2Niw2ICs0NTc5LDEzIEBAIGJvb2wgcnR3ODlfbWFjX2MyaF9j aGtfYXRvbWljKHN0cnVjdCBydHc4OV9kZXYgKnJ0d2RldiwgdTggY2xhc3MsIHU4IGZ1bmMpDQog CXN3aXRjaCAoY2xhc3MpIHsNCiAJZGVmYXVsdDoNCiAJCXJldHVybiBmYWxzZTsNCisJY2FzZSBS VFc4OV9NQUNfQzJIX0NMQVNTX09GTEQ6DQorCQlzd2l0Y2ggKGZ1bmMpIHsNCisJCWRlZmF1bHQ6 DQorCQkJcmV0dXJuIGZhbHNlOw0KKwkJY2FzZSBSVFc4OV9NQUNfQzJIX0ZVTkNfUEtUX09GTERf UlNQOg0KKwkJCXJldHVybiB0cnVlOw0KKwkJfQ0KIAljYXNlIFJUVzg5X01BQ19DMkhfQ0xBU1Nf TUNDOg0KIAkJcmV0dXJuIHRydWU7DQogCX0NCi0tIA0KMi4yNS4xDQo=