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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C6A9FC05027 for ; Tue, 14 Mar 2023 17:18:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=vmoxAoANUv7M1IAJjfSnTiuuTsqt62zO/1YTZVrloUc=; b=wGjPHJ5LEGn6ta CBk9XR16o75O6AggQsK6cUJUMpfveF/VqNbT9oW5SOlkEWQgR3m9JYXAzOlCP2nPScah2ZSnPdQN2 f9Nb9Ma2wWgQHL10+7frNXKQFd2EBfj7I+d00jqrk5fYEhfKYqJxbFN+S5bbMnh7XmfOWdBJWzO5u YbJQu0+vVpdYVhHa/TErcrhFEATJojxuUKhlrVTcWq8heGrry+xqBMT24Gmz6LbLZjLIvatZ6mwaM 928+rlY9EekC8FvTGavWfDrviNw/BK5tth8oS+FJWIXxlrwWvlvBx/I79paHjQvRugfl9jqDGkvzL pdLuA1/Pm+D6KAx7XAoA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pc8HB-00Ayxd-1n; Tue, 14 Mar 2023 17:17:29 +0000 Received: from sender3-op-o18.zoho.com ([136.143.184.18]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pc8H8-00AyvE-09; Tue, 14 Mar 2023 17:17:28 +0000 ARC-Seal: i=1; a=rsa-sha256; t=1678814206; cv=none; d=zohomail.com; s=zohoarc; b=Ae7IJ2NJt5XEf6R9b1ZGFMqghp42QiptfRPVqYO48JZPhWyeK8jWW8wQT+su50xYNFJxmMH6qDQZU/OYkpfw+o1lxGe+DLNyASJZfYUV0LlKRtxoDK9ekhVCixJThoS0uda/JDYnTSqLfv/WDsNKBegoC0pKS9HvnGFyBU6L0K0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1678814206; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=7FYPsVXMUYBzapQ/og3FA2YuA7WefDgtC1bT+NuRoUY=; b=LuzOzkXeuo5x24mnnU0vqnAGyXrygLtm+4Aa8IR0PNOV0hjcqy29aO1i0u9LZCgFBpWZXpP2ih90mVtR4XHDYXEfZnaEuITQrAUMBeCa5rfEAvR3h8cTpvuRSAtEn2+qzBGD50OYX03pJmLXMJeyBkPrzJMgNxeiI8I8OIuZWy0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=arinc9.com; spf=pass smtp.mailfrom=arinc.unal@arinc9.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1678814206; s=zmail; d=arinc9.com; i=arinc.unal@arinc9.com; h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To; bh=7FYPsVXMUYBzapQ/og3FA2YuA7WefDgtC1bT+NuRoUY=; b=dD6ZQlTBE7HhHft70RI3QLm5XfENbw9P/mx1gOMNAPmk3KCempzs7WTYEkKiYVHu +2Ojaj03TFBT/ZQlXc5aQ9rJAOlqBTlxk02o8U0DS0H7JlAS2wT1cfsCp5fTTymeZX+ raxaY3WhEVb7Os1KvBXVbTYnhzubm2uDrfVdYitY= Received: from [10.10.10.3] (149.91.1.15 [149.91.1.15]) by mx.zohomail.com with SMTPS id 16788142036435.019579454126301; Tue, 14 Mar 2023 10:16:43 -0700 (PDT) Message-ID: Date: Tue, 14 Mar 2023 20:16:35 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.8.0 Subject: Re: [PATCH net-next v13 11/16] net: dsa: mt7530: use external PCS driver To: Daniel Golle , netdev@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Russell King , Heiner Kallweit , Lorenzo Bianconi , Mark Lee , John Crispin , Felix Fietkau , AngeloGioacchino Del Regno , Matthias Brugger , DENG Qingfang , Landen Chao , Sean Wang , Paolo Abeni , Jakub Kicinski , Eric Dumazet , "David S. Miller" , Vladimir Oltean , Florian Fainelli , Andrew Lunn , Vladimir Oltean Cc: =?UTF-8?Q?Bj=c3=b8rn_Mork?= , Frank Wunderlich , Alexander Couzens References: <2ac2ee40d3b0e705461b50613fda6a7edfdbc4b3.1678357225.git.daniel@makrotopia.org> Content-Language: en-US From: =?UTF-8?B?QXLEsW7DpyDDnE5BTA==?= In-Reply-To: <2ac2ee40d3b0e705461b50613fda6a7edfdbc4b3.1678357225.git.daniel@makrotopia.org> X-ZohoMailClient: External X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230314_101726_138076_94F7F415 X-CRM114-Status: GOOD ( 29.43 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gOS4wMy4yMDIzIDEzOjU3LCBEYW5pZWwgR29sbGUgd3JvdGU6Cj4gSW1wbGVtZW50IHJlZ21h cCBhY2Nlc3Mgd3JhcHBlcnMsIGZvciBub3cgb25seSB0byBiZSB1c2VkIGJ5IHRoZQo+IHBjcy1t dGsgZHJpdmVyLgo+IE1ha2UgdXNlIG9mIGV4dGVybmFsIFBDUyBkcml2ZXIgYW5kIGRyb3AgdGhl IHJlZHVudGFudCBpbXBsZW1lbnRhdGlvbgo+IGluIG10NzUzMC5jLgo+IEFzIGEgbmljZSBzaWRl IGVmZmVjdCB0aGUgU0dNSUkgcmVnaXN0ZXJzIGNhbiBub3cgYWxzbyBtb3JlIGVhc2lseSBiZQo+ IGluc3BlY3RlZCBmb3IgZGVidWdnaW5nIHZpYSAvc3lzL2tlcm5lbC9kZWJ1Zy9yZWdtYXAuCj4g Cj4gUmV2aWV3ZWQtYnk6IFJ1c3NlbGwgS2luZyAoT3JhY2xlKSA8cm1rK2tlcm5lbEBhcm1saW51 eC5vcmcudWs+Cj4gVGVzdGVkLWJ5OiBCasO4cm4gTW9yayA8Ympvcm5AbW9yay5ubz4KPiBTaWdu ZWQtb2ZmLWJ5OiBEYW5pZWwgR29sbGUgPGRhbmllbEBtYWtyb3RvcGlhLm9yZz4KPiBUZXN0ZWQt Ynk6IEZyYW5rIFd1bmRlcmxpY2ggPGZyYW5rLXdAcHVibGljLWZpbGVzLmRlPgo+IC0tLQo+ICAg ZHJpdmVycy9uZXQvZHNhL0tjb25maWcgIHwgICAxICsKPiAgIGRyaXZlcnMvbmV0L2RzYS9tdDc1 MzAuYyB8IDI3NyArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRy aXZlcnMvbmV0L2RzYS9tdDc1MzAuaCB8ICA0NyArLS0tLS0tCj4gICAzIGZpbGVzIGNoYW5nZWQs IDcxIGluc2VydGlvbnMoKyksIDI1NCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZHNhL0tjb25maWcgYi9kcml2ZXJzL25ldC9kc2EvS2NvbmZpZwo+IGluZGV4IGY2 ZjNiNDNkZmIwNi4uNmI0NWZhOGI2OTA3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L2RzYS9L Y29uZmlnCj4gKysrIGIvZHJpdmVycy9uZXQvZHNhL0tjb25maWcKPiBAQCAtMzgsNiArMzgsNyBA QCBjb25maWcgTkVUX0RTQV9NVDc1MzAKPiAgIAl0cmlzdGF0ZSAiTWVkaWFUZWsgTVQ3NTMwIGFu ZCBNVDc1MzEgRXRoZXJuZXQgc3dpdGNoIHN1cHBvcnQiCj4gICAJc2VsZWN0IE5FVF9EU0FfVEFH X01USwo+ICAgCXNlbGVjdCBNRURJQVRFS19HRV9QSFkKPiArCXNlbGVjdCBQQ1NfTVRLX0xZTlhJ Cj4gICAJaGVscAo+ICAgCSAgVGhpcyBlbmFibGVzIHN1cHBvcnQgZm9yIHRoZSBNZWRpYVRlayBN VDc1MzAgYW5kIE1UNzUzMSBFdGhlcm5ldAo+ICAgCSAgc3dpdGNoIGNoaXBzLiBNdWx0aS1jaGlw IG1vZHVsZSBNVDc1MzAgaW4gTVQ3NjIxQVQsIE1UNzYyMURBVCwKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZHNhL210NzUzMC5jIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCj4gaW5kZXgg M2ExNTAxNWJjNDA5Li41ODJiYTMwMzc0YzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvZHNh L210NzUzMC5jCj4gKysrIGIvZHJpdmVycy9uZXQvZHNhL210NzUzMC5jCj4gQEAgLTE0LDYgKzE0 LDcgQEAKPiAgICNpbmNsdWRlIDxsaW51eC9vZl9tZGlvLmg+Cj4gICAjaW5jbHVkZSA8bGludXgv b2ZfbmV0Lmg+Cj4gICAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KPiArI2luY2x1ZGUg PGxpbnV4L3Bjcy9wY3MtbXRrLWx5bnhpLmg+Cj4gICAjaW5jbHVkZSA8bGludXgvcGh5bGluay5o Pgo+ICAgI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L3JlZ3Vs YXRvci9jb25zdW1lci5oPgo+IEBAIC0yNTY3LDEyOCArMjU2OCwxMSBAQCBzdGF0aWMgaW50IG10 NzUzMV9yZ21paV9zZXR1cChzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYsIHUzMiBwb3J0LAo+ICAg CXJldHVybiAwOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB2b2lkIG10NzUzMV9wY3NfbGlua191cChz dHJ1Y3QgcGh5bGlua19wY3MgKnBjcywgdW5zaWduZWQgaW50IG1vZGUsCj4gLQkJCSAgICAgICBw aHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlLCBpbnQgc3BlZWQsIGludCBkdXBsZXgpCj4gLXsKPiAt CXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IHBjc190b19tdDc1M3hfcGNzKHBjcyktPnByaXY7 Cj4gLQlpbnQgcG9ydCA9IHBjc190b19tdDc1M3hfcGNzKHBjcyktPnBvcnQ7Cj4gLQl1bnNpZ25l ZCBpbnQgdmFsOwo+IC0KPiAtCS8qIEZvciBhZGp1c3Rpbmcgc3BlZWQgYW5kIGR1cGxleCBvZiBT R01JSSBmb3JjZSBtb2RlLiAqLwo+IC0JaWYgKGludGVyZmFjZSAhPSBQSFlfSU5URVJGQUNFX01P REVfU0dNSUkgfHwKPiAtCSAgICBwaHlsaW5rX2F1dG9uZWdfaW5iYW5kKG1vZGUpKQo+IC0JCXJl dHVybjsKPiAtCj4gLQkvKiBTR01JSSBmb3JjZSBtb2RlIHNldHRpbmcgKi8KPiAtCXZhbCA9IG10 NzUzMF9yZWFkKHByaXYsIE1UNzUzMV9TR01JSV9NT0RFKHBvcnQpKTsKPiAtCXZhbCAmPSB+TVQ3 NTMxX1NHTUlJX0lGX01PREVfTUFTSzsKPiAtCj4gLQlzd2l0Y2ggKHNwZWVkKSB7Cj4gLQljYXNl IFNQRUVEXzEwOgo+IC0JCXZhbCB8PSBNVDc1MzFfU0dNSUlfRk9SQ0VfU1BFRURfMTA7Cj4gLQkJ YnJlYWs7Cj4gLQljYXNlIFNQRUVEXzEwMDoKPiAtCQl2YWwgfD0gTVQ3NTMxX1NHTUlJX0ZPUkNF X1NQRUVEXzEwMDsKPiAtCQlicmVhazsKPiAtCWNhc2UgU1BFRURfMTAwMDoKPiAtCQl2YWwgfD0g TVQ3NTMxX1NHTUlJX0ZPUkNFX1NQRUVEXzEwMDA7Cj4gLQkJYnJlYWs7Cj4gLQl9Cj4gLQo+IC0J LyogTVQ3NTMxIFNHTUlJIDFHIGZvcmNlIG1vZGUgY2FuIG9ubHkgd29yayBpbiBmdWxsIGR1cGxl eCBtb2RlLAo+IC0JICogbm8gbWF0dGVyIE1UNzUzMV9TR01JSV9GT1JDRV9IQUxGX0RVUExFWCBp cyBzZXQgb3Igbm90Lgo+IC0JICoKPiAtCSAqIFRoZSBzcGVlZCBjaGVjayBpcyB1bm5lY2Vzc2Fy eSBhcyB0aGUgTUFDIGNhcGFiaWxpdGllcyBhcHBseQo+IC0JICogdGhpcyByZXN0cmljdGlvbi4g LS1ybWsKPiAtCSAqLwo+IC0JaWYgKChzcGVlZCA9PSBTUEVFRF8xMCB8fCBzcGVlZCA9PSBTUEVF RF8xMDApICYmCj4gLQkgICAgZHVwbGV4ICE9IERVUExFWF9GVUxMKQo+IC0JCXZhbCB8PSBNVDc1 MzFfU0dNSUlfRk9SQ0VfSEFMRl9EVVBMRVg7Cj4gLQo+IC0JbXQ3NTMwX3dyaXRlKHByaXYsIE1U NzUzMV9TR01JSV9NT0RFKHBvcnQpLCB2YWwpOwo+IC19Cj4gLQo+ICAgc3RhdGljIGJvb2wgbXQ3 NTN4X2lzX21hY19wb3J0KHUzMiBwb3J0KQo+ICAgewo+ICAgCXJldHVybiAocG9ydCA9PSA1IHx8 IHBvcnQgPT0gNik7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGludCBtdDc1MzFfc2dtaWlfc2V0dXBf bW9kZV9mb3JjZShzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYsIHUzMiBwb3J0LAo+IC0JCQkJCSBw aHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKQo+IC17Cj4gLQl1MzIgdmFsOwo+IC0KPiAtCWlmICgh bXQ3NTN4X2lzX21hY19wb3J0KHBvcnQpKQo+IC0JCXJldHVybiAtRUlOVkFMOwo+IC0KPiAtCW10 NzUzMF9zZXQocHJpdiwgTVQ3NTMxX1FQSFlfUFdSX1NUQVRFX0NUUkwocG9ydCksCj4gLQkJICAg TVQ3NTMxX1NHTUlJX1BIWUFfUFdEKTsKPiAtCj4gLQl2YWwgPSBtdDc1MzBfcmVhZChwcml2LCBN VDc1MzFfUEhZQV9DVFJMX1NJR05BTDMocG9ydCkpOwo+IC0JdmFsICY9IH5NVDc1MzFfUkdfVFBI WV9TUEVFRF9NQVNLOwo+IC0JLyogU2V0dXAgMi41IHRpbWVzIGZhc3RlciBjbG9jayBmb3IgMi41 R2JwcyBkYXRhIHNwZWVkcyB3aXRoIDEwQi84Qgo+IC0JICogZW5jb2RpbmcuCj4gLQkgKi8KPiAt CXZhbCB8PSAoaW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV8yNTAwQkFTRVgpID8KPiAt CQlNVDc1MzFfUkdfVFBIWV9TUEVFRF8zXzEyNUcgOiBNVDc1MzFfUkdfVFBIWV9TUEVFRF8xXzI1 RzsKPiAtCW10NzUzMF93cml0ZShwcml2LCBNVDc1MzFfUEhZQV9DVFJMX1NJR05BTDMocG9ydCks IHZhbCk7Cj4gLQo+IC0JbXQ3NTMwX2NsZWFyKHByaXYsIE1UNzUzMV9QQ1NfQ09OVFJPTF8xKHBv cnQpLCBNVDc1MzFfU0dNSUlfQU5fRU5BQkxFKTsKPiAtCj4gLQkvKiBNVDc1MzEgU0dNSUkgMUcg YW5kIDIuNUcgZm9yY2UgbW9kZSBjYW4gb25seSB3b3JrIGluIGZ1bGwgZHVwbGV4Cj4gLQkgKiBt b2RlLCBubyBtYXR0ZXIgTVQ3NTMxX1NHTUlJX0ZPUkNFX0hBTEZfRFVQTEVYIGlzIHNldCBvciBu b3QuCj4gLQkgKi8KPiAtCW10NzUzMF9ybXcocHJpdiwgTVQ3NTMxX1NHTUlJX01PREUocG9ydCks Cj4gLQkJICAgTVQ3NTMxX1NHTUlJX0lGX01PREVfTUFTSyB8IE1UNzUzMV9TR01JSV9SRU1PVEVf RkFVTFRfRElTLAo+IC0JCSAgIE1UNzUzMV9TR01JSV9GT1JDRV9TUEVFRF8xMDAwKTsKPiAtCj4g LQltdDc1MzBfd3JpdGUocHJpdiwgTVQ3NTMxX1FQSFlfUFdSX1NUQVRFX0NUUkwocG9ydCksIDAp Owo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1zdGF0aWMgaW50IG10NzUzMV9zZ21paV9z ZXR1cF9tb2RlX2FuKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiwgaW50IHBvcnQsCj4gLQkJCQkg ICAgICBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlKQo+IC17Cj4gLQlpZiAoIW10NzUzeF9pc19t YWNfcG9ydChwb3J0KSkKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAtCj4gLQltdDc1MzBfc2V0KHBy aXYsIE1UNzUzMV9RUEhZX1BXUl9TVEFURV9DVFJMKHBvcnQpLAo+IC0JCSAgIE1UNzUzMV9TR01J SV9QSFlBX1BXRCk7Cj4gLQo+IC0JbXQ3NTMwX3Jtdyhwcml2LCBNVDc1MzFfUEhZQV9DVFJMX1NJ R05BTDMocG9ydCksCj4gLQkJICAgTVQ3NTMxX1JHX1RQSFlfU1BFRURfTUFTSywgTVQ3NTMxX1JH X1RQSFlfU1BFRURfMV8yNUcpOwo+IC0KPiAtCW10NzUzMF9zZXQocHJpdiwgTVQ3NTMxX1NHTUlJ X01PREUocG9ydCksCj4gLQkJICAgTVQ3NTMxX1NHTUlJX1JFTU9URV9GQVVMVF9ESVMgfAo+IC0J CSAgIE1UNzUzMV9TR01JSV9TUEVFRF9EVVBMRVhfQU4pOwo+IC0KPiAtCW10NzUzMF9ybXcocHJp diwgTVQ3NTMxX1BDU19TUEVFRF9BQklMSVRZKHBvcnQpLAo+IC0JCSAgIE1UNzUzMV9TR01JSV9U WF9DT05GSUdfTUFTSywgMSk7Cj4gLQo+IC0JbXQ3NTMwX3NldChwcml2LCBNVDc1MzFfUENTX0NP TlRST0xfMShwb3J0KSwgTVQ3NTMxX1NHTUlJX0FOX0VOQUJMRSk7Cj4gLQo+IC0JbXQ3NTMwX3Nl dChwcml2LCBNVDc1MzFfUENTX0NPTlRST0xfMShwb3J0KSwgTVQ3NTMxX1NHTUlJX0FOX1JFU1RB UlQpOwo+IC0KPiAtCW10NzUzMF93cml0ZShwcml2LCBNVDc1MzFfUVBIWV9QV1JfU1RBVEVfQ1RS TChwb3J0KSwgMCk7Cj4gLQo+IC0JcmV0dXJuIDA7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIG10 NzUzMV9wY3NfYW5fcmVzdGFydChzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcykKPiAtewo+IC0Jc3Ry dWN0IG10NzUzMF9wcml2ICpwcml2ID0gcGNzX3RvX210NzUzeF9wY3MocGNzKS0+cHJpdjsKPiAt CWludCBwb3J0ID0gcGNzX3RvX210NzUzeF9wY3MocGNzKS0+cG9ydDsKPiAtCXUzMiB2YWw7Cj4g LQo+IC0JLyogT25seSByZXN0YXJ0IEFOIHdoZW4gQU4gaXMgZW5hYmxlZCAqLwo+IC0JdmFsID0g bXQ3NTMwX3JlYWQocHJpdiwgTVQ3NTMxX1BDU19DT05UUk9MXzEocG9ydCkpOwo+IC0JaWYgKHZh bCAmIE1UNzUzMV9TR01JSV9BTl9FTkFCTEUpIHsKPiAtCQl2YWwgfD0gTVQ3NTMxX1NHTUlJX0FO X1JFU1RBUlQ7Cj4gLQkJbXQ3NTMwX3dyaXRlKHByaXYsIE1UNzUzMV9QQ1NfQ09OVFJPTF8xKHBv cnQpLCB2YWwpOwo+IC0JfQo+IC19Cj4gLQo+ICAgc3RhdGljIGludAo+ICAgbXQ3NTMxX21hY19j b25maWcoc3RydWN0IGRzYV9zd2l0Y2ggKmRzLCBpbnQgcG9ydCwgdW5zaWduZWQgaW50IG1vZGUs Cj4gICAJCSAgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSkKPiBAQCAtMjcxMSwxMSArMjU5NSwx MSBAQCBtdDc1MzFfbWFjX2NvbmZpZyhzdHJ1Y3QgZHNhX3N3aXRjaCAqZHMsIGludCBwb3J0LCB1 bnNpZ25lZCBpbnQgbW9kZSwKPiAgIAkJcGh5ZGV2ID0gZHAtPnNsYXZlLT5waHlkZXY7Cj4gICAJ CXJldHVybiBtdDc1MzFfcmdtaWlfc2V0dXAocHJpdiwgcG9ydCwgaW50ZXJmYWNlLCBwaHlkZXYp Owo+ICAgCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFX1NHTUlJOgo+IC0JCXJldHVybiBtdDc1MzFf c2dtaWlfc2V0dXBfbW9kZV9hbihwcml2LCBwb3J0LCBpbnRlcmZhY2UpOwo+ICAgCWNhc2UgUEhZ X0lOVEVSRkFDRV9NT0RFX05BOgo+ICAgCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFXzEwMDBCQVNF WDoKPiAgIAljYXNlIFBIWV9JTlRFUkZBQ0VfTU9ERV8yNTAwQkFTRVg6Cj4gLQkJcmV0dXJuIG10 NzUzMV9zZ21paV9zZXR1cF9tb2RlX2ZvcmNlKHByaXYsIHBvcnQsIGludGVyZmFjZSk7Cj4gKwkJ LyogaGFuZGxlZCBpbiBTR01JSSBQQ1MgZHJpdmVyICovCj4gKwkJcmV0dXJuIDA7Cj4gICAJZGVm YXVsdDoKPiAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gICAJfQo+IEBAIC0yNzQwLDExICsyNjI0LDEx IEBAIG10NzUzeF9waHlsaW5rX21hY19zZWxlY3RfcGNzKHN0cnVjdCBkc2Ffc3dpdGNoICpkcywg aW50IHBvcnQsCj4gICAKPiAgIAlzd2l0Y2ggKGludGVyZmFjZSkgewo+ICAgCWNhc2UgUEhZX0lO VEVSRkFDRV9NT0RFX1RSR01JSToKPiArCQlyZXR1cm4gJnByaXYtPnBjc1twb3J0XS5wY3M7Cj4g ICAJY2FzZSBQSFlfSU5URVJGQUNFX01PREVfU0dNSUk6Cj4gICAJY2FzZSBQSFlfSU5URVJGQUNF X01PREVfMTAwMEJBU0VYOgo+ICAgCWNhc2UgUEhZX0lOVEVSRkFDRV9NT0RFXzI1MDBCQVNFWDoK PiAtCQlyZXR1cm4gJnByaXYtPnBjc1twb3J0XS5wY3M7Cj4gLQo+ICsJCXJldHVybiBwcml2LT5w b3J0c1twb3J0XS5zZ21paV9wY3M7Cj4gICAJZGVmYXVsdDoKPiAgIAkJcmV0dXJuIE5VTEw7Cj4g ICAJfQo+IEBAIC0yOTgyLDg2ICsyODY2LDYgQEAgc3RhdGljIHZvaWQgbXQ3NTMwX3Bjc19nZXRf c3RhdGUoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsCj4gICAJCXN0YXRlLT5wYXVzZSB8PSBNTE9f UEFVU0VfVFg7Cj4gICB9Cj4gICAKPiAtc3RhdGljIGludAo+IC1tdDc1MzFfc2dtaWlfcGNzX2dl dF9zdGF0ZV9hbihzdHJ1Y3QgbXQ3NTMwX3ByaXYgKnByaXYsIGludCBwb3J0LAo+IC0JCQkgICAg ICBzdHJ1Y3QgcGh5bGlua19saW5rX3N0YXRlICpzdGF0ZSkKPiAtewo+IC0JdTMyIHN0YXR1cywg dmFsOwo+IC0JdTE2IGNvbmZpZ19yZWc7Cj4gLQo+IC0Jc3RhdHVzID0gbXQ3NTMwX3JlYWQocHJp diwgTVQ3NTMxX1BDU19DT05UUk9MXzEocG9ydCkpOwo+IC0Jc3RhdGUtPmxpbmsgPSAhIShzdGF0 dXMgJiBNVDc1MzFfU0dNSUlfTElOS19TVEFUVVMpOwo+IC0Jc3RhdGUtPmFuX2NvbXBsZXRlID0g ISEoc3RhdHVzICYgTVQ3NTMxX1NHTUlJX0FOX0NPTVBMRVRFKTsKPiAtCWlmIChzdGF0ZS0+aW50 ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV9TR01JSSAmJgo+IC0JICAgIChzdGF0dXMgJiBN VDc1MzFfU0dNSUlfQU5fRU5BQkxFKSkgewo+IC0JCXZhbCA9IG10NzUzMF9yZWFkKHByaXYsIE1U NzUzMV9QQ1NfU1BFRURfQUJJTElUWShwb3J0KSk7Cj4gLQkJY29uZmlnX3JlZyA9IHZhbCA+PiAx NjsKPiAtCj4gLQkJc3dpdGNoIChjb25maWdfcmVnICYgTFBBX1NHTUlJX1NQRF9NQVNLKSB7Cj4g LQkJY2FzZSBMUEFfU0dNSUlfMTAwMDoKPiAtCQkJc3RhdGUtPnNwZWVkID0gU1BFRURfMTAwMDsK PiAtCQkJYnJlYWs7Cj4gLQkJY2FzZSBMUEFfU0dNSUlfMTAwOgo+IC0JCQlzdGF0ZS0+c3BlZWQg PSBTUEVFRF8xMDA7Cj4gLQkJCWJyZWFrOwo+IC0JCWNhc2UgTFBBX1NHTUlJXzEwOgo+IC0JCQlz dGF0ZS0+c3BlZWQgPSBTUEVFRF8xMDsKPiAtCQkJYnJlYWs7Cj4gLQkJZGVmYXVsdDoKPiAtCQkJ ZGV2X2Vycihwcml2LT5kZXYsICJpbnZhbGlkIHNnbWlpIFBIWSBzcGVlZFxuIik7Cj4gLQkJCXN0 YXRlLT5saW5rID0gZmFsc2U7Cj4gLQkJCXJldHVybiAtRUlOVkFMOwo+IC0JCX0KPiAtCj4gLQkJ aWYgKGNvbmZpZ19yZWcgJiBMUEFfU0dNSUlfRlVMTF9EVVBMRVgpCj4gLQkJCXN0YXRlLT5kdXBs ZXggPSBEVVBMRVhfRlVMTDsKPiAtCQllbHNlCj4gLQkJCXN0YXRlLT5kdXBsZXggPSBEVVBMRVhf SEFMRjsKPiAtCX0KPiAtCj4gLQlyZXR1cm4gMDsKPiAtfQo+IC0KPiAtc3RhdGljIHZvaWQKPiAt bXQ3NTMxX3NnbWlpX3Bjc19nZXRfc3RhdGVfaW5iYW5kKHN0cnVjdCBtdDc1MzBfcHJpdiAqcHJp diwgaW50IHBvcnQsCj4gLQkJCQkgIHN0cnVjdCBwaHlsaW5rX2xpbmtfc3RhdGUgKnN0YXRlKQo+ IC17Cj4gLQl1bnNpZ25lZCBpbnQgdmFsOwo+IC0KPiAtCXZhbCA9IG10NzUzMF9yZWFkKHByaXYs IE1UNzUzMV9QQ1NfQ09OVFJPTF8xKHBvcnQpKTsKPiAtCXN0YXRlLT5saW5rID0gISEodmFsICYg TVQ3NTMxX1NHTUlJX0xJTktfU1RBVFVTKTsKPiAtCWlmICghc3RhdGUtPmxpbmspCj4gLQkJcmV0 dXJuOwo+IC0KPiAtCXN0YXRlLT5hbl9jb21wbGV0ZSA9IHN0YXRlLT5saW5rOwo+IC0KPiAtCWlm IChzdGF0ZS0+aW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV8yNTAwQkFTRVgpCj4gLQkJ c3RhdGUtPnNwZWVkID0gU1BFRURfMjUwMDsKPiAtCWVsc2UKPiAtCQlzdGF0ZS0+c3BlZWQgPSBT UEVFRF8xMDAwOwo+IC0KPiAtCXN0YXRlLT5kdXBsZXggPSBEVVBMRVhfRlVMTDsKPiAtCXN0YXRl LT5wYXVzZSA9IE1MT19QQVVTRV9OT05FOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCBtdDc1MzFf cGNzX2dldF9zdGF0ZShzdHJ1Y3QgcGh5bGlua19wY3MgKnBjcywKPiAtCQkJCSBzdHJ1Y3QgcGh5 bGlua19saW5rX3N0YXRlICpzdGF0ZSkKPiAtewo+IC0Jc3RydWN0IG10NzUzMF9wcml2ICpwcml2 ID0gcGNzX3RvX210NzUzeF9wY3MocGNzKS0+cHJpdjsKPiAtCWludCBwb3J0ID0gcGNzX3RvX210 NzUzeF9wY3MocGNzKS0+cG9ydDsKPiAtCj4gLQlpZiAoc3RhdGUtPmludGVyZmFjZSA9PSBQSFlf SU5URVJGQUNFX01PREVfU0dNSUkpIHsKPiAtCQltdDc1MzFfc2dtaWlfcGNzX2dldF9zdGF0ZV9h bihwcml2LCBwb3J0LCBzdGF0ZSk7Cj4gLQkJcmV0dXJuOwo+IC0JfSBlbHNlIGlmICgoc3RhdGUt PmludGVyZmFjZSA9PSBQSFlfSU5URVJGQUNFX01PREVfMTAwMEJBU0VYKSB8fAo+IC0JCSAgIChz dGF0ZS0+aW50ZXJmYWNlID09IFBIWV9JTlRFUkZBQ0VfTU9ERV8yNTAwQkFTRVgpKSB7Cj4gLQkJ bXQ3NTMxX3NnbWlpX3Bjc19nZXRfc3RhdGVfaW5iYW5kKHByaXYsIHBvcnQsIHN0YXRlKTsKPiAt CQlyZXR1cm47Cj4gLQl9Cj4gLQo+IC0Jc3RhdGUtPmxpbmsgPSBmYWxzZTsKPiAtfQo+IC0KPiAg IHN0YXRpYyBpbnQgbXQ3NTN4X3Bjc19jb25maWcoc3RydWN0IHBoeWxpbmtfcGNzICpwY3MsIHVu c2lnbmVkIGludCBtb2RlLAo+ICAgCQkJICAgICBwaHlfaW50ZXJmYWNlX3QgaW50ZXJmYWNlLAo+ ICAgCQkJICAgICBjb25zdCB1bnNpZ25lZCBsb25nICphZHZlcnRpc2luZywKPiBAQCAtMzA4MSwx OCArMjg4NSw1NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBoeWxpbmtfcGNzX29wcyBtdDc1MzBf cGNzX29wcyA9IHsKPiAgIAkucGNzX2FuX3Jlc3RhcnQgPSBtdDc1MzBfcGNzX2FuX3Jlc3RhcnQs Cj4gICB9Owo+ICAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGh5bGlua19wY3Nfb3BzIG10NzUz MV9wY3Nfb3BzID0gewo+IC0JLnBjc192YWxpZGF0ZSA9IG10NzUzeF9wY3NfdmFsaWRhdGUsCj4g LQkucGNzX2dldF9zdGF0ZSA9IG10NzUzMV9wY3NfZ2V0X3N0YXRlLAo+IC0JLnBjc19jb25maWcg PSBtdDc1M3hfcGNzX2NvbmZpZywKPiAtCS5wY3NfYW5fcmVzdGFydCA9IG10NzUzMV9wY3NfYW5f cmVzdGFydCwKPiAtCS5wY3NfbGlua191cCA9IG10NzUzMV9wY3NfbGlua191cCwKPiArc3RhdGlj IGludCBtdDc1MzBfcmVnbWFwX3JlYWQodm9pZCAqY29udGV4dCwgdW5zaWduZWQgaW50IHJlZywg dW5zaWduZWQgaW50ICp2YWwpCj4gK3sKPiArCXN0cnVjdCBtdDc1MzBfcHJpdiAqcHJpdiA9IGNv bnRleHQ7Cj4gKwo+ICsJKnZhbCA9IG10NzUzMF9yZWFkKHByaXYsIHJlZyk7Cj4gKwlyZXR1cm4g MDsKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgbXQ3NTMwX3JlZ21hcF93cml0ZSh2b2lkICpjb250 ZXh0LCB1bnNpZ25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgdmFsKQo+ICt7Cj4gKwlzdHJ1Y3Qg bXQ3NTMwX3ByaXYgKnByaXYgPSBjb250ZXh0Owo+ICsKPiArCW10NzUzMF93cml0ZShwcml2LCBy ZWcsIHZhbCk7Cj4gKwlyZXR1cm4gMDsKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgbXQ3NTMwX3Jl Z21hcF91cGRhdGVfYml0cyh2b2lkICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgcmVnLAo+ICsJCQkJ ICAgICB1bnNpZ25lZCBpbnQgbWFzaywgdW5zaWduZWQgaW50IHZhbCkKPiArewo+ICsJc3RydWN0 IG10NzUzMF9wcml2ICpwcml2ID0gY29udGV4dDsKPiArCj4gKwltdDc1MzBfcm13KHByaXYsIHJl ZywgbWFzaywgdmFsKTsKPiArCXJldHVybiAwOwo+ICt9Owo+ICsKPiArc3RhdGljIGNvbnN0IHN0 cnVjdCByZWdtYXBfYnVzIG10NzUzMV9yZWdtYXBfYnVzID0gewo+ICsJLnJlZ193cml0ZSA9IG10 NzUzMF9yZWdtYXBfd3JpdGUsCj4gKwkucmVnX3JlYWQgPSBtdDc1MzBfcmVnbWFwX3JlYWQsCj4g KwkucmVnX3VwZGF0ZV9iaXRzID0gbXQ3NTMwX3JlZ21hcF91cGRhdGVfYml0cywKClRoZXNlIG5l dyBmdW5jdGlvbnMgY2FuIGJlIHVzZWQgZm9yIGJvdGggc3dpdGNoZXMsIG10NzUzMCBhbmQgbXQ3 NTMxLCAKY29ycmVjdD8gSWYgc28sIEkgYmVsaWV2ZSB0aGV5IGFyZSBzdXBwb3NlZCB0byBiZSBj YWxsZWQgbXQ3NTN4IHNpbmNlIAo4OGJkZWY4YmU5ZjYgKCJuZXQ6IGRzYTogbXQ3NTMwOiBFeHRl bmQgZGV2aWNlIGRhdGEgcmVhZHkgZm9yIGFkZGluZyBhIApuZXcgaGFyZHdhcmUiKS4KCm10NzUz eDogZnVuY3Rpb25zIHRoYXQgY2FuIGJlIHVzZWQgZm9yIG10NzUzMCBhbmQgbXQ3NTMxIHN3aXRj aGVzLgptdDc1MzA6IGZ1bmN0aW9ucyBzcGVjaWZpYyB0byBtdDc1MzAgc3dpdGNoLgptdDc1MzE6 IGZ1bmN0aW9ucyBzcGVjaWZpYyB0byBtdDc1MzEgc3dpdGNoLgoKQXLEsW7DpwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=