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 978FC36F42D; Mon, 27 Apr 2026 06:41:33 +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=1777272096; cv=none; b=uMi2LWQWh+BXjRddTwRWQWK7WRnl+KPUA5lfmp0+PKRnzQYn6C5iwoVImFaM3SJta9nH8Z2jllzf2KT3V8KVfB1L9vRVlelHNCLfc64/rgOvs0aB75x6vHJQY+1icobtJ2nxGFREuGsD9N/tg6vHNvkSD+23ZCsiB8fqOuaZGrA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777272096; c=relaxed/simple; bh=HigACJFofSl0eRRrwhYh6mfDoLYyP8ar+dikkNbpSUM=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=YUMR+TPgSFuSOY2M32ej3qql5MoY2O8qiyAFnm2GIsNdDTrd2/21JDmg9ceI5KtQEPtnphUBaoApXrbAHSLeO8yKSb8UKQN5CDWLRXcsT1bLsgOFegMIKAdE8uSYwy/mu5Sy6iBR/dTCcVIHpIsEZFNSD0dxMUPBPEll1qaMCps= 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=ls2dhz+0; 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="ls2dhz+0" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 63R6euaoF3559075, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realsil.com.cn; s=dkim; t=1777272056; bh=HigACJFofSl0eRRrwhYh6mfDoLYyP8ar+dikkNbpSUM=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=ls2dhz+0w0gobaZn9rrp5K6Gp80qNMWH9PcOP+2UjRnJLMHhp+ME7vuVfKpQgU/m0 SmqD+Wu/tyt5x0ReSzpbztK6V7oXwirAC8FUnF5uEaaHxw/8EzYWq1mL+iscKJjNpC V4KftExwq7XYXdL9vS63L1iRrPn/HjUIVCkYaCFGlmbIz5WHaD5rv9EWRY8VvrHn1t y1yaIpjdcagZiTaZICT8fcmtdDKneopRoF/kDOnbVvhXh3+ZDShClYrfxQ32uNqMn/ LmT3WtQCUIWxmD2tgU2dlb2PQh0N0qwtMx8BUlW4jXwk0lksV3bX6Sa1BAbMxpnmsr fW0blTZ5TBLeg== Received: from RS-EX-MBS4.realsil.com.cn ([172.29.17.104]) by rtits2.realtek.com.tw (8.15.2/3.27/5.94) with ESMTPS id 63R6euaoF3559075 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Mon, 27 Apr 2026 14:40:56 +0800 Received: from RS-EX-MBS3.realsil.com.cn (172.29.17.103) by RS-EX-MBS4.realsil.com.cn (172.29.17.104) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Mon, 27 Apr 2026 14:40:56 +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; Mon, 27 Apr 2026 14:40:56 +0800 From: Javen To: Heiner Kallweit , "nic_swsd@realtek.com" , "andrew+netdev@lunn.ch" , "davem@davemloft.net" , "edumazet@google.com" , "kuba@kernel.org" , "pabeni@redhat.com" , "horms@kernel.org" CC: "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: RE: [RFC Patch net-next v1 5/9] r8169: add support for msix Thread-Topic: [RFC Patch net-next v1 5/9] r8169: add support for msix Thread-Index: AQHc0Gw4fERucT/oREGcOC5PYUBGCbXv2r4AgAJu8ZA= Date: Mon, 27 Apr 2026 06:40:56 +0000 Message-ID: <2c7dd30a461944e9bc298d7d8f494dab@realsil.com.cn> References: <20260420021957.1756-1-javen_xu@realsil.com.cn> <20260420021957.1756-6-javen_xu@realsil.com.cn> <6345109a-3e87-476a-9abe-b8828e0fe9b6@gmail.com> In-Reply-To: <6345109a-3e87-476a-9abe-b8828e0fe9b6@gmail.com> Accept-Language: zh-CN, en-US Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Pk9uIDIwLjA0LjIwMjYgMDQ6MTksIGphdmVuIHdyb3RlOg0KPj4gRnJvbTogSmF2ZW4gWHUgPGph dmVuX3h1QHJlYWxzaWwuY29tLmNuPg0KPj4NCj4+IFRoaXMgcGF0Y2ggYWRkIHN1cHBvcnQgZm9y IG1zaXguIEJ1dCB3ZSBzdGlsbCB1c2UgTVNJIGhlcmUuIEFuZCB3ZQ0KPj4gZm9yY2UgbnZlY3Mg dG8gMS4gV2Ugd2lsbCBtb2RpZnkgaXQgaW4gcnNzIHBhdGNoLg0KPg0KPlRoaXMgZGVzY3JpcHRp b24gaXMgd3JvbmcuIEFsc28gYXMgb2YgdG9kYXkgcjgxNjkgc3VwcG9ydHMgTVNJWC4NCj5SZWFz b24gbGlrZWx5IGlzIHRoYXQgeW91J3JlIGNvcHlpbmcgY29kZSBmcm9tIHZlbmRvciBkcml2ZXIu DQo+DQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSmF2ZW4gWHUgPGphdmVuX3h1QHJlYWxzaWwuY29t LmNuPg0KPj4gLS0tDQo+PiAgZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2OV9tYWlu LmMgfCAxNjINCj4+ICsrKysrKysrKysrKysrKysrKysrLS0NCj4+ICAxIGZpbGUgY2hhbmdlZCwg MTUxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5X21haW4uYw0KPj4gYi9kcml2ZXJzL25l dC9ldGhlcm5ldC9yZWFsdGVrL3I4MTY5X21haW4uYw0KPj4gaW5kZXggNTJlNjkwZWJhNjQ0Li43 ZDQ5MzM0MmFiNGIgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9yZWFsdGVr L3I4MTY5X21haW4uYw0KPj4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvcmVhbHRlay9yODE2 OV9tYWluLmMNCj4+IEBAIC0xNzY0LDI2ICsxNzY0LDQwIEBAIHN0YXRpYyB1MzIgcnRsX2dldF9l dmVudHMoc3RydWN0DQo+PiBydGw4MTY5X3ByaXZhdGUgKnRwKQ0KPj4NCj4+ICBzdGF0aWMgdm9p ZCBydGxfYWNrX2V2ZW50cyhzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCwgdTMyIGJpdHMpICB7 DQo+PiAtICAgICBpZiAocnRsX2lzXzgxMjUodHApKQ0KPj4gKyAgICAgaWYgKHJ0bF9pc184MTI1 KHRwKSkgew0KPj4gICAgICAgICAgICAgICBSVExfVzMyKHRwLCBJbnRyU3RhdHVzXzgxMjUsIGJp dHMpOw0KPj4gLSAgICAgZWxzZQ0KPj4gKyAgICAgICAgICAgICBpZiAodHAtPmZlYXR1cmVzICYg UlRMX0ZFQVRVUkVfTVNJWCkgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgIFJUTF9XMzIodHAs IElTUl9WMl84MTI1LCAweGZmZmZmZmZmKTsNCj4+ICsgICAgICAgICAgICAgICAgICAgICBSVExf VzMyKHRwLCBJU1JfVjRfTDJfODEyNSwgMHhmZmZmZmZmZik7DQo+PiArICAgICAgICAgICAgIH0N Cj4+ICsgICAgIH0gZWxzZSB7DQo+PiAgICAgICAgICAgICAgIFJUTF9XMTYodHAsIEludHJTdGF0 dXMsIGJpdHMpOw0KPj4gKyAgICAgfQ0KPj4gIH0NCj4+DQo+PiAgc3RhdGljIHZvaWQgcnRsX2ly cV9kaXNhYmxlKHN0cnVjdCBydGw4MTY5X3ByaXZhdGUgKnRwKSAgew0KPj4gLSAgICAgaWYgKHJ0 bF9pc184MTI1KHRwKSkNCj4+ICsgICAgIGlmIChydGxfaXNfODEyNSh0cCkpIHsNCj4+ICAgICAg ICAgICAgICAgUlRMX1czMih0cCwgSW50ck1hc2tfODEyNSwgMCk7DQo+PiAtICAgICBlbHNlDQo+ PiArICAgICAgICAgICAgIGlmICh0cC0+ZmVhdHVyZXMgJiBSVExfRkVBVFVSRV9NU0lYKSB7DQo+ PiArICAgICAgICAgICAgICAgICAgICAgUlRMX1czMih0cCwgSU1SX1YyX0NMRUFSX1JFR184MTI1 LCAweGZmZmZmZmZmKTsNCj4+ICsgICAgICAgICAgICAgICAgICAgICBSVExfVzMyKHRwLCBJTVJf VjRfTDJfQ0xFQVJfUkVHXzgxMjUsIDB4ZmZmZmZmZmYpOw0KPj4gKyAgICAgICAgICAgICB9DQo+ PiArICAgICB9IGVsc2Ugew0KPj4gICAgICAgICAgICAgICBSVExfVzE2KHRwLCBJbnRyTWFzaywg MCk7DQo+PiArICAgICB9DQo+PiAgfQ0KPj4NCj4+ICBzdGF0aWMgdm9pZCBydGxfaXJxX2VuYWJs ZShzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCkgIHsNCj4+IC0gICAgIGlmIChydGxfaXNfODEy NSh0cCkpDQo+PiAtICAgICAgICAgICAgIFJUTF9XMzIodHAsIEludHJNYXNrXzgxMjUsIHRwLT5p cnFfbWFzayk7DQo+PiAtICAgICBlbHNlDQo+PiArICAgICBpZiAocnRsX2lzXzgxMjUodHApKSB7 DQo+PiArICAgICAgICAgICAgIGlmICh0cC0+ZmVhdHVyZXMgJiBSVExfRkVBVFVSRV9NU0lYKQ0K Pj4gKyAgICAgICAgICAgICAgICAgICAgIFJUTF9XMzIodHAsIElNUl9WMl9TRVRfUkVHXzgxMjUs IHRwLT5pcnFfbWFzayk7DQo+PiArICAgICAgICAgICAgIGVsc2UNCj4+ICsgICAgICAgICAgICAg ICAgICAgICBSVExfVzMyKHRwLCBJbnRyTWFza184MTI1LCB0cC0+aXJxX21hc2spOw0KPj4gKyAg ICAgfSBlbHNlIHsNCj4+ICAgICAgICAgICAgICAgUlRMX1cxNih0cCwgSW50ck1hc2ssIHRwLT5p cnFfbWFzayk7DQo+PiArICAgICB9DQo+PiAgfQ0KPj4NCj4+ICBzdGF0aWMgdm9pZCBydGw4MTY5 X2lycV9tYXNrX2FuZF9hY2soc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSAqdHApIEBADQo+PiAtMjg5 NCw2ICsyOTA4LDEwIEBAIHN0YXRpYyB2b2lkIHJ0bF9zb2Z0d2FyZV9wYXJhbWV0ZXJfaW5pdGlh bGl6ZShzdHJ1Y3QNCj5ydGw4MTY5X3ByaXZhdGUgKnRwKQ0KPj4gICAgICAgdHAtPkluaXRSeERl c2NUeXBlID0gUlhfREVTQ19SSU5HX1RZUEVfREVBRlVMVDsNCj4+ICAgICAgIHRwLT5Id0N1cnJJ c3JWZXIgPSB0cC0+SHdTdXBwSXNyVmVyOw0KPj4NCj4+ICsgICAgIC8qIFRoaXMganVzdCBmb3Jj ZSBudmVjcywgYW5kIHdpbGwgYmUgcmVtb3ZlIGluIHRoZSBmb2xsb3dpbmcgcGF0Y2gqLw0KPj4g KyAgICAgdHAtPm1pbl9pcnFfbnZlY3MgPSAxOw0KPj4gKyAgICAgdHAtPm1heF9pcnFfbnZlY3Mg PSAxOw0KPj4gKw0KPj4gICAgICAgcnRsX3NldHVwX21xc19yZWcodHApOw0KPj4gICAgICAgcnRs X3NldF9yaW5nX3NpemUodHAsIE5VTV9SWF9ERVNDLCBOVU1fVFhfREVTQyk7ICB9IEBAIC01MzIx LDYNCj4+ICs1MzM5LDQ0IEBAIHN0YXRpYyB2b2lkIHJ0bDgxNjlfZnJlZV9pcnEoc3RydWN0IHJ0 bDgxNjlfcHJpdmF0ZSAqdHApDQo+PiAgICAgICB9DQo+PiAgfQ0KPj4NCj4+ICtzdGF0aWMgdm9p ZCBydGw4MTY5X2Rpc2FibGVfaHdfaW50ZXJydXB0X21zaXgoc3RydWN0IHJ0bDgxNjlfcHJpdmF0 ZQ0KPj4gKyp0cCwgaW50IG1lc3NhZ2VfaWQpIHsNCj4+ICsgICAgIFJUTF9XMzIodHAsIElNUl9W Ml9DTEVBUl9SRUdfODEyNSwgQklUKG1lc3NhZ2VfaWQpKTsgfQ0KPj4gKw0KPj4gK3N0YXRpYyB2 b2lkIHJ0bDgxNjlfY2xlYXJfaHdfaXNyKHN0cnVjdCBydGw4MTY5X3ByaXZhdGUgKnRwLCBpbnQN Cj4+ICttZXNzYWdlX2lkKSB7DQo+PiArICAgICBSVExfVzMyKHRwLCBJU1JfVjJfODEyNSwgQklU KG1lc3NhZ2VfaWQpKTsgfQ0KPj4gKw0KPj4gK3N0YXRpYyB2b2lkIHJ0bDgxNjlfZW5hYmxlX2h3 X2ludGVycnVwdF9tc2l4KHN0cnVjdCBydGw4MTY5X3ByaXZhdGUNCj4+ICsqdHAsIGludCBtZXNz YWdlX2lkKSB7DQo+PiArICAgICBSVExfVzMyKHRwLCBJTVJfVjJfU0VUX1JFR184MTI1LCBCSVQo bWVzc2FnZV9pZCkpOyB9DQo+PiArDQo+PiArc3RhdGljIGlycXJldHVybl90IHJ0bDgxNjlfaW50 ZXJydXB0X21zaXgoaW50IGlycSwgdm9pZA0KPj4gKypkZXZfaW5zdGFuY2UpIHsNCj4+ICsgICAg IHN0cnVjdCBydGw4MTY5X25hcGkgKm5hcGkgPSBkZXZfaW5zdGFuY2U7DQo+PiArICAgICBzdHJ1 Y3QgcnRsODE2OV9wcml2YXRlICp0cCA9IG5hcGktPnByaXY7DQo+PiArICAgICBpbnQgbWVzc2Fn ZV9pZCA9IG5hcGktPmluZGV4Ow0KPj4gKw0KPj4gKyAgICAgcnRsODE2OV9kaXNhYmxlX2h3X2lu dGVycnVwdF9tc2l4KHRwLCBtZXNzYWdlX2lkKTsNCj4+ICsNCj4+ICsgICAgIHJ0bDgxNjlfY2xl YXJfaHdfaXNyKHRwLCBtZXNzYWdlX2lkKTsNCj4+ICsNCj4+ICsgICAgIGlmIChtZXNzYWdlX2lk ID09IE1TSVhfSURfVjRfTElOS0NIRykgew0KPj4gKyAgICAgICAgICAgICBwaHlfbWFjX2ludGVy cnVwdCh0cC0+cGh5ZGV2KTsNCj4+ICsgICAgICAgICAgICAgcnRsODE2OV9lbmFibGVfaHdfaW50 ZXJydXB0X21zaXgodHAsIG1lc3NhZ2VfaWQpOw0KPj4gKyAgICAgICAgICAgICByZXR1cm4gSVJR X0hBTkRMRUQ7DQo+PiArICAgICB9DQo+PiArDQo+PiArICAgICB0cC0+cmVjaGVja19kZXNjX293 bmJpdCA9IHRydWU7DQo+PiArDQo+PiArICAgICBuYXBpX3NjaGVkdWxlKCZuYXBpLT5uYXBpKTsN Cj4+ICsNCj4+ICsgICAgIHJldHVybiBJUlFfSEFORExFRDsNCj4+ICt9DQo+PiArDQo+PiAgc3Rh dGljIGludCBydGw4MTY5X3JlcXVlc3RfaXJxKHN0cnVjdCBydGw4MTY5X3ByaXZhdGUgKnRwKSAg ew0KPj4gICAgICAgc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHRwLT5kZXY7IEBAIC01MzMxLDEw ICs1Mzg3LDE0IEBAIHN0YXRpYw0KPj4gaW50IHJ0bDgxNjlfcmVxdWVzdF9pcnEoc3RydWN0IHJ0 bDgxNjlfcHJpdmF0ZSAqdHApDQo+Pg0KPj4gICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCB0cC0+ aXJxX252ZWNzOyBpKyspIHsNCj4+ICAgICAgICAgICAgICAgaXJxID0gJnRwLT5pcnFfdGJsW2ld Ow0KPj4gKyAgICAgICAgICAgICBpZiAodHAtPmZlYXR1cmVzICYgUlRMX0ZFQVRVUkVfTVNJWCAm JiB0cC0+SHdDdXJySXNyVmVyID4gMSkNCj4+ICsgICAgICAgICAgICAgICAgICAgICBpcnEtPmhh bmRsZXIgPSBydGw4MTY5X2ludGVycnVwdF9tc2l4Ow0KPj4gKyAgICAgICAgICAgICBlbHNlDQo+ PiArICAgICAgICAgICAgICAgICAgICAgaXJxLT5oYW5kbGVyID0gcnRsODE2OV9pbnRlcnJ1cHQ7 DQo+Pg0KPj4gICAgICAgICAgICAgICBuYXBpID0gJnRwLT5yODE2OW5hcGlbaV07DQo+PiAgICAg ICAgICAgICAgIHNucHJpbnRmKGlycS0+bmFtZSwgbGVuLCAiJXMtJWQiLCBkZXYtPm5hbWUsIGkp Ow0KPj4gLSAgICAgICAgICAgICByYyA9IHBjaV9yZXF1ZXN0X2lycSh0cC0+cGNpX2RldiwgaSwg cnRsODE2OV9pbnRlcnJ1cHQsIE5VTEwsIG5hcGksDQo+aXJxLT5uYW1lKTsNCj4+ICsgICAgICAg ICAgICAgcmMgPSBwY2lfcmVxdWVzdF9pcnEodHAtPnBjaV9kZXYsIGksIGlycS0+aGFuZGxlciwg TlVMTCwNCj4+ICsgbmFwaSwgaXJxLT5uYW1lKTsNCj4+DQo+PiAgICAgICAgICAgICAgIGlmIChy YykNCj4+ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+IEBAIC01Nzg2LDEwICs1ODQ2 LDE4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2RldmljZV9vcHMNCj4+IHJ0bF9uZXRkZXZf b3BzID0gew0KPj4NCj4+ICBzdGF0aWMgdm9pZCBydGxfc2V0X2lycV9tYXNrKHN0cnVjdCBydGw4 MTY5X3ByaXZhdGUgKnRwKSAgew0KPj4gLSAgICAgdHAtPmlycV9tYXNrID0gUnhPSyB8IFJ4RXJy IHwgVHhPSyB8IFR4RXJyIHwgTGlua0NoZzsNCj4+ICsgICAgIGlmICh0cC0+ZmVhdHVyZXMgJiBS VExfRkVBVFVSRV9NU0lYKSB7DQo+PiArICAgICAgICAgICAgIHRwLT5pcnFfbWFzayA9IElTUklN Ul9WNl9MSU5LQ0hHOw0KPj4gKyAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IHRwLT5u dW1fdHhfcmluZ3M7IGkrKykNCj4+ICsgICAgICAgICAgICAgICAgICAgICB0cC0+aXJxX21hc2sg fD0gSVNSSU1SX1Y2X1RPS19RMCA8PCBpOw0KPj4gKyAgICAgICAgICAgICBmb3IgKGludCBpID0g MDsgaSA8IHRwLT5udW1fcnhfcmluZ3M7IGkrKykNCj4+ICsgICAgICAgICAgICAgICAgICAgICB0 cC0+aXJxX21hc2sgfD0gSVNSSU1SX1Y2X1JPS19RMCA8PCBpOw0KPj4gKyAgICAgfSBlbHNlIHsN Cj4+ICsgICAgICAgICAgICAgdHAtPmlycV9tYXNrID0gUnhPSyB8IFJ4RXJyIHwgVHhPSyB8IFR4 RXJyIHwgTGlua0NoZzsNCj4+DQo+PiAtICAgICBpZiAodHAtPm1hY192ZXJzaW9uIDw9IFJUTF9H SUdBX01BQ19WRVJfMDYpDQo+PiAtICAgICAgICAgICAgIHRwLT5pcnFfbWFzayB8PSBTWVNFcnIg fCBSeEZJRk9PdmVyOw0KPj4gKyAgICAgICAgICAgICBpZiAodHAtPm1hY192ZXJzaW9uIDw9IFJU TF9HSUdBX01BQ19WRVJfMDYpDQo+PiArICAgICAgICAgICAgICAgICAgICAgdHAtPmlycV9tYXNr IHw9IFNZU0VyciB8IFJ4RklGT092ZXI7DQo+PiArICAgICB9DQo+PiAgfQ0KPj4NCj4+ICBzdGF0 aWMgaW50IHJ0bF9hbGxvY19pcnEoc3RydWN0IHJ0bDgxNjlfcHJpdmF0ZSAqdHApIEBAIC01ODE3 LDYNCj4+ICs1ODg1LDE4IEBAIHN0YXRpYyBpbnQgcnRsX2FsbG9jX2lycShzdHJ1Y3QgcnRsODE2 OV9wcml2YXRlICp0cCkNCj4+ICAgICAgIGlmIChudmVjcyA8IDApDQo+PiAgICAgICAgICAgICAg IG52ZWNzID0gcGNpX2FsbG9jX2lycV92ZWN0b3JzKHBkZXYsIDEsIDEsDQo+PiBQQ0lfSVJRX0FM TF9UWVBFUyk7DQo+Pg0KPj4gKyAgICAgdHAtPmZlYXR1cmVzICY9IH4oUlRMX0ZFQVRVUkVfTVNJ WCB8IFJUTF9GRUFUVVJFX01TSSk7DQo+PiArDQo+PiArICAgICBpZiAobnZlY3MgPiAwKSB7DQo+ PiArICAgICAgICAgICAgIHRwLT5pcnFfbnZlY3MgPSBudmVjczsNCj4+ICsgICAgICAgICAgICAg dHAtPmlycSA9IHBjaV9pcnFfdmVjdG9yKHBkZXYsIDApOw0KPj4gKyAgICAgICAgICAgICBpZiAo bnZlY3MgPiAxKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHRwLT5mZWF0dXJlcyB8PSBSVExf RkVBVFVSRV9NU0lYOw0KPj4gKyAgICAgICAgICAgICBlbHNlIGlmIChwY2lfZGV2X21zaV9lbmFi bGVkKHBkZXYpKQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgIHRwLT5mZWF0dXJlcyB8PSBSVExf RkVBVFVSRV9NU0k7DQo+PiArICAgICAgICAgICAgIHJldHVybiAwOw0KPg0KPlN1Y2ggZmVhdHVy ZSBmbGFncywgZXNwZWNpYWxseSBmb3IgTVNJL01TSVgsIGFyZSB1Z2x5Lg0KPldoeSBkb24ndCB5 b3UgbGVhdmUgdGhlIGludGVycnVwdCB0eXBlIHNlbGVjdGlvbiB0byBQQ0kgY29yZT8NCj5UaGlz IG5lZWRzIGF0IGxlYXN0IGFuIGV4cGxhbmF0aW9uLg0KDQpJIGNvbXBsZXRlbHkgYWdyZWUgdGhh dCBpdCBpcyBtaXNsZWFkaW5nIGFuZCB1Z2x5LiANClRoZSByZWFzb24gd2h5IEkgdXNlZCB0cC0+ IGZlYXR1cmVzIGhlcmUgaXMgdGhhdCBJIHdhbnQgdG8gZGlzdGluZ3Vpc2ggbmV3IGludGVycnVw dCBtYXBwaW5nIGFuZCBvbGQgaW50ZXJydXB0IG1hcHBpbmcuIEZvciBSVEw4MTI3IHdpdGggcnNz IGVuYWJsZWQsIDggcnggcXVldWVzIHJlZmVyIHRvIGludGVycnVwdCAwLTcuIEZvciBvdGhlciBj aGlwIHdpdGggcnNzIGRpc2FibGVkLCBhbGwgdHgvcnggcXVldWVzIHNoYXJlIHRoZSBzYW1lIGlu dGVycnVwdC4gVGhlIHNwZWNpZmljIGRpZmZlcmVuY2VzIGFyZSBpbiBmdW5jdGlvbiBydGw4MTY5 X3JlcXVlc3RfaXJxKCkuDQpBbmQgSSB3aWxsIHJlbmFtZSB0aGUgZmxhZyBtb3JlIGFwcHJvcHJp YXRlbHkgdG8gaW5kaWNhdGUgdGhlIG1hcHBpbmcgbWV0aG9kLg0KDQo+DQo+PiArICAgICB9DQo+ PiArDQo+PiAgICAgICB0cC0+aXJxID0gcGRldi0+aXJxOw0KPj4gICAgICAgdHAtPmlycV9udmVj cyA9IDE7DQo+Pg0KPj4gQEAgLTYwODcsNiArNjE2Nyw1MiBAQCBzdGF0aWMgYm9vbCBydGxfYXNw bV9pc19zYWZlKHN0cnVjdA0KPnJ0bDgxNjlfcHJpdmF0ZSAqdHApDQo+PiAgICAgICByZXR1cm4g ZmFsc2U7DQo+PiAgfQ0KPj4NCj4+ICtzdGF0aWMgaW50IHJ0bDgxNjlfcG9sbF9tc2l4X3J4KHN0 cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwgaW50IGJ1ZGdldCkNCj4+ICt7DQo+PiArICAgICBzdHJ1 Y3QgcnRsODE2OV9uYXBpICpyODE2OV9uYXBpID0gY29udGFpbmVyX29mKG5hcGksIHN0cnVjdCBy dGw4MTY5X25hcGksDQo+bmFwaSk7DQo+PiArICAgICBzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0 cCA9IHI4MTY5X25hcGktPnByaXY7DQo+PiArICAgICBzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0g dHAtPmRldjsNCj4+ICsgICAgIGNvbnN0IGludCBtZXNzYWdlX2lkID0gcjgxNjlfbmFwaS0+aW5k ZXg7DQo+PiArICAgICBpbnQgd29ya19kb25lID0gMDsNCj4+ICsNCj4+ICsgICAgIGlmIChtZXNz YWdlX2lkIDwgdHAtPm51bV9yeF9yaW5ncykNCj4+ICsgICAgICAgICAgICAgd29ya19kb25lICs9 IHJ0bF9yeChkZXYsIHRwLCAmdHAtPnJ4X3JpbmdbbWVzc2FnZV9pZF0sDQo+PiArIGJ1ZGdldCk7 DQo+PiArDQo+PiArICAgICBpZiAod29ya19kb25lIDwgYnVkZ2V0ICYmIG5hcGlfY29tcGxldGVf ZG9uZShuYXBpLCB3b3JrX2RvbmUpKQ0KPj4gKyAgICAgICAgICAgICBydGw4MTY5X2VuYWJsZV9o d19pbnRlcnJ1cHRfbXNpeCh0cCwgbWVzc2FnZV9pZCk7DQo+PiArDQo+PiArICAgICByZXR1cm4g d29ya19kb25lOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW50IHJ0bDgxNjlfcG9sbF9tc2l4 X3R4KHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwgaW50IGJ1ZGdldCkNCj4+ICt7DQo+PiArICAg ICBzdHJ1Y3QgcnRsODE2OV9uYXBpICpyODE2OV9uYXBpID0gY29udGFpbmVyX29mKG5hcGksIHN0 cnVjdCBydGw4MTY5X25hcGksDQo+bmFwaSk7DQo+PiArICAgICBzdHJ1Y3QgcnRsODE2OV9wcml2 YXRlICp0cCA9IHI4MTY5X25hcGktPnByaXY7DQo+PiArICAgICBzdHJ1Y3QgbmV0X2RldmljZSAq ZGV2ID0gdHAtPmRldjsNCj4+ICsgICAgIHVuc2lnbmVkIGludCB3b3JrX2RvbmUgPSAwOw0KPj4g KyAgICAgY29uc3QgaW50IG1lc3NhZ2VfaWQgPSByODE2OV9uYXBpLT5pbmRleDsNCj4+ICsgICAg IGludCB0eF9yaW5nX2lkeCA9IG1lc3NhZ2VfaWQgLSA4Ow0KPj4gKw0KPj4gKyAgICAgaWYgKHR4 X3JpbmdfaWR4ID49IDAgJiYgdHhfcmluZ19pZHggPCB0cC0+bnVtX3R4X3JpbmdzKQ0KPj4gKyAg ICAgICAgICAgICB3b3JrX2RvbmUgKz0gcnRsX3R4KGRldiwgdHAsICZ0cC0+dHhfcmluZ1t0eF9y aW5nX2lkeF0sDQo+PiArIGJ1ZGdldCk7DQo+PiArDQo+PiArICAgICBpZiAod29ya19kb25lIDwg YnVkZ2V0ICYmIG5hcGlfY29tcGxldGVfZG9uZShuYXBpLCB3b3JrX2RvbmUpKQ0KPj4gKyAgICAg ICAgICAgICBydGw4MTY5X2VuYWJsZV9od19pbnRlcnJ1cHRfbXNpeCh0cCwgbWVzc2FnZV9pZCk7 DQo+PiArDQo+PiArICAgICByZXR1cm4gd29ya19kb25lOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0 aWMgaW50IHJ0bDgxNjlfcG9sbF9tc2l4X290aGVyKHN0cnVjdCBuYXBpX3N0cnVjdCAqbmFwaSwg aW50DQo+PiArYnVkZ2V0KSB7DQo+PiArICAgICBzdHJ1Y3QgcnRsODE2OV9uYXBpICpyODE2OV9u YXBpID0gY29udGFpbmVyX29mKG5hcGksIHN0cnVjdCBydGw4MTY5X25hcGksDQo+bmFwaSk7DQo+ PiArICAgICBzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCA9IHI4MTY5X25hcGktPnByaXY7DQo+ PiArICAgICBjb25zdCBpbnQgbWVzc2FnZV9pZCA9IHI4MTY5X25hcGktPmluZGV4Ow0KPj4gKw0K Pj4gKyAgICAgbmFwaV9jb21wbGV0ZV9kb25lKG5hcGksIGJ1ZGdldCk7DQo+PiArICAgICBydGw4 MTY5X2VuYWJsZV9od19pbnRlcnJ1cHRfbXNpeCh0cCwgbWVzc2FnZV9pZCk7DQo+PiArDQo+PiAr ICAgICByZXR1cm4gMTsNCj4+ICt9DQo+Pg0KPj4gIHN0YXRpYyB2b2lkIHI4MTY5X2luaXRfbmFw aShzdHJ1Y3QgcnRsODE2OV9wcml2YXRlICp0cCkgIHsgQEAgLTYwOTUsNg0KPj4gKzYyMjEsMjAg QEAgc3RhdGljIHZvaWQgcjgxNjlfaW5pdF9uYXBpKHN0cnVjdCBydGw4MTY5X3ByaXZhdGUgKnRw KQ0KPj4gICAgICAgICAgICAgICBpbnQgKCpwb2xsKShzdHJ1Y3QgbmFwaV9zdHJ1Y3QgKm5hcGks IGludCBidWRnZXQpOw0KPj4NCj4+ICAgICAgICAgICAgICAgcG9sbCA9IHJ0bDgxNjlfcG9sbDsN Cj4+ICsgICAgICAgICAgICAgaWYgKHRwLT5mZWF0dXJlcyAmIFJUTF9GRUFUVVJFX01TSVgpIHsN Cj4+ICsgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHRwLT5Id0N1cnJJc3JWZXIpIHsNCj4+ ICsgICAgICAgICAgICAgICAgICAgICBjYXNlIDY6DQo+PiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZiAoaSA8IFI4MTI3X01BWF9SWF9RVUVVRVMpDQo+PiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBvbGwgPSBydGw4MTY5X3BvbGxfbXNpeF9yeDsNCj4+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGkgPiA3ICYmIGkgPCAxNikNCj4+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9sbCA9IHJ0bDgxNjlfcG9s bF9tc2l4X3R4Ow0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KPj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2xsID0gcnRsODE2OV9wb2xsX21z aXhfb3RoZXI7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4+ICsg ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnJlYWs7DQo+PiArICAgICAgICAgICAgICAgICAgICAgfQ0KPj4gKyAgICAgICAgICAg ICB9DQo+PiAgICAgICAgICAgICAgIG5ldGlmX25hcGlfYWRkKHRwLT5kZXYsICZyODE2OW5hcGkt Pm5hcGksIHBvbGwpOw0KPj4gICAgICAgICAgICAgICByODE2OW5hcGktPnByaXYgPSB0cDsNCj4+ ICAgICAgICAgICAgICAgcjgxNjluYXBpLT5pbmRleCA9IGk7DQoNCg==