Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp617296pxx; Thu, 29 Oct 2020 10:13:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyJy1N7CKv9AunO1aUhpbTSLxkZt8W4MczS0m3hVVrhvnCgzusFjuy7jnCKw6coCRxk4KWM X-Received: by 2002:a17:906:bc4b:: with SMTP id s11mr5160013ejv.437.1603991638673; Thu, 29 Oct 2020 10:13:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603991638; cv=none; d=google.com; s=arc-20160816; b=Uf2aSfhxCjkjPnG9AXccnno6xh1A4YeIUO2UXiS2ZTXP2sdPxL9nY63sd40DCF/HXx enhBAODwYEBoQfy2NLSr484Kmmi7MbxRuRrStCOIESO026bxxuZ2Py166noX9+rK3sxr Uid5wXTr3aDMtbD2vFLxGpH5O6mQiL1L4vpn057yMNbwL8Mmu+g+wUUWLbGzAJDg4jHd d+b5ox8uHYqrKS2ssGh2Vkv5LDOCFnoGtk2ifEOvDHfyyrABxJEof4Hl4BSGe/yQRezJ AWJjd4ksUncnQ03c8vINK2ocFQSrV4Dk/ou1piKHJz02oH0PJUC3UtZB3ZKqlv5uk0Q9 rxWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=c9kvr7J5GGrbTfdtR4sKt3gx4Tp/e01+dtXkSILl2Ao=; b=IP1bBXmwIJGYduL6vzaz3XIBO96kF1qf4haNd76Fx0eQVfm1JK9Dawp2C3Q2bziauQ UD8WOgd0fsM3mD56XMqhii9ld3bQMIgaEUOdC/E/lR8/gWLELUmwFNuwkArk5RikJLhJ LF0gsetMmoudFVx9Gp5pLX6EVt+cpN88GbqT/X6ZImZiaicdmMolqFR/RWlOHaII6yHD qfPLqLLqPj59F95rSscoS9/9UpFHdd4aFdoTyBdpEI/2WAGt50wwxXX8uooB5UlDGOrX C39Fbl90pYXo26TTG+2ex343j71Kg41SNJqhXLpUWvuRCqbt/+Uiy5aNhj+EZvxqqvW/ xQVw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=InjMPgxV; spf=pass (google.com: 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 bg10si2342988ejb.240.2020.10.29.10.13.33; Thu, 29 Oct 2020 10:13:58 -0700 (PDT) Received-SPF: pass (google.com: 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=InjMPgxV; spf=pass (google.com: 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 S1726078AbgJ2RLh (ORCPT + 99 others); Thu, 29 Oct 2020 13:11:37 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:42792 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725730AbgJ2RLg (ORCPT ); Thu, 29 Oct 2020 13:11:36 -0400 X-UUID: 5313f09ea88f41c09a7679c339aa6027-20201030 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=c9kvr7J5GGrbTfdtR4sKt3gx4Tp/e01+dtXkSILl2Ao=; b=InjMPgxVtPsJ5MwDi3R3Zn08KHy9LEELXzeMu/vMQ33ScFkMSTcckUlv0l9/UAI6V2rjuvbFHvT0U8a4QoM4Mc+uyG9HR/N/pwUrbskvwpxiyWxAplB7dOXF6Cb5N/sabrJ4qLuxujdnbBi/wblQfiDXRy2lZDmvtPGM1CebePI=; X-UUID: 5313f09ea88f41c09a7679c339aa6027-20201030 Received: from mtkcas10.mediatek.inc [(172.21.101.39)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.14 Build 0819 with TLSv1.2 ECDHE-RSA-AES256-SHA384 256/256) with ESMTP id 1306548911; Fri, 30 Oct 2020 01:11:27 +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; Fri, 30 Oct 2020 01:11:24 +0800 Received: from mtksdccf07.mediatek.inc (172.21.84.99) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 30 Oct 2020 01:11:18 +0800 From: Ryder Lee To: Felix Fietkau , Lorenzo Bianconi CC: Shayne Chen , , , Ryder Lee Subject: [PATCH 3/3] mt76: mt7615: support 16 interfaces Date: Fri, 30 Oct 2020 01:11:17 +0800 Message-ID: X-Mailer: git-send-email 2.18.0 In-Reply-To: <879705a8af8fa44c711feb3aa0351c1138aeef6c.1603988327.git.ryder.lee@mediatek.com> References: <879705a8af8fa44c711feb3aa0351c1138aeef6c.1603988327.git.ryder.lee@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-TM-SNTS-SMTP: DBD24A653B63770ADA85F9FCD574D5FE244CBFA2D3D3201EE2D7A970A4E109652000:8 X-MTK: N Content-Transfer-Encoding: base64 Precedence: bulk List-ID: X-Mailing-List: linux-wireless@vger.kernel.org V2hlbiBsb29raW5nIGZvciBhIE1BQyBhZGRyZXNzIHNsb3QsIHN0YXJ0IGJ5IHVzaW5nIG1haW4g QlNTSUQgc2xvdHMgMS0zLA0KYWZ0ZXJ3YXJkcyB1c2UgMTYgcmVwZWF0ZXIgbW9kZSBCU1NJRCBz bG90cywgdGhlbiBzdGFydCB1c2luZyB0aGUgc2xvdHMNCnVzdWFsbHkgdXNlZCBmb3IgQVAgbW9k ZS4NCg0KVGhpcyBzZWFyY2ggb3JkZXIgc2hvdWxkIHByZXZlbnQgdW5uZWNlc3NhcnkgY29uZmxp Y3RzIHdpdGggQVAgbW9kZSBpbnRlcmZhY2VzDQpvbiB0aGUgc2FtZSBQSFkuDQoNCk5vdGUgdGhh dCB0d28gUEhZcyBzaGFyZSBnbG9iYWwgMzIgb21hYyBzbG90cyB3aXRoIGVhY2ggb3RoZXIuDQoN ClNpZ25lZC1vZmYtYnk6IFJ5ZGVyIExlZSA8cnlkZXIubGVlQG1lZGlhdGVrLmNvbT4NCi0tLQ0K IC4uLi9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUvaW5pdC5jICB8ICA0ICstDQog Li4uL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tYWluLmMgIHwgNTUgKysrKysr KysrKysrKy0tLS0tLQ0KIC4uLi9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUvbWN1 LmMgICB8IDQ5ICsrKysrKysrKysrKysrKystDQogLi4uL25ldC93aXJlbGVzcy9tZWRpYXRlay9t dDc2L210NzYxNS9tY3UuaCAgIHwgIDEgKw0KIC4uLi93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210 NzYxNS9tdDc2MTUuaCAgICB8IDI1ICsrKy0tLS0tLQ0KIDUgZmlsZXMgY2hhbmdlZCwgOTQgaW5z ZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93 aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9pbml0LmMgYi9kcml2ZXJzL25ldC93aXJlbGVz cy9tZWRpYXRlay9tdDc2L210NzYxNS9pbml0LmMNCmluZGV4IDJhNGRiNDY3MjdmYi4uNjhhN2Vk NDc1MjRlIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9t dDc2MTUvaW5pdC5jDQorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210 NzYxNS9pbml0LmMNCkBAIC0yMjEsNyArMjIxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpZWVl ODAyMTFfaWZhY2VfY29tYmluYXRpb24gaWZfY29tYl9yYWRhcltdID0gew0KIAl7DQogCQkubGlt aXRzID0gaWZfbGltaXRzLA0KIAkJLm5fbGltaXRzID0gQVJSQVlfU0laRShpZl9saW1pdHMpLA0K LQkJLm1heF9pbnRlcmZhY2VzID0gNCwNCisJCS5tYXhfaW50ZXJmYWNlcyA9IE1UNzYxNV9NQVhf SU5URVJGQUNFUywNCiAJCS5udW1fZGlmZmVyZW50X2NoYW5uZWxzID0gMSwNCiAJCS5iZWFjb25f aW50X2luZnJhX21hdGNoID0gdHJ1ZSwNCiAJCS5yYWRhcl9kZXRlY3Rfd2lkdGhzID0gQklUKE5M ODAyMTFfQ0hBTl9XSURUSF8yMF9OT0hUKSB8DQpAQCAtMjM3LDcgKzIzNyw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaWVlZTgwMjExX2lmYWNlX2NvbWJpbmF0aW9uIGlmX2NvbWJbXSA9IHsNCiAJ ew0KIAkJLmxpbWl0cyA9IGlmX2xpbWl0cywNCiAJCS5uX2xpbWl0cyA9IEFSUkFZX1NJWkUoaWZf bGltaXRzKSwNCi0JCS5tYXhfaW50ZXJmYWNlcyA9IDQsDQorCQkubWF4X2ludGVyZmFjZXMgPSBN VDc2MTVfTUFYX0lOVEVSRkFDRVMsDQogCQkubnVtX2RpZmZlcmVudF9jaGFubmVscyA9IDEsDQog CQkuYmVhY29uX2ludF9pbmZyYV9tYXRjaCA9IHRydWUsDQogCX0NCmRpZmYgLS1naXQgYS9kcml2 ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tYWluLmMgYi9kcml2ZXJzL25l dC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tYWluLmMNCmluZGV4IDMxODZiN2IyY2E0 OC4uYWQ2YzcyOTc2NjhkIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0 ZWsvbXQ3Ni9tdDc2MTUvbWFpbi5jDQorKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRl ay9tdDc2L210NzYxNS9tYWluLmMNCkBAIC0xMTUsMjkgKzExNSw1MCBAQCBzdGF0aWMgdm9pZCBt dDc2MTVfc3RvcChzdHJ1Y3QgaWVlZTgwMjExX2h3ICpodykNCiAJbXQ3NjE1X211dGV4X3JlbGVh c2UoZGV2KTsNCiB9DQogDQotc3RhdGljIGludCBnZXRfb21hY19pZHgoZW51bSBubDgwMjExX2lm dHlwZSB0eXBlLCB1MzIgbWFzaykNCitzdGF0aWMgaW5saW5lIGludCBnZXRfZnJlZV9pZHgodTMy IG1hc2ssIHU4IHN0YXJ0LCB1OCBlbmQpDQorew0KKwlyZXR1cm4gZmZzKH5tYXNrICYgR0VOTUFT SyhlbmQsIHN0YXJ0KSk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgZ2V0X29tYWNfaWR4KGVudW0gbmw4 MDIxMV9pZnR5cGUgdHlwZSwgdTY0IG1hc2spDQogew0KIAlpbnQgaTsNCiANCiAJc3dpdGNoICh0 eXBlKSB7DQotCWNhc2UgTkw4MDIxMV9JRlRZUEVfTU9OSVRPUjoNCi0JY2FzZSBOTDgwMjExX0lG VFlQRV9BUDoNCiAJY2FzZSBOTDgwMjExX0lGVFlQRV9NRVNIX1BPSU5UOg0KIAljYXNlIE5MODAy MTFfSUZUWVBFX0FESE9DOg0KLQkJLyogYXAgdXNlIGh3IGJzc2lkIDAgYW5kIGV4dCBic3NpZCAq Lw0KKwljYXNlIE5MODAyMTFfSUZUWVBFX1NUQVRJT046DQorCQkvKiBwcmVmZXIgaHcgYnNzaWQg c2xvdCAxLTMgKi8NCisJCWkgPSBnZXRfZnJlZV9pZHgobWFzaywgSFdfQlNTSURfMSwgSFdfQlNT SURfMyk7DQorCQlpZiAoaSkNCisJCQlyZXR1cm4gaSAtIDE7DQorDQorCQlpZiAodHlwZSAhPSBO TDgwMjExX0lGVFlQRV9TVEFUSU9OKQ0KKwkJCWJyZWFrOw0KKw0KKwkJLyogbmV4dCwgdHJ5IHRv IGZpbmQgYSBmcmVlIHJlcGVhdGVyIGVudHJ5IGZvciB0aGUgc3RhICovDQorCQlpID0gZ2V0X2Zy ZWVfaWR4KG1hc2sgPj4gUkVQRUFURVJfQlNTSURfU1RBUlQsIDAsDQorCQkJCSBSRVBFQVRFUl9C U1NJRF9NQVggLSBSRVBFQVRFUl9CU1NJRF9TVEFSVCk7DQorCQlpZiAoaSkNCisJCQlyZXR1cm4g aSArIDMyIC0gMTsNCisNCisJCWkgPSBnZXRfZnJlZV9pZHgobWFzaywgRVhUX0JTU0lEXzEsIEVY VF9CU1NJRF9NQVgpOw0KKwkJaWYgKGkpDQorCQkJcmV0dXJuIGkgLSAxOw0KKw0KIAkJaWYgKH5t YXNrICYgQklUKEhXX0JTU0lEXzApKQ0KIAkJCXJldHVybiBIV19CU1NJRF8wOw0KIA0KLQkJZm9y IChpID0gRVhUX0JTU0lEXzE7IGkgPCBFWFRfQlNTSURfRU5EOyBpKyspDQotCQkJaWYgKH5tYXNr ICYgQklUKGkpKQ0KLQkJCQlyZXR1cm4gaTsNCi0NCiAJCWJyZWFrOw0KLQljYXNlIE5MODAyMTFf SUZUWVBFX1NUQVRJT046DQotCQkvKiBzdGEgdXNlIGh3IGJzc2lkIG90aGVyIHRoYW4gMCAqLw0K LQkJZm9yIChpID0gSFdfQlNTSURfMTsgaSA8IEhXX0JTU0lEX01BWDsgaSsrKQ0KLQkJCWlmICh+ bWFzayAmIEJJVChpKSkNCi0JCQkJcmV0dXJuIGk7DQorCWNhc2UgTkw4MDIxMV9JRlRZUEVfTU9O SVRPUjoNCisJY2FzZSBOTDgwMjExX0lGVFlQRV9BUDoNCisJCS8qIGFwIHVzZXMgaHcgYnNzaWQg MCBhbmQgZXh0IGJzc2lkICovDQorCQlpZiAofm1hc2sgJiBCSVQoSFdfQlNTSURfMCkpDQorCQkJ cmV0dXJuIEhXX0JTU0lEXzA7DQorDQorCQlpID0gZ2V0X2ZyZWVfaWR4KG1hc2ssIEVYVF9CU1NJ RF8xLCBFWFRfQlNTSURfTUFYKTsNCisJCWlmIChpKQ0KKwkJCXJldHVybiBpIC0gMTsNCiANCiAJ CWJyZWFrOw0KIAlkZWZhdWx0Og0KQEAgLTE4Nyw4ICsyMDgsOCBAQCBzdGF0aWMgaW50IG10NzYx NV9hZGRfaW50ZXJmYWNlKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LA0KIAkJbXZpZi0+d21tX2lk eCA9IG12aWYtPmlkeCAlIE1UNzYxNV9NQVhfV01NX1NFVFM7DQogDQogCWRldi0+bXBoeS52aWZf bWFzayB8PSBCSVQobXZpZi0+aWR4KTsNCi0JZGV2LT5vbWFjX21hc2sgfD0gQklUKG12aWYtPm9t YWNfaWR4KTsNCi0JcGh5LT5vbWFjX21hc2sgfD0gQklUKG12aWYtPm9tYWNfaWR4KTsNCisJZGV2 LT5vbWFjX21hc2sgfD0gQklUX1VMTChtdmlmLT5vbWFjX2lkeCk7DQorCXBoeS0+b21hY19tYXNr IHw9IEJJVF9VTEwobXZpZi0+b21hY19pZHgpOw0KIA0KIAltdDc2MTVfbWN1X3NldF9kYmRjKGRl dik7DQogDQpAQCAtMjU3LDggKzI3OCw4IEBAIHN0YXRpYyB2b2lkIG10NzYxNV9yZW1vdmVfaW50 ZXJmYWNlKHN0cnVjdCBpZWVlODAyMTFfaHcgKmh3LA0KIAlyY3VfYXNzaWduX3BvaW50ZXIoZGV2 LT5tdDc2LndjaWRbaWR4XSwgTlVMTCk7DQogDQogCWRldi0+bXBoeS52aWZfbWFzayAmPSB+QklU KG12aWYtPmlkeCk7DQotCWRldi0+b21hY19tYXNrICY9IH5CSVQobXZpZi0+b21hY19pZHgpOw0K LQlwaHktPm9tYWNfbWFzayAmPSB+QklUKG12aWYtPm9tYWNfaWR4KTsNCisJZGV2LT5vbWFjX21h c2sgJj0gfkJJVF9VTEwobXZpZi0+b21hY19pZHgpOw0KKwlwaHktPm9tYWNfbWFzayAmPSB+QklU X1VMTChtdmlmLT5vbWFjX2lkeCk7DQogDQogCW10NzYxNV9tdXRleF9yZWxlYXNlKGRldik7DQog DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUv bWN1LmMgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tY3UuYw0K aW5kZXggMjg3MzA5NDlkY2U3Li5mZjY0Y2ZiZjZlZTUgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL25l dC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tY3UuYw0KKysrIGIvZHJpdmVycy9uZXQv d2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUvbWN1LmMNCkBAIC01OTksNiArNTk5LDQyIEBA IHN0YXRpYyBpbnQgbXQ3NjE1X21jdV9pbml0X2Rvd25sb2FkKHN0cnVjdCBtdDc2MTVfZGV2ICpk ZXYsIHUzMiBhZGRyLA0KIAkJCQkgJnJlcSwgc2l6ZW9mKHJlcSksIHRydWUpOw0KIH0NCiANCitz dGF0aWMgaW50DQorbXQ3NjE1X21jdV9tdWFyX2NvbmZpZyhzdHJ1Y3QgbXQ3NjE1X2RldiAqZGV2 LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KKwkJICAgICAgIGJvb2wgYnNzaWQsIGJvb2wg ZW5hYmxlKQ0KK3sNCisJc3RydWN0IG10NzYxNV92aWYgKm12aWYgPSAoc3RydWN0IG10NzYxNV92 aWYgKil2aWYtPmRydl9wcml2Ow0KKwl1MzIgaWR4ID0gbXZpZi0+b21hY19pZHggLSBSRVBFQVRF Ul9CU1NJRF9TVEFSVDsNCisJdTMyIG1hc2sgPSBkZXYtPm9tYWNfbWFzayA+PiAzMiAmIH5CSVQo aWR4KTsNCisJY29uc3QgdTggKmFkZHIgPSB2aWYtPmFkZHI7DQorCXN0cnVjdCB7DQorCQl1OCBt b2RlOw0KKwkJdTggZm9yY2VfY2xlYXI7DQorCQl1OCBjbGVhcl9iaXRtYXBbOF07DQorCQl1OCBl bnRyeV9jb3VudDsNCisJCXU4IHdyaXRlOw0KKw0KKwkJdTggaW5kZXg7DQorCQl1OCBic3NpZDsN CisJCXU4IGFkZHJbRVRIX0FMRU5dOw0KKwl9IF9fcGFja2VkIHJlcSA9IHsNCisJCS5tb2RlID0g ISFtYXNrIHx8IGVuYWJsZSwNCisJCS5lbnRyeV9jb3VudCA9IDEsDQorCQkud3JpdGUgPSAxLA0K Kw0KKwkJLmluZGV4ID0gaWR4ICogMiArIGJzc2lkLA0KKwl9Ow0KKw0KKwlpZiAoYnNzaWQpDQor CQlhZGRyID0gdmlmLT5ic3NfY29uZi5ic3NpZDsNCisNCisJaWYgKGVuYWJsZSkNCisJCWV0aGVy X2FkZHJfY29weShyZXEuYWRkciwgYWRkcik7DQorDQorCXJldHVybiBtdDc2X21jdV9zZW5kX21z ZygmZGV2LT5tdDc2LCBNQ1VfRVhUX0NNRF9NVUFSX1VQREFURSwgJnJlcSwNCisJCQkJIHNpemVv ZihyZXEpLCB0cnVlKTsNCit9DQorDQogc3RhdGljIGludA0KIG10NzYxNV9tY3VfYWRkX2Rldihz dHJ1Y3QgbXQ3NjE1X2RldiAqZGV2LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KIAkJICAg Ym9vbCBlbmFibGUpDQpAQCAtNjM0LDYgKzY3MCw5IEBAIG10NzYxNV9tY3VfYWRkX2RldihzdHJ1 Y3QgbXQ3NjE1X2RldiAqZGV2LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KIAkJfSwNCiAJ fTsNCiANCisJaWYgKG12aWYtPm9tYWNfaWR4ID49IFJFUEVBVEVSX0JTU0lEX1NUQVJUKQ0KKwkJ cmV0dXJuIG10NzYxNV9tY3VfbXVhcl9jb25maWcoZGV2LCB2aWYsIGZhbHNlLCBlbmFibGUpOw0K Kw0KIAltZW1jcHkoZGF0YS50bHYub21hY19hZGRyLCB2aWYtPmFkZHIsIEVUSF9BTEVOKTsNCiAJ cmV0dXJuIG10NzZfbWN1X3NlbmRfbXNnKCZkZXYtPm10NzYsIE1DVV9FWFRfQ01EX0RFVl9JTkZP X1VQREFURSwNCiAJCQkJICZkYXRhLCBzaXplb2YoZGF0YSksIHRydWUpOw0KQEAgLTEyMTYsNiAr MTI1NSw5IEBAIG10NzYxNV9tY3VfYWRkX2JzcyhzdHJ1Y3QgbXQ3NjE1X3BoeSAqcGh5LCBzdHJ1 Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KIAlzdHJ1Y3QgbXQ3NjE1X2RldiAqZGV2ID0gcGh5LT5k ZXY7DQogCXN0cnVjdCBza19idWZmICpza2I7DQogDQorCWlmIChtdmlmLT5vbWFjX2lkeCA+PSBS RVBFQVRFUl9CU1NJRF9TVEFSVCkNCisJCW10NzYxNV9tY3VfbXVhcl9jb25maWcoZGV2LCB2aWYs IHRydWUsIGVuYWJsZSk7DQorDQogCXNrYiA9IG10NzYxNV9tY3VfYWxsb2Nfc3RhX3JlcShkZXYs IG12aWYsIE5VTEwpOw0KIAlpZiAoSVNfRVJSKHNrYikpDQogCQlyZXR1cm4gUFRSX0VSUihza2Ip Ow0KQEAgLTEyMjUsNyArMTI2Nyw4IEBAIG10NzYxNV9tY3VfYWRkX2JzcyhzdHJ1Y3QgbXQ3NjE1 X3BoeSAqcGh5LCBzdHJ1Y3QgaWVlZTgwMjExX3ZpZiAqdmlmLA0KIA0KIAltdDc2MTVfbWN1X2Jz c19iYXNpY190bHYoc2tiLCB2aWYsIHN0YSwgZW5hYmxlKTsNCiANCi0JaWYgKGVuYWJsZSAmJiBt dmlmLT5vbWFjX2lkeCA+IEVYVF9CU1NJRF9TVEFSVCkNCisJaWYgKGVuYWJsZSAmJiBtdmlmLT5v bWFjX2lkeCA+PSBFWFRfQlNTSURfU1RBUlQgJiYNCisJICAgIG12aWYtPm9tYWNfaWR4IDwgUkVQ RUFURVJfQlNTSURfU1RBUlQpDQogCQltdDc2MTVfbWN1X2Jzc19leHRfdGx2KHNrYiwgbXZpZik7 DQogDQogCXJldHVybiBtdDc2X21jdV9za2Jfc2VuZF9tc2coJmRldi0+bXQ3Niwgc2tiLA0KQEAg LTI2MDMsMTMgKzI2NDYsMTMgQEAgaW50IG10NzYxNV9tY3Vfc2V0X2RiZGMoc3RydWN0IG10NzYx NV9kZXYgKmRldikNCiAJfSB3aGlsZSAoMCkNCiANCiAJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykg ew0KLQkJYm9vbCBiYW5kID0gISEoZXh0X3BoeS0+b21hY19tYXNrICYgQklUKGkpKTsNCisJCWJv b2wgYmFuZCA9ICEhKGV4dF9waHktPm9tYWNfbWFzayAmIEJJVF9VTEwoaSkpOw0KIA0KIAkJQURE X0RCRENfRU5UUlkoREJEQ19UWVBFX0JTUywgaSwgYmFuZCk7DQogCX0NCiANCiAJZm9yIChpID0g MDsgaSA8IDE0OyBpKyspIHsNCi0JCWJvb2wgYmFuZCA9ICEhKGV4dF9waHktPm9tYWNfbWFzayAm IEJJVCgweDExICsgaSkpOw0KKwkJYm9vbCBiYW5kID0gISEoZXh0X3BoeS0+b21hY19tYXNrICYg QklUX1VMTCgweDExICsgaSkpOw0KIA0KIAkJQUREX0RCRENfRU5UUlkoREJEQ19UWVBFX01CU1Ms IGksIGJhbmQpOw0KIAl9DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0 ZWsvbXQ3Ni9tdDc2MTUvbWN1LmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2 L210NzYxNS9tY3UuaA0KaW5kZXggN2I4NTZlOWVlZTFlLi4xN2Y5NWRmOGZkMzAgMTAwNjQ0DQot LS0gYS9kcml2ZXJzL25ldC93aXJlbGVzcy9tZWRpYXRlay9tdDc2L210NzYxNS9tY3UuaA0KKysr IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUvbWN1LmgNCkBAIC0y NzUsNiArMjc1LDcgQEAgZW51bSB7DQogCU1DVV9FWFRfQ01EX1BST1RFQ1RfQ1RSTCA9IDB4M2Us DQogCU1DVV9FWFRfQ01EX0RCRENfQ1RSTCA9IDB4NDUsDQogCU1DVV9FWFRfQ01EX01BQ19JTklU X0NUUkwgPSAweDQ2LA0KKwlNQ1VfRVhUX0NNRF9NVUFSX1VQREFURSA9IDB4NDgsDQogCU1DVV9F WFRfQ01EX0JDTl9PRkZMT0FEID0gMHg0OSwNCiAJTUNVX0VYVF9DTURfU0VUX1JYX1BBVEggPSAw eDRlLA0KIAlNQ1VfRVhUX0NNRF9UWF9QT1dFUl9GRUFUVVJFX0NUUkwgPSAweDU4LA0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3NjE1L210NzYxNS5o IGIvZHJpdmVycy9uZXQvd2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUvbXQ3NjE1LmgNCmlu ZGV4IGY3MjUwNmQ5ZjY0Ni4uNDk2YzQ2ZjEwNzNlIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQv d2lyZWxlc3MvbWVkaWF0ZWsvbXQ3Ni9tdDc2MTUvbXQ3NjE1LmgNCisrKyBiL2RyaXZlcnMvbmV0 L3dpcmVsZXNzL21lZGlhdGVrL210NzYvbXQ3NjE1L210NzYxNS5oDQpAQCAtMTEsNyArMTEsNyBA QA0KICNpbmNsdWRlICIuLi9tdDc2LmgiDQogI2luY2x1ZGUgInJlZ3MuaCINCiANCi0jZGVmaW5l IE1UNzYxNV9NQVhfSU5URVJGQUNFUwkJNA0KKyNkZWZpbmUgTVQ3NjE1X01BWF9JTlRFUkZBQ0VT CQkxNg0KICNkZWZpbmUgTVQ3NjE1X01BWF9XTU1fU0VUUwkJNA0KICNkZWZpbmUgTVQ3NjYzX1dU QkxfU0laRQkJMzINCiAjZGVmaW5lIE1UNzYxNV9XVEJMX1NJWkUJCTEyOA0KQEAgLTE3Niw3ICsx NzYsNyBAQCBzdHJ1Y3QgbXQ3NjE1X3BoeSB7DQogCXN0cnVjdCBpZWVlODAyMTFfdmlmICptb25p dG9yX3ZpZjsNCiANCiAJdTMyIHJ4ZmlsdGVyOw0KLQl1MzIgb21hY19tYXNrOw0KKwl1NjQgb21h Y19tYXNrOw0KIA0KIAl1MTYgbm9pc2U7DQogDQpAQCAtMzQ2LDI0ICszNDYsMTMgQEAgZW51bSB7 DQogCUhXX0JTU0lEXzEsDQogCUhXX0JTU0lEXzIsDQogCUhXX0JTU0lEXzMsDQotCUhXX0JTU0lE X01BWCwNCisJSFdfQlNTSURfTUFYID0gSFdfQlNTSURfMywNCiAJRVhUX0JTU0lEX1NUQVJUID0g MHgxMCwNCiAJRVhUX0JTU0lEXzEsDQotCUVYVF9CU1NJRF8yLA0KLQlFWFRfQlNTSURfMywNCi0J RVhUX0JTU0lEXzQsDQotCUVYVF9CU1NJRF81LA0KLQlFWFRfQlNTSURfNiwNCi0JRVhUX0JTU0lE XzcsDQotCUVYVF9CU1NJRF84LA0KLQlFWFRfQlNTSURfOSwNCi0JRVhUX0JTU0lEXzEwLA0KLQlF WFRfQlNTSURfMTEsDQotCUVYVF9CU1NJRF8xMiwNCi0JRVhUX0JTU0lEXzEzLA0KLQlFWFRfQlNT SURfMTQsDQotCUVYVF9CU1NJRF8xNSwNCi0JRVhUX0JTU0lEX0VORA0KKwlFWFRfQlNTSURfMTUg PSAweDFmLA0KKwlFWFRfQlNTSURfTUFYID0gRVhUX0JTU0lEXzE1LA0KKwlSRVBFQVRFUl9CU1NJ RF9TVEFSVCA9IDB4MjAsDQorCVJFUEVBVEVSX0JTU0lEX01BWCA9IDB4M2YsDQogfTsNCiANCiBl bnVtIHsNCi0tIA0KMi4xOC4wDQo=