From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 65C492E718F; Thu, 2 Jul 2026 03:18:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=211.75.126.72 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782962285; cv=none; b=BFbdq1FiMZeAl8zhLhX63MyGzeuGIqMo94PACV2SAV17/75mTALDsTpFEiHxB1Xo0vr5QksPlk/yrsWTiRoGVEgKhszDA/HwdHzQJEBTjJuWJy4tKML0zoVNtSILfl1GI33mvW2ug7vfkGRVcYLEGGFW8C3EXuvYS5UKu6wpcZ0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782962285; c=relaxed/simple; bh=Yg0zXJj1W/fbIRAef8C1/q7ecrlw0Yq+B7etwO2Rl20=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=sPodoq7aZQG7NqJjRl+xelmQKrZb2rvZDSy4xl9nFmQo7D/Q4AF00qyqUZRiE6BC6RuW/ZUga8DqUoaWUrG8ejeo43pzgr5yhTByju3EsVIdKZdcdp1UzVbNlwVRtYkB0qNNNSOcPK4fFXid9Ew5Sm/7O2RMTUb0IzcUFrdYjvs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn; spf=pass smtp.mailfrom=realsil.com.cn; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b=ha0zDkDT; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realsil.com.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=realsil.com.cn header.i=@realsil.com.cn header.b="ha0zDkDT" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 6623GNgE41636421, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realsil.com.cn; s=dkim; t=1782962184; bh=Yg0zXJj1W/fbIRAef8C1/q7ecrlw0Yq+B7etwO2Rl20=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=ha0zDkDTgyZuXfUBr2MeR671L3Ns02jtV9YiExwdOy+mT2DNTEEJ6V/4KxdJ8FLV/ 64HbWBCM2MWmfJSoHxB/43EILP4SnzD4tF6gaVZ6l7TIyrLNPN1jcMLdRkA8F2C3QJ na9G/g090UDbff+ovsde7fJqX9MpY/v1C10gpzcCR497t6RHqgnPubVN4biO5xJpPZ uAyn9GHB1gnNHYYTT3SOemcaFvh8b2L8BVbY4Xz7JQKhEjHlIVTwp8W1TsfwfeyE8K lhhFl0JepRjjvcuZ0kWzdlW5yTQnwSLPB+e+eszEVstFOjL9GYYyYJV+gffeeb4T+K hlScswhlaXjww== Received: from RS-EX-MBS3.realsil.com.cn ([172.29.17.103]) by rtits2.realtek.com.tw (8.15.2/3.29/5.94) with ESMTPS id 6623GNgE41636421 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Thu, 2 Jul 2026 11:16:24 +0800 Received: from RS-EX-MBS3.realsil.com.cn (172.29.17.103) by RS-EX-MBS3.realsil.com.cn (172.29.17.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Thu, 2 Jul 2026 11:16:23 +0800 Received: from RS-EX-MBS3.realsil.com.cn ([172.29.17.103]) by RS-EX-MBS3.realsil.com.cn ([172.29.17.103]) with mapi id 15.02.2562.017; Thu, 2 Jul 2026 11:16:23 +0800 From: Javen To: Andrew Lunn CC: "hkallweit1@gmail.com" , "linux@armlinux.org.uk" , "davem@davemloft.net" , "edumazet@google.com" , "kuba@kernel.org" , "pabeni@redhat.com" , =?gb2312?B?ucvP/r78?= , "nb@tipi-net.de" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "daniel@makrotopia.org" , "vladimir.oltean@nxp.com" , "nic_swsd@realtek.com" Subject: RE: [PATCH net-next v7 4/4] net: phy: realtek: load firmware for RTL8261C_CG Thread-Topic: [PATCH net-next v7 4/4] net: phy: realtek: load firmware for RTL8261C_CG Thread-Index: AQHdB5Mi2zTtBR+L5Eq2aspgEkstprZYHgGAgAF0i2A= Date: Thu, 2 Jul 2026 03:16:23 +0000 Message-ID: <355720183f714480bd74fad293a5fb7e@realsil.com.cn> References: <20260629064718.1349-1-javen_xu@realsil.com.cn> <20260629064718.1349-5-javen_xu@realsil.com.cn> <98213191-594d-4e26-beeb-fd9b9a838b64@lunn.ch> In-Reply-To: <98213191-594d-4e26-beeb-fd9b9a838b64@lunn.ch> Accept-Language: zh-CN, en-US Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Pg0KPk9uIE1vbiwgSnVuIDI5LCAyMDI2IGF0IDAyOjQ3OjE4UE0gKzA4MDAsIGphdmVuIHdyb3Rl Og0KPj4gRnJvbTogSmF2ZW4gWHUgPGphdmVuX3h1QHJlYWxzaWwuY29tLmNuPg0KPj4NCj4+IFRo aXMgcGF0Y2ggYWRkcyBzdXBwb3J0IGZvciBsb2FkaW5nIGZpcm13YXJlLiBEb3dubG9hZCBzb21l IHBhcmFtZXRlcnMNCj4+IGZvciBSVEw4MjYxQ19DRy4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBK YXZlbiBYdSA8amF2ZW5feHVAcmVhbHNpbC5jb20uY24+DQo+PiAtLS0NCj4+IENoYW5nZXMgaW4g djI6DQo+PiAgLSByZW1vdmUgX19wYWNrLCBzdHJ1Y3QgcnRsODI2MXhfZndfaGVhZGVyIGFuZCBy dGw4MjYxeF9md19lbnRyeSB3aWxsDQo+PiBub3QgcGFkDQo+PiAgLSByZXZlcnNlIHhtYXMgdHJl ZSBmb3Igc29tZSBkZWZpbml0aW9uDQo+PiAgLSBhZGQgZXhwbGFuYXRpb24gb24gcnRsX3BoeV93 cml0ZV9tbWRfYml0cygpDQo+Pg0KPj4gQ2hhbmdlcyBpbiB2MzoNCj4+ICAtIGFkZCBzdHJ1Y3Qg cnRsODI2MXhfcHJpdg0KPj4NCj4+IENoYW5nZXMgaW4gdjQ6DQo+PiAgLSBhZGQgc3RydWN0IGRl dmljZSAqZGV2DQo+Pg0KPj4gQ2hhbmdlcyBpbiB2NToNCj4+ICAtIG5vIGNoYW5nZXMNCj4+DQo+ PiBDaGFuZ2VzIGluIHY2Og0KPj4gIC0gcmVwbGFjZSBydGxfcGh5X3dyaXRlX21tZF9iaXRzIHdp dGggcGh5X21vZGlmeV9tbWQsIGtlZXAgbWRpbyBsb2NrDQo+PiAgLSBjaGVjayBtc2IgYW5kIGxz YiBhdCB0aGUgYmVnaW5uaW5nIG9mIHJ0bDgyNjF4X2Z3X2V4ZWN1dGVfZW50cnkoKQ0KPj4gIC0g YWRkIGNvbW1lbnRzIG9uIHJ0bDgyNjF4X2NvbmZpZ19pbml0KCkNCj4+DQo+PiBDaGFuZ2VzIGlu IHY3Og0KPj4gIC0gbm8gY2hhbmdlcw0KPj4gLS0tDQo+PiAgZHJpdmVycy9uZXQvcGh5L3JlYWx0 ZWsvcmVhbHRla19tYWluLmMgfCAyMjANCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ ICAxIGZpbGUgY2hhbmdlZCwgMjIwIGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9uZXQvcGh5L3JlYWx0ZWsvcmVhbHRla19tYWluLmMNCj4+IGIvZHJpdmVycy9uZXQv cGh5L3JlYWx0ZWsvcmVhbHRla19tYWluLmMNCj4+IGluZGV4IGVmMzcwMDg5NGViZi4uYmY3YmMx OWZiNDRjIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9uZXQvcGh5L3JlYWx0ZWsvcmVhbHRla19t YWluLmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L3BoeS9yZWFsdGVrL3JlYWx0ZWtfbWFpbi5jDQo+ PiBAQCAtOCw3ICs4LDkgQEANCj4+ICAgKiBDb3B5cmlnaHQgKGMpIDIwMDQgRnJlZXNjYWxlIFNl bWljb25kdWN0b3IsIEluYy4NCj4+ICAgKi8NCj4+ICAjaW5jbHVkZSA8bGludXgvYml0b3BzLmg+ DQo+PiArI2luY2x1ZGUgPGxpbnV4L2NyYzMyLmg+DQo+PiAgI2luY2x1ZGUgPGxpbnV4L2V0aHRv b2xfbmV0bGluay5oPg0KPj4gKyNpbmNsdWRlIDxsaW51eC9maXJtd2FyZS5oPg0KPj4gICNpbmNs dWRlIDxsaW51eC9vZi5oPg0KPj4gICNpbmNsdWRlIDxsaW51eC9waHkuaD4NCj4+ICAjaW5jbHVk ZSA8bGludXgvcG1fd2FrZWlycS5oPg0KPj4gQEAgLTI4MSw2ICsyODMsNDIgQEANCj4+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJUTDgyNjFYX0lOVF9BTERQU19DSEcg fCBcDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSVEw4MjYxWF9J TlRfSkFCQkVSKQ0KPj4NCj4+ICsjZGVmaW5lIEZXX01BSU5fTUFHSUMgICAgICAgICAgICAgICAg ICAgICAgICAweDUyNTQ0QzM4DQo+PiArI2RlZmluZSBGV19TVUJfTUFHSUNfODI2MUMgICAgICAg ICAgIDB4MzIzNjMxNDMNCj4+ICsjZGVmaW5lIFJUTDgyNjFYX1BPTExfVElNRU9VVF9NUyAgICAg MTAwDQo+PiArDQo+PiArI2RlZmluZSBSVEw4MjYxQ19DRV9GV19OQU1FICAicnRsX25pYy9ydGw4 MjYxYy5iaW4iDQo+PiArTU9EVUxFX0ZJUk1XQVJFKFJUTDgyNjFDX0NFX0ZXX05BTUUpOw0KPj4g Kw0KPj4gK2VudW0gcnRsODI2MXhfZndfb3Agew0KPj4gKyAgICAgT1BfV1JJVEUgPSAweDAwLCAg ICAgICAgLyogV3JpdGUgKi8NCj4+ICsgICAgIE9QX1BPTEwgID0gMHgwMiwgICAgICAgIC8qIFBv bGxpbmcgKi8NCj4+ICt9Ow0KPj4gKw0KPj4gK3N0cnVjdCBydGw4MjYxeF9md19oZWFkZXIgew0K Pj4gKyAgICAgX19sZTMyIG1haW5fbWFnaWM7ICAgICAgLyogTWFpbiBtYWdpYyBudW1iZXIgMHg1 MjU0NEMzOCAoIlJUTDgiKSAqLw0KPj4gKyAgICAgX19sZTMyIHN1Yl9tYWdpYzsgICAgICAgLyog U3ViIG1hZ2ljIG51bWJlciAqLw0KPj4gKyAgICAgX19sZTE2IHZlcnNpb25fbWFqb3I7ICAgLyog TWFqb3IgdmVyc2lvbiAqLw0KPj4gKyAgICAgX19sZTE2IHZlcnNpb25fbWlub3I7ICAgLyogTWlu b3IgdmVyc2lvbiAqLw0KPj4gKyAgICAgX19sZTE2IG51bV9lbnRyaWVzOyAgICAgLyogTnVtYmVy IG9mIGVudHJpZXMgKi8NCj4+ICsgICAgIF9fbGUxNiByZXNlcnZlZDsgICAgICAgIC8qIFJlc2Vy dmVkICovDQo+PiArICAgICBfX2xlMzIgY3JjMzI7ICAgICAgICAgICAvKiBDUkMzMiBjaGVja3N1 bSAqLw0KPj4gK307DQo+PiArDQo+PiArc3RydWN0IHJ0bDgyNjF4X2Z3X2VudHJ5IHsNCj4+ICsg ICAgIF9fdTggIHR5cGU7ICAgICAgICAgICAgIC8qIE9wZXJhdGlvbiB0eXBlIChPUF8qKSAqLw0K Pj4gKyAgICAgX191OCAgZGV2OyAgICAgICAgICAgICAgLyogTU1EIGRldmljZSAqLw0KPj4gKyAg ICAgX19sZTE2IGFkZHI7ICAgICAgICAgICAgLyogUmVnaXN0ZXIgYWRkcmVzcyAqLw0KPj4gKyAg ICAgX191OCAgbXNiOyAgICAgICAgICAgICAgLyogTVNCIGJpdCBwb3NpdGlvbiAqLw0KPj4gKyAg ICAgX191OCAgbHNiOyAgICAgICAgICAgICAgLyogTFNCIGJpdCBwb3NpdGlvbiAqLw0KPj4gKyAg ICAgX19sZTE2IHZhbHVlOyAgICAgICAgICAgLyogVmFsdWUgdG8gd3JpdGUvY29tcGFyZSAqLw0K Pj4gKyAgICAgX19sZTE2IHRpbWVvdXRfbXM7ICAgICAgLyogUG9sbCB0aW1lb3V0IGluIG1pbGxp c2Vjb25kcyAqLw0KPj4gKyAgICAgX191OCAgcG9sbF9zZXQ7ICAgICAgICAgLyogUG9sbCBmb3Ig c2V0ICgxKSBvciBjbGVhciAoMCkgKi8NCj4+ICsgICAgIF9fdTggIHJlc2VydmVkOyAgICAgICAg IC8qIFJlc2VydmVkICovDQo+PiArfTsNCj4+ICsNCj4+ICsjZGVmaW5lIEZXX0hFQURFUl9TSVpF ICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBydGw4MjYxeF9md19oZWFkZXIpDQo+PiArI2Rl ZmluZSBGV19FTlRSWV9TSVpFICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgcnRsODI2MXhf ZndfZW50cnkpDQo+Pg0KPj4gIC8qIFJUTDgyMTFFIGFuZCBSVEw4MjExRiBzdXBwb3J0IHVwIHRv IHRocmVlIExFRHMgKi8NCj4+ICAjZGVmaW5lIFJUTDgyMTF4X0xFRF9DT1VOVCAgICAgICAgICAg ICAgICAgICAzDQo+PiBAQCAtMzAwLDYgKzMzOCwxMSBAQCBzdHJ1Y3QgcnRsODIxeF9wcml2IHsN Cj4+ICAgICAgIHUxNiBpbmVyOw0KPj4gIH07DQo+Pg0KPj4gK3N0cnVjdCBydGw4MjYxeF9wcml2 IHsNCj4+ICsgICAgIGNvbnN0IGNoYXIgKmZ3X25hbWU7DQo+PiArICAgICBib29sIGZ3X2xvYWRl ZDsNCj4+ICt9Ow0KPj4gKw0KPj4gIHN0YXRpYyBpbnQgcnRsODIxeF9yZWFkX3BhZ2Uoc3RydWN0 IHBoeV9kZXZpY2UgKnBoeWRldikgIHsNCj4+ICAgICAgIHJldHVybiBfX3BoeV9yZWFkKHBoeWRl diwgUlRMODIxeF9QQUdFX1NFTEVDVCk7IEBAIC0zNDIsOA0KPj4gKzM4NSwxNiBAQCBzdGF0aWMg aW50IHJ0bDgyMXhfbW9kaWZ5X2V4dF9wYWdlKHN0cnVjdCBwaHlfZGV2aWNlDQo+PiAqcGh5ZGV2 LCB1MTYgZXh0X3BhZ2UsDQo+Pg0KPj4gIHN0YXRpYyBpbnQgcnRsODI2MXhfcHJvYmUoc3RydWN0 IHBoeV9kZXZpY2UgKnBoeWRldikgIHsNCj4+ICsgICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9ICZw aHlkZXYtPm1kaW8uZGV2Ow0KPj4gKyAgICAgc3RydWN0IHJ0bDgyNjF4X3ByaXYgKnByaXY7DQo+ PiAgICAgICBpbnQgc3ViX3BoeV9pZCwgcmV0Ow0KPj4NCj4+ICsgICAgIHByaXYgPSBkZXZtX2t6 YWxsb2MoZGV2LCBzaXplb2YoKnByaXYpLCBHRlBfS0VSTkVMKTsNCj4+ICsgICAgIGlmICghcHJp dikNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07DQo+PiArDQo+PiArICAgICBwaHlk ZXYtPnByaXYgPSBwcml2Ow0KPj4gKw0KPj4gICAgICAgcmV0ID0gcGh5X3dyaXRlX21tZChwaHlk ZXYsIE1ESU9fTU1EX1ZFTkQyLA0KPlJUTDgyNjFYX0VYVF9BRERSX1JFRywNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgUlRMXzgyNjFYX1NVQl9QSFlfSURfQUREUik7DQo+PiAgICAgICBp ZiAocmV0IDwgMCkNCj4+IEBAIC0zNTcsNiArNDA4LDcgQEAgc3RhdGljIGludCBydGw4MjYxeF9w cm9iZShzdHJ1Y3QgcGh5X2RldmljZQ0KPj4gKnBoeWRldikNCj4+DQo+PiAgICAgICBzd2l0Y2gg KHN1Yl9waHlfaWQpIHsNCj4+ICAgICAgIGNhc2UgUlRMODI2MUNfQ0VfTU9ERUw6DQo+PiArICAg ICAgICAgICAgIHByaXYtPmZ3X25hbWUgPSBSVEw4MjYxQ19DRV9GV19OQU1FOw0KPj4gICAgICAg ICAgICAgICBwaHlkZXZfaW5mbyhwaHlkZXYsICJSVEw4MjYxQyBkZXRlY3RlZCAoc3ViX2lkIDB4 JTAyeClcbiIsDQo+c3ViX3BoeV9pZCk7DQo+PiAgICAgICAgICAgICAgIGJyZWFrOw0KPj4NCj4+ IEBAIC00MDcsNiArNDU5LDE1MyBAQCBzdGF0aWMgaW50IHJ0bDgyNjF4X3JlYWRfc3RhdHVzKHN0 cnVjdCBwaHlfZGV2aWNlDQo+KnBoeWRldikNCj4+ICAgICAgIHJldHVybiAwOw0KPj4gIH0NCj4+ DQo+PiArc3RhdGljIGludCBydGw4MjYxeF92ZXJpZnlfZmlybXdhcmUoc3RydWN0IHBoeV9kZXZp Y2UgKnBoeWRldiwgY29uc3QNCj4+ICtzdHJ1Y3QgZmlybXdhcmUgKmZ3KSB7DQo+PiArICAgICBj b25zdCBzdHJ1Y3QgcnRsODI2MXhfZndfaGVhZGVyICpoZHI7DQo+PiArICAgICB1MzIgbWFpbl9t YWdpYywgc3ViX21hZ2ljOw0KPj4gKyAgICAgdTMyIGNhbGNfY3JjLCBmaWxlX2NyYzsNCj4+ICsg ICAgIHNpemVfdCBkYXRhX2xlbjsNCj4+ICsgICAgIHUxNiBudW1fZW50cmllczsNCj4+ICsNCj4+ ICsgICAgIGlmIChmdy0+c2l6ZSA8IEZXX0hFQURFUl9TSVpFKSB7DQo+PiArICAgICAgICAgICAg IHBoeWRldl9lcnIocGh5ZGV2LCAiRmlybXdhcmUgdG9vIHNtYWxsOiAlenUgYnl0ZXNcbiIsIGZ3 LT5zaXplKTsNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArICAgICB9DQo+ PiArDQo+PiArICAgICBoZHIgPSAoY29uc3Qgc3RydWN0IHJ0bDgyNjF4X2Z3X2hlYWRlciAqKWZ3 LT5kYXRhOw0KPj4gKw0KPj4gKyAgICAgbWFpbl9tYWdpYyA9IGxlMzJfdG9fY3B1KGhkci0+bWFp bl9tYWdpYyk7DQo+PiArICAgICBpZiAobWFpbl9tYWdpYyAhPSBGV19NQUlOX01BR0lDKSB7DQo+ PiArICAgICAgICAgICAgIHBoeWRldl9lcnIocGh5ZGV2LCAiSW52YWxpZCBmaXJtd2FyZSBtYWdp YzogMHglMDh4XG4iLA0KPm1haW5fbWFnaWMpOw0KPj4gKyAgICAgICAgICAgICByZXR1cm4gLUVJ TlZBTDsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICsgICAgIHN1Yl9tYWdpYyA9IGxlMzJfdG9fY3B1 KGhkci0+c3ViX21hZ2ljKTsNCj4+ICsgICAgIGlmIChzdWJfbWFnaWMgIT0gRldfU1VCX01BR0lD XzgyNjFDKSB7DQo+PiArICAgICAgICAgICAgIHBoeWRldl9lcnIocGh5ZGV2LCAiSW52YWxpZCBz dWIgbWFnaWM6IDB4JTA4eFxuIiwgc3ViX21hZ2ljKTsNCj4+ICsgICAgICAgICAgICAgcmV0dXJu IC1FSU5WQUw7DQo+PiArICAgICB9DQo+PiArDQo+PiArICAgICBudW1fZW50cmllcyA9IGxlMTZf dG9fY3B1KGhkci0+bnVtX2VudHJpZXMpOw0KPj4gKyAgICAgZGF0YV9sZW4gPSBudW1fZW50cmll cyAqIEZXX0VOVFJZX1NJWkU7DQo+PiArDQo+PiArICAgICBpZiAoZnctPnNpemUgIT0gc2l6ZW9m KCpoZHIpICsgZGF0YV9sZW4pIHsNCj4+ICsgICAgICAgICAgICAgcGh5ZGV2X2VycihwaHlkZXYs ICJGaXJtd2FyZSBzaXplIG1pc21hdGNoXG4iKTsNCj4+ICsgICAgICAgICAgICAgcmV0dXJuIC1F SU5WQUw7DQo+PiArICAgICB9DQo+PiArDQo+PiArICAgICBjYWxjX2NyYyA9IGNyYzMyKH4wLCBm dy0+ZGF0YSArIEZXX0hFQURFUl9TSVpFLCBkYXRhX2xlbikgXiB+MDsNCj4+ICsgICAgIGZpbGVf Y3JjID0gbGUzMl90b19jcHUoaGRyLT5jcmMzMik7DQo+PiArDQo+PiArICAgICBpZiAoY2FsY19j cmMgIT0gZmlsZV9jcmMpIHsNCj4+ICsgICAgICAgICAgICAgcGh5ZGV2X2VycihwaHlkZXYsICJD UkMzMiBtaXNtYXRjaDogY2FsY3VsYXRlZD0weCUwOHgNCj5maWxlPTB4JTA4eFxuIiwNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICBjYWxjX2NyYywgZmlsZV9jcmMpOw0KPj4gKyAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICsgICAgIHJldHVybiAw Ow0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW50IHJ0bDgyNjF4X2Z3X2V4ZWN1dGVfZW50cnko c3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IHJ0bDgyNjF4X2Z3X2VudHJ5DQo+PiArKmVudHJ5KSB7DQo+ PiArICAgICB1MTYgYWRkciwgdmFsdWUsIHRpbWVvdXRfbXM7DQo+PiArICAgICB1OCBkZXYsIG1z YiwgbHNiLCBwb2xsX3NldDsNCj4+ICsgICAgIHUzMiBiaXRzLCBleHBlY3RfdmFsOw0KPj4gKyAg ICAgaW50IHJldCA9IDA7DQo+PiArICAgICBpbnQgdmFsOw0KPj4gKw0KPj4gKyAgICAgZGV2ID0g ZW50cnktPmRldjsNCj4+ICsgICAgIGFkZHIgPSBsZTE2X3RvX2NwdShlbnRyeS0+YWRkcik7DQo+ PiArICAgICBtc2IgPSBlbnRyeS0+bXNiOw0KPj4gKyAgICAgbHNiID0gZW50cnktPmxzYjsNCj4+ ICsgICAgIHZhbHVlID0gbGUxNl90b19jcHUoZW50cnktPnZhbHVlKTsNCj4+ICsgICAgIHRpbWVv dXRfbXMgPSBsZTE2X3RvX2NwdShlbnRyeS0+dGltZW91dF9tcyk7DQo+PiArICAgICBwb2xsX3Nl dCA9IGVudHJ5LT5wb2xsX3NldDsNCj4+ICsNCj4+ICsgICAgIGlmICh0aW1lb3V0X21zID09IDAp DQo+PiArICAgICAgICAgICAgIHRpbWVvdXRfbXMgPSBSVEw4MjYxWF9QT0xMX1RJTUVPVVRfTVM7 DQo+PiArDQo+PiArICAgICBpZiAobXNiID4gMTUgfHwgbHNiID4gbXNiKSB7DQo+PiArICAgICAg ICAgICAgIHBoeWRldl9lcnIocGh5ZGV2LCAiSW52YWxpZCBmaXJtd2FyZSBiaXRzOiBtc2I9JWQs IGxzYj0lZFxuIiwNCj5tc2IsIGxzYik7DQo+PiArICAgICAgICAgICAgIHJldHVybiAtRUlOVkFM Ow0KPj4gKyAgICAgfQ0KPj4gKw0KPj4gKyAgICAgc3dpdGNoIChlbnRyeS0+dHlwZSkgew0KPj4g KyAgICAgY2FzZSBPUF9XUklURToNCj4+ICsgICAgICAgICAgICAgcmV0ID0gcGh5X21vZGlmeV9t bWQocGh5ZGV2LCBkZXYsIGFkZHIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdFTk1BU0sobXNiLCBsc2IpLCAodmFsdWUgPDwgbHNiKSAmIEdFTk1BU0sobXNiLA0KPmxz YikpOw0KPj4gKyAgICAgICAgICAgICBpZiAocmV0KSB7DQo+PiArICAgICAgICAgICAgICAgICAg ICAgcGh5ZGV2X2VycihwaHlkZXYsICJXUklURSBmYWlsZWQ6IGRldj0lZCBhZGRyPTB4JTA0eFxu IiwNCj5kZXYsIGFkZHIpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ DQo+SGVyZSB5b3UgaGF2ZSBhIHJldHVybiBvbiBlcnJvci4NCj4NCj4+ICsgICAgICAgICAgICAg fQ0KPj4gKyAgICAgICAgICAgICBicmVhazsNCj4+ICsNCj4+ICsgICAgIGNhc2UgT1BfUE9MTDog ew0KPj4gKyAgICAgICAgICAgICBiaXRzID0gR0VOTUFTSyhtc2IsIGxzYik7DQo+PiArICAgICAg ICAgICAgIGV4cGVjdF92YWwgPSAodmFsdWUgPDwgbHNiKSAmIGJpdHM7DQo+PiArDQo+PiArICAg ICAgICAgICAgIGlmIChwb2xsX3NldCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICByZXQgPSBw aHlfcmVhZF9tbWRfcG9sbF90aW1lb3V0KHBoeWRldiwgZGV2LCBhZGRyLCB2YWwsDQo+PiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsICYg Yml0cykgPT0gZXhwZWN0X3ZhbCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDEwMDAsIHRpbWVvdXRfbXMgKiAxMDAwLCBmYWxzZSk7DQo+ PiArICAgICAgICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAgICAgICAgICByZXQgPSBwaHlf cmVhZF9tbWRfcG9sbF90aW1lb3V0KHBoeWRldiwgZGV2LCBhZGRyLCB2YWwsDQo+PiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodmFsICYgYml0 cykgIT0gZXhwZWN0X3ZhbCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDEwMDAsIHRpbWVvdXRfbXMgKiAxMDAwLCBmYWxzZSk7DQo+PiAr ICAgICAgICAgICAgIGlmIChyZXQpDQo+PiArICAgICAgICAgICAgICAgICAgICAgcGh5ZGV2X2Vy cihwaHlkZXYsICJQT0xMIHRpbWVvdXQ6IGRldj0lZCBhZGRyPTB4JTA0eFxuIiwNCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldiwgYWRkcik7DQo+PiArICAgICAgICAgICAg IGJyZWFrOw0KPg0KPkhlcmUgeW91IGRvbid0LiBJdCB3b3VsZCBiZSBiZXR0ZXIgaWYgdGhlIGNv ZGUgd2FzIGNvbnNpc3RlbnQuDQo+DQo+PiArICAgICB9DQo+PiArICAgICBkZWZhdWx0Og0KPj4g KyAgICAgICAgICAgICBwaHlkZXZfZXJyKHBoeWRldiwgIlVua25vd24gZmlybXdhcmUgb3BlcmF0 aW9uOiAlZFxuIiwgZW50cnktDQo+PnR5cGUpOw0KPj4gKyAgICAgICAgICAgICByZXQgPSAtRUlO VkFMOw0KPj4gKyAgICAgICAgICAgICBicmVhazsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICsgICAg IHJldHVybiByZXQ7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyBpbnQgcnRsODI2MXhfZndfbG9h ZChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2KSB7DQo+PiArICAgICBzdHJ1Y3QgcnRsODI2MXhf cHJpdiAqcHJpdiA9IHBoeWRldi0+cHJpdjsNCj4+ICsgICAgIGNvbnN0IHN0cnVjdCBydGw4MjYx eF9md19lbnRyeSAqZW50cnk7DQo+PiArICAgICBjb25zdCBzdHJ1Y3QgcnRsODI2MXhfZndfaGVh ZGVyICpoZHI7DQo+PiArICAgICBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3Ow0KPj4gKyAgICAg aW50IHJldCwgaTsNCj4+ICsNCj4+ICsgICAgIGlmICghcHJpdi0+ZndfbmFtZSkNCj4+ICsgICAg ICAgICAgICAgcmV0dXJuIDA7DQo+PiArDQo+PiArICAgICByZXQgPSByZXF1ZXN0X2Zpcm13YXJl KCZmdywgcHJpdi0+ZndfbmFtZSwgJnBoeWRldi0+bWRpby5kZXYpOw0KPj4gKyAgICAgaWYgKHJl dCkgew0KPj4gKyAgICAgICAgICAgICBwaHlkZXZfZXJyKHBoeWRldiwgIkZhaWxlZCB0byBsb2Fk IGZpcm13YXJlICVzOiAlZFxuIiwgcHJpdi0NCj4+ZndfbmFtZSwgcmV0KTsNCj4+ICsgICAgICAg ICAgICAgcmV0dXJuIHJldDsNCj4+ICsgICAgIH0NCj4+ICsNCj4+ICsgICAgIHJldCA9IHJ0bDgy NjF4X3ZlcmlmeV9maXJtd2FyZShwaHlkZXYsIGZ3KTsNCj4+ICsgICAgIGlmIChyZXQpDQo+PiAr ICAgICAgICAgICAgIGdvdG8gcmVsZWFzZV9mdzsNCj4+ICsNCj4+ICsgICAgIGhkciA9IChjb25z dCBzdHJ1Y3QgcnRsODI2MXhfZndfaGVhZGVyICopZnctPmRhdGE7DQo+PiArDQo+PiArICAgICBl bnRyeSA9IChjb25zdCBzdHJ1Y3QgcnRsODI2MXhfZndfZW50cnkgKikoZnctPmRhdGEgKyBGV19I RUFERVJfU0laRSk7DQo+PiArICAgICBmb3IgKGkgPSAwOyBpIDwgbGUxNl90b19jcHUoaGRyLT5u dW1fZW50cmllcyk7IGkrKywgZW50cnkrKykgew0KPj4gKyAgICAgICAgICAgICByZXQgPSBydGw4 MjYxeF9md19leGVjdXRlX2VudHJ5KHBoeWRldiwgZW50cnkpOw0KPj4gKyAgICAgICAgICAgICBp ZiAocmV0KSB7DQo+PiArICAgICAgICAgICAgICAgICAgICAgcGh5ZGV2X2VycihwaHlkZXYsICJF bnRyeSAlZCBmYWlsZWQ6ICVkXG4iLCBpLCByZXQpOw0KPj4gKyAgICAgICAgICAgICAgICAgICAg IGdvdG8gcmVsZWFzZV9mdzsNCj4+ICsgICAgICAgICAgICAgfQ0KPj4gKyAgICAgfQ0KPj4gKw0K Pj4gKyAgICAgcHJpdi0+ZndfbG9hZGVkID0gdHJ1ZTsNCj4+ICsNCj4+ICtyZWxlYXNlX2Z3Og0K Pj4gKyAgICAgcmVsZWFzZV9maXJtd2FyZShmdyk7DQo+PiArICAgICByZXR1cm4gcmV0Ow0KPj4g K30NCj4+ICsNCj4+ICBzdGF0aWMgaW50IHJ0bDgyNjF4X2NvbmZpZ19pbnRyKHN0cnVjdCBwaHlf ZGV2aWNlICpwaHlkZXYpICB7DQo+PiAgICAgICBpbnQgcmV0Ow0KPj4gQEAgLTQ4NCw2ICs2ODMs MjYgQEAgc3RhdGljIGludCBydGw4MjYxeF9jb25maWdfYW5lZyhzdHJ1Y3QgcGh5X2RldmljZQ0K PipwaHlkZXYpDQo+PiAgICAgICByZXR1cm4gMDsNCj4+ICB9DQo+Pg0KPj4gK3N0YXRpYyBpbnQg cnRsODI2MXhfY29uZmlnX2luaXQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikgew0KPj4gKyAg ICAgc3RydWN0IHJ0bDgyNjF4X3ByaXYgKnByaXYgPSBwaHlkZXYtPnByaXY7DQo+PiArICAgICBp bnQgcmV0ID0gMDsNCj4+ICsNCj4+ICsgICAgIC8qIFRoZSBmaXJtd2FyZSBwYXJhbWV0ZXJzIGFy ZSBwcmVzZXJ2ZWQgYWNyb3NzIElFRUUgc29mdCByZXNldHMgYW5kDQo+PiArICAgICAgKiBzdXNw ZW5kL3Jlc3VtZSBjeWNsZXMuIFJlbG9hZGluZyBpcyBvbmx5IG5lY2Vzc2FyeSBhZnRlciBhIHBv d2VyDQo+PiArICAgICAgKiBjeWNsZSBvciBoYXJkIHJlc2V0Lg0KPj4gKyAgICAgICovDQo+PiAr ICAgICBpZiAocHJpdi0+ZndfbmFtZSAmJiAhcHJpdi0+ZndfbG9hZGVkKSB7DQo+PiArICAgICAg ICAgICAgIHJldCA9IHJ0bDgyNjF4X2Z3X2xvYWQocGh5ZGV2KTsNCj4+ICsgICAgICAgICAgICAg aWYgKHJldCkgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHBoeWRldl9lcnIocGh5ZGV2LCAi RmlybXdhcmUgbG9hZGluZyBmYWlsZWQ6DQo+PiArICVkXG4iLCByZXQpOw0KPg0KPkl0IHNlZW1z IHByZXR0eSB2ZXJib3NlIHdoZW4gdGhpbmdzIGdvIHdyb25nLiBEbyB5b3UgbmVlZCBhbiBlcnJv ciBtZXNzYWdlDQo+YXQgZXZlcnkgbGV2ZWw/DQo+DQoNCkkgd2lsbCByZW1vdmUgdGhlIGxvd2Vy LWxldmVsIGVycm9yIG1lc3NhZ2VzIGFuZCBrZWVwIGEgc2luZ2xlIGVycm9yIG1lc3NhZ2UgaW4g cnRsODI2MXhfZndfbG9hZCgpLg0KDQpUaGFua3MsDQpKYXZlbg0KDQo+ICAgIEFuZHJldw0KPg0K Pi0tLQ0KPnB3LWJvdDogY3INCg==