Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp176289ybz; Wed, 15 Apr 2020 06:44:07 -0700 (PDT) X-Google-Smtp-Source: APiQypJWWDaZOjG+fPUbsCMmsncnt6KaMaO6s12v2csPvy5G0Hfnh3oX+ERSeJKopbckUN3ERpuU X-Received: by 2002:a05:6402:1c99:: with SMTP id cy25mr26341695edb.78.1586958247207; Wed, 15 Apr 2020 06:44:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586958247; cv=none; d=google.com; s=arc-20160816; b=svk4bk9WfPqrdHJOIKfjuITXbLzMMa3nx3FliefWZq/FbvCOCXRx5c1yBAiTNMUw7t lP8iKZSu7kEvICKE1RP3IZVxdAalrZbD6WUSXXwzApkhenwREItEjwCsg1Rv7l7q8KOT EQ+Mhlh4IyheiBNhNXndxf5hOpdJmuAYvlbyhIzQZ+3dl+Qb7G9uAWYLBjdGCLbdSKNL gQp99a+3rpBhOjcCntb4DgDvPqNa6jyoklLzSPtEZwnn7CD5wGUz45SO/bZplKclLw8u Rs9YlcC5jjJzjjrOsUYKuTEcN3N5HV+nMyBcfoG/A/3u9JRKSPXUNgZkBnb+Re4I7GU9 a2BA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=YJoiPmA/XtxnEu5157ASSB7WKmR2A9Yoz73nkh5jgPg=; b=z8uQUf7sXZRSZydruRNJ9hy3gPoAQPlIZgsMvMDYi0moAwBMsWgNl3UJpojJc2w+RB WoyrbY10VYSZ14//vQh+a7jVqFHzvkPRBrJHY5AtaqS+8u2l3uroYVncKgMHHopn2H0I bPGXI+6S/a65vMS3YX7QZe98TgweOAu1Q5NFsmBPjfyqDf8slvtN5/BbkccdNtmF1PHZ 3ECqjBYMDuLf48zTNn8vlmtMS0Vcsy3SdZfe9M1p1yHaqglqtWRSxUiKnaanjwVzL1d/ o9L+UWinlb0D2e36sM5/vge7I9iXK6Ay8wrcJ4WIRlo16w6viAg6o/FdCtOgRQMcQqfg lJhA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=dwiKAWpf; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b12si11233535edy.329.2020.04.15.06.43.43; Wed, 15 Apr 2020 06:44:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=dwiKAWpf; spf=pass (google.com: best guess record for domain of linux-wireless-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-wireless-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2633613AbgDNVDM (ORCPT + 99 others); Tue, 14 Apr 2020 17:03:12 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:3408 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S2633578AbgDNVB6 (ORCPT ); Tue, 14 Apr 2020 17:01:58 -0400 X-UUID: 61a8cbdc1f624fc083017a1fb4c4014a-20200415 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=YJoiPmA/XtxnEu5157ASSB7WKmR2A9Yoz73nkh5jgPg=; b=dwiKAWpf2rb1klal9qySqFA3j06dByTWFJ5DvFYqBfbtX+Iy9sO1hPqMhpRiklrJQwu6674JUTUsP5fdaIlGBJ98If8VbnPxZbCkcyPmz0kcLG5a4XLWamSt/zRfwigYxnNwWyysEuI9cj36nJNmtBhOXcjbKemurvOtOOe+yHU=; X-UUID: 61a8cbdc1f624fc083017a1fb4c4014a-20200415 Received: from mtkcas06.mediatek.inc [(172.21.101.30)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1701283352; Wed, 15 Apr 2020 05:01:34 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs02n2.mediatek.inc (172.21.101.101) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 15 Apr 2020 05:01:32 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 15 Apr 2020 05:01:30 +0800 From: Ryder Lee To: Felix Fietkau , Lorenzo Bianconi CC: Shayne Chen , YF Luo , Yiwei Chung , Chih-Min Chen , Evelyn Tsai , Sean Wang , , , Ryder Lee Subject: [PATCH v2 11/18] mt76: mt7915: add HE capabilities support for peers Date: Wed, 15 Apr 2020 05:01:09 +0800 Message-ID: X-Mailer: git-send-email 2.18.0 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: 39A99E82BC2614AB1E0F2EA5289078CE600204031E007E30EA9CE0361CAFEA6E2000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-wireless-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org U2V0IHBlZXIncyBic2ljIEhFIGNhcGFiaWxpdGllcyB0aHJvdWdoIHN0YXJlYy4NCg0KU2lnbmVk LW9mZi1ieTogUnlkZXIgTGVlIDxyeWRlci5sZWVAbWVkaWF0ZWsuY29tPg0KU3VnZ2VzdGVkLWJ5 OiBTaGlod2VpIExpbiA8c2hpaHdlaS5saW5AbWVkaWF0ZWsuY29tPg0KVGVzdGVkLWJ5OiBTaGF5 bmUgQ2hlbiA8c2hheW5lLmNoZW5AbWVkaWF0ZWsuY29tPg0KVGVzdGVkLWJ5OiBDaGloLU1pbiBD aGVuIDxjaGloLW1pbi5jaGVuQG1lZGlhdGVrLmNvbT4NClRlc3RlZC1ieTogRXZlbHluIFRzYWkg PGV2ZWx5bi50c2FpQG1lZGlhdGVrLmNvbT4NCkFja2VkLWJ5OiBZaXdlaSBDaHVuZyA8eWl3ZWku Y2h1bmdAbWVkaWF0ZWsuY29tPg0KQWNrZWQtYnk6IFlGIEx1byA8eWYubHVvQG1lZGlhdGVrLmNv bT4NCi0tLQ0KIC4uLi9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWN1LmMgICB8 IDE5NyArKysrKysrKysrKysrKysrKysNCiAuLi4vbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYv bXQ3OTE1L21jdS5oICAgfCAxMDAgKysrKysrKysrDQogMiBmaWxlcyBjaGFuZ2VkLCAyOTcgaW5z ZXJ0aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsv bXQ3Ni9tdDc5MTUvbWN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210 NzkxNS9tY3UuYw0KaW5kZXggNzgzMWQ0ZjcwMGQwLi5lMTkxYzc5YzI1MGUgMTAwNjQ0DQotLS0g YS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3UuYw0KKysrIGIv ZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc5MTUvbWN1LmMNCkBAIC04NSw2 ICs4NSw5IEBAIHN0cnVjdCBtdDc5MTVfZndfcmVnaW9uIHsNCiAjZGVmaW5lIHRvX3djaWRfbG8o aWQpCQkJRklFTERfR0VUKEdFTk1BU0soNywgMCksICh1MTYpaWQpDQogI2RlZmluZSB0b193Y2lk X2hpKGlkKQkJCUZJRUxEX0dFVChHRU5NQVNLKDksIDgpLCAodTE2KWlkKQ0KIA0KKyNkZWZpbmUg SEVfUEhZKHAsIGMpCQkJdThfZ2V0X2JpdHMoYywgSUVFRTgwMjExX0hFX1BIWV8jI3ApDQorI2Rl ZmluZSBIRV9NQUMobSwgYykJCQl1OF9nZXRfYml0cyhjLCBJRUVFODAyMTFfSEVfTUFDXyMjbSkN CisNCiBzdGF0aWMgZW51bSBtdDc5MTVfY2lwaGVyX3R5cGUNCiBtdDc5MTVfbWN1X2dldF9jaXBo ZXIoaW50IGNpcGhlcikNCiB7DQpAQCAtMTIzNCw2ICsxMjM3LDE4NyBAQCBtdDc5MTVfbWN1X3N0 YV9iYXNpY190bHYoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IGllZWU4MDIxMV92aWYgKnZp ZiwNCiAJYmFzaWMtPnFvcyA9IHN0YS0+d21lOw0KIH0NCiANCitzdGF0aWMgdm9pZA0KK210Nzkx NV9tY3Vfc3RhX2hlX3RsdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgaWVlZTgwMjExX3N0 YSAqc3RhKQ0KK3sNCisJc3RydWN0IGllZWU4MDIxMV9zdGFfaGVfY2FwICpoZV9jYXAgPSAmc3Rh LT5oZV9jYXA7DQorCXN0cnVjdCBpZWVlODAyMTFfaGVfY2FwX2VsZW0gKmVsZW0gPSAmaGVfY2Fw LT5oZV9jYXBfZWxlbTsNCisJc3RydWN0IHN0YV9yZWNfaGUgKmhlOw0KKwlzdHJ1Y3QgdGx2ICp0 bHY7DQorCXUzMiBjYXAgPSAwOw0KKw0KKwl0bHYgPSBtdDc5MTVfbWN1X2FkZF90bHYoc2tiLCBT VEFfUkVDX0hFLCBzaXplb2YoKmhlKSk7DQorDQorCWhlID0gKHN0cnVjdCBzdGFfcmVjX2hlICop dGx2Ow0KKw0KKwlpZiAoZWxlbS0+bWFjX2NhcF9pbmZvWzBdICYgSUVFRTgwMjExX0hFX01BQ19D QVAwX0hUQ19IRSkNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9IVEM7DQorDQorCWlmIChlbGVt LT5tYWNfY2FwX2luZm9bMl0gJiBJRUVFODAyMTFfSEVfTUFDX0NBUDJfQlNSKQ0KKwkJY2FwIHw9 IFNUQV9SRUNfSEVfQ0FQX0JTUjsNCisNCisJaWYgKGVsZW0tPm1hY19jYXBfaW5mb1szXSAmIElF RUU4MDIxMV9IRV9NQUNfQ0FQM19PTUlfQ09OVFJPTCkNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NB UF9PTTsNCisNCisJaWYgKGVsZW0tPm1hY19jYXBfaW5mb1s0XSAmIElFRUU4MDIxMV9IRV9NQUNf Q0FQNF9BTURTVV9JTl9BTVBEVSkNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9BTVNEVV9JTl9B TVBEVTsNCisNCisJaWYgKGVsZW0tPm1hY19jYXBfaW5mb1s0XSAmIElFRUU4MDIxMV9IRV9NQUNf Q0FQNF9CUVIpDQorCQljYXAgfD0gU1RBX1JFQ19IRV9DQVBfQlFSOw0KKw0KKwlpZiAoZWxlbS0+ cGh5X2NhcF9pbmZvWzBdICYNCisJICAgIChJRUVFODAyMTFfSEVfUEhZX0NBUDBfQ0hBTk5FTF9X SURUSF9TRVRfUlVfTUFQUElOR19JTl8yRyB8DQorCSAgICAgSUVFRTgwMjExX0hFX1BIWV9DQVAw X0NIQU5ORUxfV0lEVEhfU0VUX1JVX01BUFBJTkdfSU5fNUcpKQ0KKwkJY2FwIHw9IFNUQV9SRUNf SEVfQ0FQX0JXMjBfUlUyNDJfU1VQUE9SVDsNCisNCisJaWYgKGVsZW0tPnBoeV9jYXBfaW5mb1sx XSAmDQorCSAgICBJRUVFODAyMTFfSEVfUEhZX0NBUDFfTERQQ19DT0RJTkdfSU5fUEFZTE9BRCkN CisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9MRFBDOw0KKw0KKwlpZiAoZWxlbS0+cGh5X2NhcF9p bmZvWzFdICYNCisJICAgIElFRUU4MDIxMV9IRV9QSFlfQ0FQMV9IRV9MVEZfQU5EX0dJX0ZPUl9I RV9QUERVU18wXzhVUykNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9TVV9QUERVXzFMVEZfOFVT X0dJOw0KKw0KKwlpZiAoZWxlbS0+cGh5X2NhcF9pbmZvWzJdICYNCisJICAgIElFRUU4MDIxMV9I RV9QSFlfQ0FQMl9ORFBfNHhfTFRGX0FORF8zXzJVUykNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NB UF9ORFBfNExURl8zRE9UMk1TX0dJOw0KKw0KKwlpZiAoZWxlbS0+cGh5X2NhcF9pbmZvWzJdICYN CisJICAgIElFRUU4MDIxMV9IRV9QSFlfQ0FQMl9TVEJDX1RYX1VOREVSXzgwTUhaKQ0KKwkJY2Fw IHw9IFNUQV9SRUNfSEVfQ0FQX0xFX0VRXzgwTV9UWF9TVEJDOw0KKw0KKwlpZiAoZWxlbS0+cGh5 X2NhcF9pbmZvWzJdICYNCisJICAgIElFRUU4MDIxMV9IRV9QSFlfQ0FQMl9TVEJDX1JYX1VOREVS XzgwTUhaKQ0KKwkJY2FwIHw9IFNUQV9SRUNfSEVfQ0FQX0xFX0VRXzgwTV9SWF9TVEJDOw0KKw0K KwlpZiAoZWxlbS0+cGh5X2NhcF9pbmZvWzZdICYNCisJICAgIElFRUU4MDIxMV9IRV9QSFlfQ0FQ Nl9QQVJUSUFMX0JXX0VYVF9SQU5HRSkNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9QQVJUSUFM X0JXX0VYVF9SQU5HRTsNCisNCisJaWYgKGVsZW0tPnBoeV9jYXBfaW5mb1s3XSAmDQorCSAgICBJ RUVFODAyMTFfSEVfUEhZX0NBUDdfSEVfU1VfTVVfUFBEVV80WExURl9BTkRfMDhfVVNfR0kpDQor CQljYXAgfD0gU1RBX1JFQ19IRV9DQVBfU1VfTVVfUFBEVV80TFRGXzhVU19HSTsNCisNCisJaWYg KGVsZW0tPnBoeV9jYXBfaW5mb1s3XSAmDQorCSAgICBJRUVFODAyMTFfSEVfUEhZX0NBUDdfU1RC Q19UWF9BQk9WRV84ME1IWikNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9HVF84ME1fVFhfU1RC QzsNCisNCisJaWYgKGVsZW0tPnBoeV9jYXBfaW5mb1s3XSAmDQorCSAgICBJRUVFODAyMTFfSEVf UEhZX0NBUDdfU1RCQ19SWF9BQk9WRV84ME1IWikNCisJCWNhcCB8PSBTVEFfUkVDX0hFX0NBUF9H VF84ME1fUlhfU1RCQzsNCisNCisJaWYgKGVsZW0tPnBoeV9jYXBfaW5mb1s4XSAmDQorCSAgICBJ RUVFODAyMTFfSEVfUEhZX0NBUDhfSEVfRVJfU1VfUFBEVV80WExURl9BTkRfMDhfVVNfR0kpDQor CQljYXAgfD0gU1RBX1JFQ19IRV9DQVBfRVJfU1VfUFBEVV80TFRGXzhVU19HSTsNCisNCisJaWYg KGVsZW0tPnBoeV9jYXBfaW5mb1s4XSAmDQorCSAgICBJRUVFODAyMTFfSEVfUEhZX0NBUDhfSEVf RVJfU1VfMVhMVEZfQU5EXzA4X1VTX0dJKQ0KKwkJY2FwIHw9IFNUQV9SRUNfSEVfQ0FQX0VSX1NV X1BQRFVfMUxURl84VVNfR0k7DQorDQorCWlmIChlbGVtLT5waHlfY2FwX2luZm9bOV0gJg0KKwkg ICAgSUVFRTgwMjExX0hFX1BIWV9DQVA5X05PTl9UUklHR0VSRURfQ1FJX0ZFRURCQUNLKQ0KKwkJ Y2FwIHw9IFNUQV9SRUNfSEVfQ0FQX1RSSUdfQ1FJX0ZLOw0KKw0KKwlpZiAoZWxlbS0+cGh5X2Nh cF9pbmZvWzldICYNCisJICAgIElFRUU4MDIxMV9IRV9QSFlfQ0FQOV9UWF8xMDI0X1FBTV9MRVNT X1RIQU5fMjQyX1RPTkVfUlUpDQorCQljYXAgfD0gU1RBX1JFQ19IRV9DQVBfVFhfMTAyNFFBTV9V TkRFUl9SVTI0MjsNCisNCisJaWYgKGVsZW0tPnBoeV9jYXBfaW5mb1s5XSAmDQorCSAgICBJRUVF ODAyMTFfSEVfUEhZX0NBUDlfUlhfMTAyNF9RQU1fTEVTU19USEFOXzI0Ml9UT05FX1JVKQ0KKwkJ Y2FwIHw9IFNUQV9SRUNfSEVfQ0FQX1JYXzEwMjRRQU1fVU5ERVJfUlUyNDI7DQorDQorCWhlLT5o ZV9jYXAgPSBjcHVfdG9fbGUzMihjYXApOw0KKw0KKwlzd2l0Y2ggKHN0YS0+YmFuZHdpZHRoKSB7 DQorCWNhc2UgSUVFRTgwMjExX1NUQV9SWF9CV18xNjA6DQorCQlpZiAoZWxlbS0+cGh5X2NhcF9p bmZvWzBdICYNCisJCSAgICBJRUVFODAyMTFfSEVfUEhZX0NBUDBfQ0hBTk5FTF9XSURUSF9TRVRf ODBQTFVTODBfTUhaX0lOXzVHKQ0KKwkJCWhlLT5tYXhfbnNzX21jc1tDTURfSEVfTUNTX0JXODA4 MF0gPQ0KKwkJCQloZV9jYXAtPmhlX21jc19uc3Nfc3VwcC5yeF9tY3NfODBwODA7DQorDQorCQlo ZS0+bWF4X25zc19tY3NbQ01EX0hFX01DU19CVzE2MF0gPQ0KKwkJCQloZV9jYXAtPmhlX21jc19u c3Nfc3VwcC5yeF9tY3NfMTYwOw0KKwkJLyogZmFsbCB0aHJvdWdoICovDQorCWRlZmF1bHQ6DQor CQloZS0+bWF4X25zc19tY3NbQ01EX0hFX01DU19CVzgwXSA9DQorCQkJCWhlX2NhcC0+aGVfbWNz X25zc19zdXBwLnJ4X21jc184MDsNCisJCWJyZWFrOw0KKwl9DQorDQorCWhlLT50X2ZyYW1lX2R1 ciA9DQorCQlIRV9NQUMoQ0FQMV9URl9NQUNfUEFEX0RVUl9NQVNLLCBlbGVtLT5tYWNfY2FwX2lu Zm9bMV0pOw0KKwloZS0+bWF4X2FtcGR1X2V4cCA9DQorCQlIRV9NQUMoQ0FQM19NQVhfQU1QRFVf TEVOX0VYUF9NQVNLLCBlbGVtLT5tYWNfY2FwX2luZm9bM10pOw0KKw0KKwloZS0+Yndfc2V0ID0N CisJCUhFX1BIWShDQVAwX0NIQU5ORUxfV0lEVEhfU0VUX01BU0ssIGVsZW0tPnBoeV9jYXBfaW5m b1swXSk7DQorCWhlLT5kZXZpY2VfY2xhc3MgPQ0KKwkJSEVfUEhZKENBUDFfREVWSUNFX0NMQVNT X0EsIGVsZW0tPnBoeV9jYXBfaW5mb1sxXSk7DQorCWhlLT5wdW5jX3ByZWFtX3J4ID0NCisJCUhF X1BIWShDQVAxX1BSRUFNQkxFX1BVTkNfUlhfTUFTSywgZWxlbS0+cGh5X2NhcF9pbmZvWzFdKTsN CisNCisJaGUtPmRjbV90eF9tb2RlID0NCisJCUhFX1BIWShDQVAzX0RDTV9NQVhfQ09OU1RfVFhf TUFTSywgZWxlbS0+cGh5X2NhcF9pbmZvWzNdKTsNCisJaGUtPmRjbV90eF9tYXhfbnNzID0NCisJ CUhFX1BIWShDQVAzX0RDTV9NQVhfVFhfTlNTXzIsIGVsZW0tPnBoeV9jYXBfaW5mb1szXSk7DQor CWhlLT5kY21fcnhfbW9kZSA9DQorCQlIRV9QSFkoQ0FQM19EQ01fTUFYX0NPTlNUX1JYX01BU0ss IGVsZW0tPnBoeV9jYXBfaW5mb1szXSk7DQorCWhlLT5kY21fcnhfbWF4X25zcyA9DQorCQlIRV9Q SFkoQ0FQM19EQ01fTUFYX1JYX05TU18yLCBlbGVtLT5waHlfY2FwX2luZm9bM10pOw0KKwloZS0+ ZGNtX3J4X21heF9uc3MgPQ0KKwkJSEVfUEhZKENBUDhfRENNX01BWF9SVV9NQVNLLCBlbGVtLT5w aHlfY2FwX2luZm9bOF0pOw0KKw0KKwloZS0+cGt0X2V4dCA9IDI7DQorfQ0KKw0KK3N0YXRpYyB2 b2lkDQorbXQ3OTE1X21jdV9zdGFfbXVydV90bHYoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0 IGllZWU4MDIxMV9zdGEgKnN0YSkNCit7DQorCXN0cnVjdCBpZWVlODAyMTFfc3RhX2hlX2NhcCAq aGVfY2FwID0gJnN0YS0+aGVfY2FwOw0KKwlzdHJ1Y3QgaWVlZTgwMjExX2hlX2NhcF9lbGVtICpl bGVtID0gJmhlX2NhcC0+aGVfY2FwX2VsZW07DQorCXN0cnVjdCBzdGFfcmVjX211cnUgKm11cnU7 DQorCXN0cnVjdCB0bHYgKnRsdjsNCisNCisJdGx2ID0gbXQ3OTE1X21jdV9hZGRfdGx2KHNrYiwg U1RBX1JFQ19NVVJVLCBzaXplb2YoKm11cnUpKTsNCisNCisJbXVydSA9IChzdHJ1Y3Qgc3RhX3Jl Y19tdXJ1ICopdGx2Ow0KKwltdXJ1LT5jZmcub2ZkbWFfZGxfZW4gPSB0cnVlOw0KKwltdXJ1LT5j Zmcub2ZkbWFfdWxfZW4gPSB0cnVlOw0KKwltdXJ1LT5jZmcubWltb19kbF9lbiA9IHRydWU7DQor CW11cnUtPmNmZy5taW1vX3VsX2VuID0gdHJ1ZTsNCisNCisJbXVydS0+b2ZkbWFfZGwucHVuY19w cmVhbV9yeCA9DQorCQlIRV9QSFkoQ0FQMV9QUkVBTUJMRV9QVU5DX1JYX01BU0ssIGVsZW0tPnBo eV9jYXBfaW5mb1sxXSk7DQorCW11cnUtPm9mZG1hX2RsLmhlXzIwbV9pbl80MG1fMmcgPQ0KKwkJ SEVfUEhZKENBUDhfMjBNSFpfSU5fNDBNSFpfSEVfUFBEVV9JTl8yRywgZWxlbS0+cGh5X2NhcF9p bmZvWzhdKTsNCisJbXVydS0+b2ZkbWFfZGwuaGVfMjBtX2luXzE2MG0gPQ0KKwkJSEVfUEhZKENB UDhfMjBNSFpfSU5fMTYwTUhaX0hFX1BQRFUsIGVsZW0tPnBoeV9jYXBfaW5mb1s4XSk7DQorCW11 cnUtPm9mZG1hX2RsLmhlXzgwbV9pbl8xNjBtID0NCisJCUhFX1BIWShDQVA4XzgwTUhaX0lOXzE2 ME1IWl9IRV9QUERVLCBlbGVtLT5waHlfY2FwX2luZm9bOF0pOw0KKwltdXJ1LT5vZmRtYV9kbC5s dDE2X3NpZ2IgPSAwOw0KKwltdXJ1LT5vZmRtYV9kbC5yeF9zdV9jb21wX3NpZ2IgPSAwOw0KKwlt dXJ1LT5vZmRtYV9kbC5yeF9zdV9ub25fY29tcF9zaWdiID0gMDsNCisNCisJbXVydS0+b2ZkbWFf dWwudF9mcmFtZV9kdXIgPQ0KKwkJSEVfTUFDKENBUDFfVEZfTUFDX1BBRF9EVVJfTUFTSywgZWxl bS0+bWFjX2NhcF9pbmZvWzFdKTsNCisJbXVydS0+b2ZkbWFfdWwubXVfY2FzY2FkaW5nID0NCisJ CUhFX01BQyhDQVAyX01VX0NBU0NBRElORywgZWxlbS0+bWFjX2NhcF9pbmZvWzJdKTsNCisJbXVy dS0+b2ZkbWFfdWwudW9fcmEgPQ0KKwkJSEVfTUFDKENBUDNfT0ZETUFfUkEsIGVsZW0tPm1hY19j YXBfaW5mb1szXSk7DQorCW11cnUtPm9mZG1hX3VsLmhlXzJ4OTk2X3RvbmUgPSAwOw0KKwltdXJ1 LT5vZmRtYV91bC5yeF90X2ZyYW1lXzExYWMgPSAwOw0KKw0KKwltdXJ1LT5taW1vX2RsLnZodF9t dV9iZmVlID0NCisJCSEhKHN0YS0+dmh0X2NhcC5jYXAgJiBJRUVFODAyMTFfVkhUX0NBUF9NVV9C RUFNRk9STUVFX0NBUEFCTEUpOw0KKwltdXJ1LT5taW1vX2RsLnBhcnRpYWxfYndfZGxfbWltbyA9 DQorCQlIRV9QSFkoQ0FQNl9QQVJUSUFMX0JBTkRXSURUSF9ETF9NVU1JTU8sIGVsZW0tPnBoeV9j YXBfaW5mb1s2XSk7DQorDQorCW11cnUtPm1pbW9fdWwuZnVsbF91bF9taW1vID0NCisJCUhFX1BI WShDQVAyX1VMX01VX0ZVTExfTVVfTUlNTywgZWxlbS0+cGh5X2NhcF9pbmZvWzJdKTsNCisJbXVy dS0+bWltb191bC5wYXJ0aWFsX3VsX21pbW8gPQ0KKwkJSEVfUEhZKENBUDJfVUxfTVVfUEFSVElB TF9NVV9NSU1PLCBlbGVtLT5waHlfY2FwX2luZm9bMl0pOw0KK30NCisNCiBzdGF0aWMgdm9pZA0K IG10NzkxNV9tY3Vfc3RhX3RsdihzdHJ1Y3QgbXQ3OTE1X2RldiAqZGV2LCBzdHJ1Y3Qgc2tfYnVm ZiAqc2tiLA0KIAkJICAgc3RydWN0IGllZWU4MDIxMV9zdGEgKnN0YSkNCkBAIC0xMjU5LDYgKzE0 NDMsMTQgQEAgbXQ3OTE1X21jdV9zdGFfdGx2KHN0cnVjdCBtdDc5MTVfZGV2ICpkZXYsIHN0cnVj dCBza19idWZmICpza2IsDQogCQl2aHQtPnZodF9yeF9tY3NfbWFwID0gc3RhLT52aHRfY2FwLnZo dF9tY3MucnhfbWNzX21hcDsNCiAJCXZodC0+dmh0X3R4X21jc19tYXAgPSBzdGEtPnZodF9jYXAu dmh0X21jcy50eF9tY3NfbWFwOw0KIAl9DQorDQorCS8qIHN0YXJlYyBoZSAqLw0KKwlpZiAoc3Rh LT5oZV9jYXAuaGFzX2hlKQ0KKwkJbXQ3OTE1X21jdV9zdGFfaGVfdGx2KHNrYiwgc3RhKTsNCisN CisJLyogc3RhcmVjIG11cnUgKi8NCisJaWYgKHN0YS0+aGVfY2FwLmhhc19oZSB8fCBzdGEtPnZo dF9jYXAudmh0X3N1cHBvcnRlZCkNCisJCW10NzkxNV9tY3Vfc3RhX211cnVfdGx2KHNrYiwgc3Rh KTsNCiB9DQogDQogc3RhdGljIHZvaWQNCkBAIC0xNDYwLDYgKzE2NTIsMTEgQEAgbXQ3OTE1X21j dV9zdGFfcmF0ZV9jdHJsX3RsdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbXQ3OTE1X2Rl diAqZGV2LA0KIAkJfQ0KIAl9DQogDQorCWlmIChzdGEtPmhlX2NhcC5oYXNfaGUpIHsNCisJCXJh LT5zdXBwX21vZGUgfD0gTU9ERV9IRTsNCisJCWNhcCB8PSBTVEFfQ0FQX0hFOw0KKwl9DQorDQog CXJhLT5zdGFfc3RhdHVzID0gY3B1X3RvX2xlMzIoY2FwKTsNCiANCiAJc3dpdGNoIChCSVQoZmxz KHJhLT5zdXBwX21vZGUpIC0gMSkpIHsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVz cy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3UuaCBiL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlh dGVrL210NzYvbXQ3OTE1L21jdS5oDQppbmRleCA4NWVmMWIzNWIyNjUuLmNjMGUyNzczMGFhYiAx MDA2NDQNCi0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3OTE1L21j dS5oDQorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzkxNS9tY3Uu aA0KQEAgLTY1OCw2ICs2NTgsNzUgQEAgc3RydWN0IHN0YV9yZWNfdmh0IHsNCiAJdTggcnN2WzNd Ow0KIH0gX19wYWNrZWQ7DQogDQorc3RydWN0IHN0YV9yZWNfbXVydSB7DQorCV9fbGUxNiB0YWc7 DQorCV9fbGUxNiBsZW47DQorDQorCXN0cnVjdCB7DQorCQlib29sIG9mZG1hX2RsX2VuOw0KKwkJ Ym9vbCBvZmRtYV91bF9lbjsNCisJCWJvb2wgbWltb19kbF9lbjsNCisJCWJvb2wgbWltb191bF9l bjsNCisJCWJvb2wgcnN2WzRdOw0KKwl9IGNmZzsNCisNCisJc3RydWN0IHsNCisJCXU4IHB1bmNf cHJlYW1fcng7DQorCQlib29sIGhlXzIwbV9pbl80MG1fMmc7DQorCQlib29sIGhlXzIwbV9pbl8x NjBtOw0KKwkJYm9vbCBoZV84MG1faW5fMTYwbTsNCisJCWJvb2wgbHQxNl9zaWdiOw0KKwkJYm9v bCByeF9zdV9jb21wX3NpZ2I7DQorCQlib29sIHJ4X3N1X25vbl9jb21wX3NpZ2I7DQorCQlib29s IHJzdjsNCisJfSBvZmRtYV9kbDsNCisNCisJc3RydWN0IHsNCisJCXU4IHRfZnJhbWVfZHVyOw0K KwkJdTggbXVfY2FzY2FkaW5nOw0KKwkJdTggdW9fcmE7DQorCQl1OCBoZV8yeDk5Nl90b25lOw0K KwkJdTggcnhfdF9mcmFtZV8xMWFjOw0KKwkJdTggcnN2WzNdOw0KKwl9IG9mZG1hX3VsOw0KKw0K KwlzdHJ1Y3Qgew0KKwkJYm9vbCB2aHRfbXVfYmZlZTsNCisJCWJvb2wgcGFydGlhbF9id19kbF9t aW1vOw0KKwkJdTggcnN2WzJdOw0KKwl9IG1pbW9fZGw7DQorDQorCXN0cnVjdCB7DQorCQlib29s IGZ1bGxfdWxfbWltbzsNCisJCWJvb2wgcGFydGlhbF91bF9taW1vOw0KKwkJdTggcnN2WzJdOw0K Kwl9IG1pbW9fdWw7DQorfSBfX3BhY2tlZDsNCisNCitzdHJ1Y3Qgc3RhX3JlY19oZSB7DQorCV9f bGUxNiB0YWc7DQorCV9fbGUxNiBsZW47DQorDQorCV9fbGUzMiBoZV9jYXA7DQorDQorCXU4IHRf ZnJhbWVfZHVyOw0KKwl1OCBtYXhfYW1wZHVfZXhwOw0KKwl1OCBid19zZXQ7DQorCXU4IGRldmlj ZV9jbGFzczsNCisJdTggZGNtX3R4X21vZGU7DQorCXU4IGRjbV90eF9tYXhfbnNzOw0KKwl1OCBk Y21fcnhfbW9kZTsNCisJdTggZGNtX3J4X21heF9uc3M7DQorCXU4IGRjbV9tYXhfcnU7DQorCXU4 IHB1bmNfcHJlYW1fcng7DQorCXU4IHBrdF9leHQ7DQorCXU4IHJzdjE7DQorDQorCV9fbGUxNiBt YXhfbnNzX21jc1tDTURfSEVfTUNTX0JXX05VTV07DQorDQorCXU4IHJzdjJbMl07DQorfSBfX3Bh Y2tlZDsNCisNCiBzdHJ1Y3Qgc3RhX3JlY19iYSB7DQogCV9fbGUxNiB0YWc7DQogCV9fbGUxNiBs ZW47DQpAQCAtODAzLDkgKzg3MiwxMSBAQCBlbnVtIHsNCiAjZGVmaW5lIE1UNzkxNV9TVEFfVVBE QVRFX01BWF9TSVpFCShzaXplb2Yoc3RydWN0IHN0YV9yZXFfaGRyKSArCVwNCiAJCQkJCSBzaXpl b2Yoc3RydWN0IHN0YV9yZWNfYmFzaWMpICsJXA0KIAkJCQkJIHNpemVvZihzdHJ1Y3Qgc3RhX3Jl Y19odCkgKwlcDQorCQkJCQkgc2l6ZW9mKHN0cnVjdCBzdGFfcmVjX2hlKSArCVwNCiAJCQkJCSBz aXplb2Yoc3RydWN0IHN0YV9yZWNfYmEpICsJXA0KIAkJCQkJIHNpemVvZihzdHJ1Y3Qgc3RhX3Jl Y192aHQpICsJXA0KIAkJCQkJIHNpemVvZihzdHJ1Y3QgdGx2KSArCQlcDQorCQkJCQkgc2l6ZW9m KHN0cnVjdCBzdGFfcmVjX211cnUpICsJXA0KIAkJCQkJIHNpemVvZihzdHJ1Y3Qgc3RhX3JlY19z ZWMpICsJXA0KIAkJCQkJIHNpemVvZihzdHJ1Y3Qgc3RhX3JlY19yYSkgKwlcDQogCQkJCQkgTVQ3 OTE1X1dUQkxfVVBEQVRFX01BWF9TSVpFKQ0KQEAgLTgzMyw2ICs5MDQsNyBAQCBlbnVtIHsNCiAj ZGVmaW5lIE1PREVfT0ZETQkJCUJJVCgxKQ0KICNkZWZpbmUgTU9ERV9IVAkJCQlCSVQoMikNCiAj ZGVmaW5lIE1PREVfVkhUCQkJQklUKDMpDQorI2RlZmluZSBNT0RFX0hFCQkJCUJJVCg0KQ0KIA0K ICNkZWZpbmUgU1RBX0NBUF9XTU0JCQlCSVQoMCkNCiAjZGVmaW5lIFNUQV9DQVBfU0dJXzIwCQkJ QklUKDQpDQpAQCAtODQ3LDUgKzkxOSwzMyBAQCBlbnVtIHsNCiAjZGVmaW5lIFNUQV9DQVBfTERQ QwkJCUJJVCgyNCkNCiAjZGVmaW5lIFNUQV9DQVBfSFQJCQlCSVQoMjYpDQogI2RlZmluZSBTVEFf Q0FQX1ZIVAkJCUJJVCgyNykNCisjZGVmaW5lIFNUQV9DQVBfSEUJCQlCSVQoMjgpDQorDQorLyog SEUgTUFDICovDQorI2RlZmluZSBTVEFfUkVDX0hFX0NBUF9IVEMJCQlCSVQoMCkNCisjZGVmaW5l IFNUQV9SRUNfSEVfQ0FQX0JRUgkJCUJJVCgxKQ0KKyNkZWZpbmUgU1RBX1JFQ19IRV9DQVBfQlNS CQkJQklUKDIpDQorI2RlZmluZSBTVEFfUkVDX0hFX0NBUF9PTQkJCUJJVCgzKQ0KKyNkZWZpbmUg U1RBX1JFQ19IRV9DQVBfQU1TRFVfSU5fQU1QRFUJCUJJVCg0KQ0KKy8qIEhFIFBIWSAqLw0KKyNk ZWZpbmUgU1RBX1JFQ19IRV9DQVBfRFVBTF9CQU5ECQlCSVQoNSkNCisjZGVmaW5lIFNUQV9SRUNf SEVfQ0FQX0xEUEMJCQlCSVQoNikNCisjZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX1RSSUdfQ1FJX0ZL CQlCSVQoNykNCisjZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX1BBUlRJQUxfQldfRVhUX1JBTkdFCUJJ VCg4KQ0KKy8qIFNUQkMgKi8NCisjZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX0xFX0VRXzgwTV9UWF9T VEJDCUJJVCg5KQ0KKyNkZWZpbmUgU1RBX1JFQ19IRV9DQVBfTEVfRVFfODBNX1JYX1NUQkMJQklU KDEwKQ0KKyNkZWZpbmUgU1RBX1JFQ19IRV9DQVBfR1RfODBNX1RYX1NUQkMJCUJJVCgxMSkNCisj ZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX0dUXzgwTV9SWF9TVEJDCQlCSVQoMTIpDQorLyogR0kgKi8N CisjZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX1NVX1BQRFVfMUxURl84VVNfR0kJQklUKDEzKQ0KKyNk ZWZpbmUgU1RBX1JFQ19IRV9DQVBfU1VfTVVfUFBEVV80TFRGXzhVU19HSQlCSVQoMTQpDQorI2Rl ZmluZSBTVEFfUkVDX0hFX0NBUF9FUl9TVV9QUERVXzFMVEZfOFVTX0dJCUJJVCgxNSkNCisjZGVm aW5lIFNUQV9SRUNfSEVfQ0FQX0VSX1NVX1BQRFVfNExURl84VVNfR0kJQklUKDE2KQ0KKyNkZWZp bmUgU1RBX1JFQ19IRV9DQVBfTkRQXzRMVEZfM0RPVDJNU19HSQlCSVQoMTcpDQorLyogMjQyIFRP TkUgKi8NCisjZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX0JXMjBfUlUyNDJfU1VQUE9SVAlCSVQoMTgp DQorI2RlZmluZSBTVEFfUkVDX0hFX0NBUF9UWF8xMDI0UUFNX1VOREVSX1JVMjQyCUJJVCgxOSkN CisjZGVmaW5lIFNUQV9SRUNfSEVfQ0FQX1JYXzEwMjRRQU1fVU5ERVJfUlUyNDIJQklUKDIwKQ0K IA0KICNlbmRpZg0KLS0gDQoyLjE4LjANCg==