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 556974A5C40; Tue, 15 Sep 2026 11:45: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=1789472704; cv=none; b=jY1yl0Ktj2uxf/U+0CqaWdGNw3y7jAnKb0aJI3PTD1J+JB0ASl95HVKgiyr8CCKa3QXC/KjljvR3CU4RMLCg7zKuIUdiFZv1AMFy/9yGZtFN5CO9/VnG2C9P8HxDkHw/aPCeA5STJfguOQvbHRDnswZvW3NdrWb2IvkbK+NssCM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789472704; c=relaxed/simple; bh=s/8+UQRZRE8mRNu83Ftl3X8ANrCA0nE3DewJAWsbQpo=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=mlr0buJrnRi/xBtaFbWAanqPJG6FeFBBc0MTvnWtJtVDtA1Y9afSlqqSRp7p2Q9vNzlbetwU+ggVNyNHQIsMFZsXcxnRMUopnmPWNphNHJQItrkg4NQzHSu0AoVE72dKH9AifV4uqgiJdQ2uQ4FRr0Bd87OpaOZhv52+ZR8MDV0= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realtek.com; spf=pass smtp.mailfrom=realtek.com; dkim=pass (2048-bit key) header.d=realtek.com header.i=@realtek.com header.b=OdgPXLt2; arc=none smtp.client-ip=211.75.126.72 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=realtek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=realtek.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=realtek.com header.i=@realtek.com header.b="OdgPXLt2" X-SpamFilter-By: ArmorX SpamTrap 5.80 with qID 68FBiaxV71485608, This message is accepted by code: ctloc85258 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=realtek.com; s=dkim; t=1789472676; bh=s/8+UQRZRE8mRNu83Ftl3X8ANrCA0nE3DewJAWsbQpo=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:Content-Transfer-Encoding:MIME-Version; b=OdgPXLt20a1iDOJdoCnCVh7IGGyqu9uCRM2jVhvWOtNh2MUoYzOlAjoWaFRoPkRPQ de13pxdm5CdGpoi9Y6W50Nz26OihXnHbjmBFsnH5j3e61lJK97H0o51c3BjdCdRchx ETRB2HQ/mT2+n+Cr8Da0z2pnSDg8i3ORIEdAo3+twyNS3zgrTfOAbGQl8rRuGzqRlv /iR6H1lYw4/Yp3hD39XgXoeBsrwMyv2T9t+rgxSVnXqkOn/jfa2GngyOPxH96vDbwS 6G6AgcUBeesYNAGimuYPe58yzsm9mOWkHgCJZ83E3YfQT0rVvErd1lC4iH6/sOsGoL mRCHBKUcL1HFw== Received: from mail.realtek.com (rtkexhmbs04.realtek.com.tw[10.21.1.54]) by rtits2.realtek.com.tw (8.15.2/3.29/5.94) with ESMTPS id 68FBiaxV71485608 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Tue, 15 Sep 2026 19:44:36 +0800 Received: from RTKEXHMBS05.realtek.com.tw (10.21.1.55) by RTKEXHMBS04.realtek.com.tw (10.21.1.54) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Tue, 15 Sep 2026 19:44:36 +0800 Received: from RTKEXHMBS06.realtek.com.tw (10.21.1.56) by RTKEXHMBS05.realtek.com.tw (10.21.1.55) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.49; Tue, 15 Sep 2026 19:44:35 +0800 Received: from RTKEXHMBS06.realtek.com.tw ([::1]) by RTKEXHMBS06.realtek.com.tw ([fe80::b3cc:c263:b82d:e87c%10]) with mapi id 15.02.2562.049; Tue, 15 Sep 2026 19:44:35 +0800 From: Chih Kai Hsu To: "netdev-bot+sashiko@kernel.org" CC: "davem@davemloft.net" , "kuba@kernel.org" , "netdev@vger.kernel.org" , nic_swsd , "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" , "edumazet@google.com" , "bjorn@mork.no" , "pabeni@redhat.com" , "andrew+netdev@lunn.ch" Subject: RE: [PATCH net-next v3 7/8] r8152: support rtl_fc_pause_pkt_en() Thread-Topic: [PATCH net-next v3 7/8] r8152: support rtl_fc_pause_pkt_en() Thread-Index: AQHdP2eUdZS9FCqlvk6eDYykv5NOSrbK4zqAgASrSGA= Date: Tue, 15 Sep 2026 11:44:35 +0000 Message-ID: References: <20260908075634.23740-8-nic_swsd@realtek.com> <178924439522.3125.10329416653763304539@kernel.org> In-Reply-To: <178924439522.3125.10329416653763304539@kernel.org> Accept-Language: zh-TW, en-US Content-Language: zh-TW Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbmV0ZGV2LWJvdCtzYXNo aWtvQGtlcm5lbC5vcmcgPG5ldGRldi1ib3Qrc2FzaGlrb0BrZXJuZWwub3JnPg0KPiBTZW50OiBT dW5kYXksIFNlcHRlbWJlciAxMywgMjAyNiA0OjIwIEFNDQo+IFRvOiBDaGloIEthaSBIc3UgPGhz dS5jaGloLmthaUByZWFsdGVrLmNvbT4NCj4gQ2M6IGRhdmVtQGRhdmVtbG9mdC5uZXQ7IGt1YmFA a2VybmVsLm9yZzsgbmV0ZGV2QHZnZXIua2VybmVsLm9yZzsNCj4gbmljX3N3c2QgPG5pY19zd3Nk QHJlYWx0ZWsuY29tPjsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsNCj4gbGludXgtdXNi QHZnZXIua2VybmVsLm9yZzsgZWR1bWF6ZXRAZ29vZ2xlLmNvbTsgYmpvcm5AbW9yay5ubzsNCj4g cGFiZW5pQHJlZGhhdC5jb207IGFuZHJldytuZXRkZXZAbHVubi5jaA0KPiBTdWJqZWN0OiBSZTog W1BBVENIIG5ldC1uZXh0IHYzIDcvOF0gcjgxNTI6IHN1cHBvcnQgcnRsX2ZjX3BhdXNlX3BrdF9l bigpDQo+IA0KPiANCj4gRXh0ZXJuYWwgbWFpbCA6IFRoaXMgZW1haWwgb3JpZ2luYXRlZCBmcm9t IG91dHNpZGUgdGhlIG9yZ2FuaXphdGlvbi4gRG8gbm90DQo+IHJlcGx5LCBjbGljayBsaW5rcywg b3Igb3BlbiBhdHRhY2htZW50cyB1bmxlc3MgeW91IHJlY29nbml6ZSB0aGUgc2VuZGVyIGFuZA0K PiBrbm93IHRoZSBjb250ZW50IGlzIHNhZmUuDQo+IA0KPiANCj4gDQo+IFRoYW5rIHlvdSBmb3Ig eW91ciBjb250cmlidXRpb24hIFNhc2hpa28gQUkgcmV2aWV3IGZvdW5kIDEgcG90ZW50aWFsDQo+ IGlzc3VlKHMpIHRvIGNvbnNpZGVyOg0KPiANCj4gQ3JpdGljYWw6IDAgwrcgSGlnaDogMCDCtyBN ZWRpdW06IDEgwrcgTG93OiAwDQo+IA0KPiAtIFtNZWRpdW1dIENvbW1pdCBtZXNzYWdlIG1pc2No YXJhY3Rlcml6ZXMgdGhlIGNoYW5nZSBhcyBhbiBleHRyYWN0aW9uDQo+ICAgYW5kIG9taXRzIHRo ZSBuZXcgcmVnaXN0ZXIgcHJvZ3JhbW1pbmcgaXQgaW50cm9kdWNlcy4NCj4gDQo+IC0tDQo+IA0K PiByODE1Mjogc3VwcG9ydCBydGxfZmNfcGF1c2VfcGt0X2VuKCkNCj4gDQo+IFRoaXMgbW92ZXMg dGhlIGZsb3cgY29udHJvbCBwcm9ncmFtbWluZyBvdXQgb2YgcjgxNTZiX2luaXQoKSBpbnRvIGEg bmV3DQo+IGhlbHBlciBydGxfZmNfcGF1c2VfcGt0X2VuKCksIGFuZCBjYWxscyBpdCBmcm9tIHI4 MTU2X2luaXQoKSwgcjgxNTZiX2luaXQoKSBhbmQNCj4gcnRsODE1N19lbmFibGUoKS4gVGhlIGhl bHBlciBzd2l0Y2hlcyBvbiB0cC0+dmVyc2lvbiBhbmQsIGZvciBSVEw4MTU3IGFuZA0KPiBSVEw4 MTU5LCBwcm9ncmFtcyBhIG5ldyBwYXVzZSBsaW1pdCByZWdpc3RlciBiYXNlZCBvbiB0aGUgbGlu ayBzcGVlZC4NCj4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3VzYi9yODE1Mi5jIGIv ZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMgaW5kZXgNCj4gPiAxZmNiMWNjNWI0YTE4Li4yYjA5NzJi OTY3Mzg1IDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbmV0L3VzYi9yODE1Mi5jDQo+ID4gKysr IGIvZHJpdmVycy9uZXQvdXNiL3I4MTUyLmMNCj4gPiBAQCAtODksNiArODksNyBAQA0KPiA+ICAj ZGVmaW5lIFBMQV9NVFBTICAgICAgICAgICAgIDB4ZTYxNQ0KPiA+ICAjZGVmaW5lIFBMQV9UWEZJ Rk9fQ1RSTCAgICAgICAgICAgICAgMHhlNjE4DQo+ID4gICNkZWZpbmUgUExBX1RYRklGT19GVUxM ICAgICAgICAgICAgICAweGU2MWENCj4gPiArI2RlZmluZSBQTEFfUEFVU0VfTElNSVQgICAgICAg ICAweGU2MWUNCj4gPiAgI2RlZmluZSBQTEFfUlNUVEFMTFkgICAgICAgICAweGU4MDANCj4gPiAg I2RlZmluZSBQTEFfQ1IgICAgICAgICAgICAgICAgICAgICAgIDB4ZTgxMw0KPiA+ICAjZGVmaW5l IFBMQV9DUldFQ1IgICAgICAgICAgIDB4ZTgxYw0KPiA+IEBAIC0zMDEsNiArMzAyLDEwIEBADQo+ ID4gICNkZWZpbmUgTVRQU19KVU1CTyAgICAgICAgICAgKDEyICogMTAyNCAvIDY0KQ0KPiA+ICAj ZGVmaW5lIE1UUFNfREVGQVVMVCAgICAgICAgICg2ICogMTAyNCAvIDY0KQ0KPiA+DQo+ID4gKy8q IFBMQV9QQVVTRV9MSU1JVCAqLw0KPiA+ICsjZGVmaW5lIFBBVVNFX0xJTUlUX0VOICAgICAgICAg ICAgICAgQklUKDMpDQo+ID4gKyNkZWZpbmUgUEFVU0VfTElNSVRfTUFTSyAgICAgMHhmMA0KPiA+ ICsNCj4gPiAgLyogUExBX1JTVFRBTExZICovDQo+ID4gICNkZWZpbmUgVEFMTFlfUkVTRVQgICAg ICAgICAgMHgwMDAxDQo+ID4NCj4gPiBAQCAtNjA4OCw2ICs2MDkzLDkzIEBAIHN0YXRpYyB2b2lk IHI4MTUyYl9lbnRlcl9vb2Ioc3RydWN0IHI4MTUyICp0cCkNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgUkNSX0FQTSB8IFJDUl9BTSB8IFJDUl9BQik7ICB9DQo+ID4NCj4gPiArc3RhdGlj IHZvaWQgcnRsX2ZjX3BhdXNlX3BrdF9lbihzdHJ1Y3QgcjgxNTIgKnRwLCB1MTYgc3BlZWQpIHsN Cj4gPiArICAgICBpbnQgbG9nMl9yYXRpbywgcmF0aW87DQo+ID4gKyAgICAgdTE2IG51bV9wYXVz ZV9wa3RzOw0KPiA+ICsgICAgIHUzMiBvY3BfZGF0YTsNCj4gPiArDQo+ID4gKyAgICAgc3dpdGNo ICh0cC0+dmVyc2lvbikgew0KPiA+ICsgICAgIGNhc2UgUlRMX1ZFUl8xMDoNCj4gPiArICAgICBj YXNlIFJUTF9WRVJfMTE6DQo+ID4gKyAgICAgICAgICAgICBvY3Bfd3JpdGVfd29yZCh0cCwgTUNV X1RZUEVfVVNCLCBVU0JfRkNfVElNRVIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDVFJMX1RJTUVSX0VOIHwgKDEwMDAgLyA4KSk7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAg b2NwX3dvcmRfc2V0X2JpdHModHAsIE1DVV9UWVBFX1VTQiwgVVNCX0ZXX0NUUkwsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTE9XX0NUUkxfUEFUQ0hfT1BUKTsNCj4gPiAr DQo+ID4gKyAgICAgICAgICAgICBvY3Bfd29yZF9zZXRfYml0cyh0cCwgTUNVX1RZUEVfVVNCLCBV U0JfRldfVEFTSywNCj4gRkNfUEFUQ0hfVEFTSyk7DQo+ID4gKyAgICAgICAgICAgICBicmVhazsN Cj4gPiArICAgICBjYXNlIFJUTF9WRVJfMTI6DQo+ID4gKyAgICAgY2FzZSBSVExfVkVSXzEzOg0K PiA+ICsgICAgIGNhc2UgUlRMX1ZFUl8xNToNCj4gPiArICAgICAgICAgICAgIG9jcF93b3JkX2Ns cl9iaXRzKHRwLCBNQ1VfVFlQRV9QTEEsIFBMQV9SQ1IsIFNMT1RfRU4pOw0KPiA+ICsNCj4gPiAr ICAgICAgICAgICAgIG9jcF93b3JkX3NldF9iaXRzKHRwLCBNQ1VfVFlQRV9QTEEsIFBMQV9DUENS LA0KPiA+ICsgRkxPV19DVFJMX0VOKTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICAvKiBlbmFi bGUgZmMgdGltZXIgYW5kIHNldCB0aW1lciB0byA2MDAgbXMuICovDQo+ID4gKyAgICAgICAgICAg ICBvY3Bfd3JpdGVfd29yZCh0cCwgTUNVX1RZUEVfVVNCLCBVU0JfRkNfVElNRVIsDQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDVFJMX1RJTUVSX0VOIHwgKDYwMCAvIDgpKTsNCj4g PiArDQo+ID4gKyAgICAgICAgICAgICBvY3BfZGF0YSA9IG9jcF9yZWFkX3dvcmQodHAsIE1DVV9U WVBFX1BMQSwNCj4gUExBX1BPTF9HUElPX0NUUkwpOw0KPiA+ICsgICAgICAgICAgICAgaWYgKCEo b2NwX2RhdGEgJiBEQUNLX0RFVF9FTikpDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIG9jcF93 b3JkX3NldF9iaXRzKHRwLCBNQ1VfVFlQRV9VU0IsDQo+IFVTQl9GV19DVFJMLA0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGTE9XX0NUUkxfUEFUQ0hfMik7DQo+ ID4gKw0KPiA+ICsgICAgICAgICAgICAgb2NwX3dvcmRfc2V0X2JpdHModHAsIE1DVV9UWVBFX1VT QiwgVVNCX0ZXX1RBU0ssDQo+IEZDX1BBVENIX1RBU0spOw0KPiA+ICsgICAgICAgICAgICAgYnJl YWs7DQo+ID4gKyAgICAgY2FzZSBSVExfVkVSXzE2Og0KPiA+ICsgICAgIGNhc2UgUlRMX1ZFUl8x N19RRk42ODoNCj4gPiArICAgICBjYXNlIFJUTF9WRVJfMTdfUUZOMTAwOg0KPiA+ICsgICAgICAg ICAgICAgb2NwX3dvcmRfY2xyX2JpdHModHAsIE1DVV9UWVBFX1BMQSwgUExBX1JDUiwgU0xPVF9F Tik7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgbnVtX3BhdXNlX3BrdHMgPSAweGE7DQo+ID4g KyAgICAgICAgICAgICByYXRpbyA9IDEwMDAwOw0KPiA+ICsNCj4gPiArICAgICAgICAgICAgIGlm ICghKHNwZWVkICYgTElOS19TVEFUVVMpKSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGRl dl9kYmcoJnRwLT5pbnRmLT5kZXYsICJObyBsaW5rXG4iKTsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgZ290byBub19saW5rOw0KPiA+ICsgICAgICAgICAgICAgfSBlbHNlIGlmIChzcGVlZCAm IF8xMGJwcykgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICByYXRpbyAvPSAxMDsNCj4gPiAr ICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3BlZWQgJiBfMTAwYnBzKSB7DQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgIHJhdGlvIC89IDEwMDsNCj4gPiArICAgICAgICAgICAgIH0gZWxzZSBpZiAo c3BlZWQgJiBfMTAwMGJwcykgew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICByYXRpbyAvPSAx MDAwOw0KPiA+ICsgICAgICAgICAgICAgfSBlbHNlIGlmIChzcGVlZCAmIF8yNTAwYnBzKSB7DQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgIHJhdGlvIC89IDI1MDA7DQo+ID4gKyAgICAgICAgICAg ICB9IGVsc2UgaWYgKHNwZWVkICYgXzUwMDBicHMpIHsNCj4gPiArICAgICAgICAgICAgICAgICAg ICAgcmF0aW8gLz0gNTAwMDsNCj4gPiArICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3BlZWQgJiBf MTAwMDBicHMpIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgcmF0aW8gLz0gMTAwMDA7DQo+ ID4gKyAgICAgICAgICAgICB9IGVsc2Ugew0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBkZXZf ZXJyKCZ0cC0+aW50Zi0+ZGV2LCAiVW5rbm93biBsaW5rIHNwZWVkXG4iKTsNCj4gPiArICAgICAg ICAgICAgICAgICAgICAgZ290byBub19saW5rOw0KPiA+ICsgICAgICAgICAgICAgfQ0KPiA+ICsN Cj4gPiArICAgICAgICAgICAgIGxvZzJfcmF0aW8gPSBpbG9nMihyYXRpbyk7DQo+ID4gKyAgICAg ICAgICAgICBudW1fcGF1c2VfcGt0cyAtPSBsb2cyX3JhdGlvOw0KPiA+ICsNCj4gPiArICAgICAg ICAgICAgIC8qIFJvdW5kIHVwIGlmIHJhdGlvIGlzIG1vcmUgdGhhbiBoYWxmd2F5IHRvIHRoZSBu ZXh0IHBvd2VyDQo+IG9mIDIuDQo+ID4gKyAgICAgICAgICAgICAgKiBGbG9hdGluZy1wb2ludCBp cyBhdm9pZGVkIGJ5IHJld3JpdGluZw0KPiA+ICsgICAgICAgICAgICAgICogcmF0aW8gPiAxLjUg KiAyXmxvZzJfcmF0aW8gYXMNCj4gPiArICAgICAgICAgICAgICAqIDIgKiByYXRpbyA+IDMgKiAy XmxvZzJfcmF0aW8NCj4gPiArICAgICAgICAgICAgICAqLw0KPiA+ICsgICAgICAgICAgICAgaWYg KDIgKiByYXRpbyA+IDMgKiAoMSA8PCBsb2cyX3JhdGlvKSkNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgbnVtX3BhdXNlX3BrdHMtLTsNCj4gPiArDQo+ID4gK25vX2xpbms6DQo+ID4gKyAgICAg ICAgICAgICBvY3Bfd29yZF93MHcxKHRwLCBNQ1VfVFlQRV9QTEEsIFBMQV9QQVVTRV9MSU1JVCwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFVU0VfTElNSVRfTUFTSyB8IFBBVVNF X0xJTUlUX0VOLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1fcGF1c2VfcGt0 cyA8PCA0KTsNCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBvY3Bfd29yZF9zZXRfYml0cyh0cCwg TUNVX1RZUEVfUExBLCBQTEFfUEFVU0VfTElNSVQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQQVVTRV9MSU1JVF9FTik7DQo+ID4gKyAgICAgICAgICAgICBicmVhazsNCj4g PiArICAgICBkZWZhdWx0Og0KPiA+ICsgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgfQ0K PiA+ICt9DQo+ID4gKw0KPiANCj4gW1NldmVyaXR5OiBNZWRpdW1dDQo+IElzIHRoZSBjaGFuZ2Vs b2cgZGVzY3JpcHRpb24gb2YgIkV4dHJhY3QgaXQgYXMgcnRsX2ZjX3BhdXNlX3BrdF9lbigpIg0K PiBhY2N1cmF0ZSBmb3IgdGhlIFJUTF9WRVJfMTAvUlRMX1ZFUl8xMSBhbmQgUlRMX1ZFUl8xNi9S VExfVkVSXzE3IGFybXMNCj4gb2YgcnRsX2ZjX3BhdXNlX3BrdF9lbigpPyAgVGhlIHRocmVlIGFy bXMgYXJlIG5vdCB0aGUgc2FtZSBzZXF1ZW5jZSB0aGF0DQo+IHdhcyBpbmxpbmUgaW4gcjgxNTZi X2luaXQoKS4NCg0KSSB3aWxsIGZpeCBpdC4NCg0KPiANCj4gRm9yIFJUTF9WRVJfMTAvUlRMX1ZF Ul8xMSB0aGUgaGVscGVyIHByb2dyYW1zOg0KPiANCj4gICAgICAgICBvY3Bfd3JpdGVfd29yZCh0 cCwgTUNVX1RZUEVfVVNCLCBVU0JfRkNfVElNRVIsDQo+ICAgICAgICAgICAgICAgICAgICAgICAg Q1RSTF9USU1FUl9FTiB8ICgxMDAwIC8gOCkpOw0KPiAgICAgICAgIG9jcF93b3JkX3NldF9iaXRz KHRwLCBNQ1VfVFlQRV9VU0IsIFVTQl9GV19DVFJMLA0KPiAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZMT1dfQ1RSTF9QQVRDSF9PUFQpOw0KPiAgICAgICAgIG9jcF93b3JkX3NldF9iaXRzKHRw LCBNQ1VfVFlQRV9VU0IsIFVTQl9GV19UQVNLLA0KPiBGQ19QQVRDSF9UQVNLKTsNCj4gDQo+IEF0 IHRoZSBzZXJpZXMgYmFzZWxpbmUgdGhlIGZsb3cgY29udHJvbCBibG9jayBpbiByODE1Nl9pbml0 KCkgd2FzIGdhdGVkIGFzOg0KPiANCj4gICAgICAgICBpZiAodHAtPnZlcnNpb24gPj0gUlRMX1ZF Ul8xMiAmJiB0cC0+dmVyc2lvbiA8PSBSVExfVkVSXzE1KSB7DQo+ICAgICAgICAgICAgICAgICBv Y3Bfd29yZF9jbHJfYml0cyh0cCwgTUNVX1RZUEVfUExBLCBQTEFfUkNSLA0KPiBTTE9UX0VOKTsN Cj4gICAgICAgICAgICAgICAgIG9jcF93b3JkX3NldF9iaXRzKHRwLCBNQ1VfVFlQRV9QTEEsIFBM QV9DUENSLA0KPiBGTE9XX0NUUkxfRU4pOw0KPiAgICAgICAgICAgICAgICAgLi4uDQo+ICAgICAg ICAgfQ0KPiANCj4gc28gUlRMX1ZFUl8xMC9SVExfVkVSXzExIHJlY2VpdmVkIG5vIGZsb3cgY29u dHJvbCBwcm9ncmFtbWluZywgYW5kDQo+IEZMT1dfQ1RSTF9QQVRDSF9PUFQgd2FzIG9ubHkgc2V0 IGZyb20gdGhlIFJUTDgxNTNCIGZpcm13YXJlIHBhdGguDQo+IENvdWxkIHRoZSBjaGFuZ2Vsb2cg c2F5IHdoeSBSVEw4MTU2QSBub3cgZ2V0cyBhIDEwMDAgbXMgdGltZXIgcGx1cw0KPiBGTE9XX0NU UkxfUEFUQ0hfT1BULCB3aGlsZSBSVEw4MTU2QiBrZWVwcyB0aGUgNjAwIG1zIHRpbWVyLA0KPiBG TE9XX0NUUkxfUEFUQ0hfMiBhbmQgUExBX0NQQ1IgRkxPV19DVFJMX0VOPw0KDQpWRVJfMTAgYW5k IFZFUl8xMSBoYXZlIHRoZSBzYW1lIHdheSB0byBlbmFibGUgZmxvdyBjb250cm9sIHBhdGNoIGFz IFJUTDgxNTNCLCBzbw0KZm9sbG93IHRoZSBzZXR0aW5ncyB0aGF0IFJUTDgxNTNCIGFwcGxpZXMu DQoNCj4gDQo+IEZvciBSVExfVkVSXzE2L1JUTF9WRVJfMTdfUUZONjgvUlRMX1ZFUl8xN19RRk4x MDAgdGhlIGhlbHBlciBhZGRzIGENCj4gbmV3IHJlZ2lzdGVyLCBQTEFfUEFVU0VfTElNSVQgKDB4 ZTYxZSksIHRoZSBuZXcNCj4gUEFVU0VfTElNSVRfRU4vUEFVU0VfTElNSVRfTUFTSyBiaXRzLCBh bmQgYSBsaW5rLXNwZWVkIGRlcGVuZGVudCBwYXVzZQ0KPiBwYWNrZXQgY291bnQsIGJ1dCBpdCBz ZXRzIG5laXRoZXIgUExBX0NQQ1IgRkxPV19DVFJMX0VOIG5vcg0KPiBVU0JfRkNfVElNRVIgZXZl biB0aG91Z2ggdGhlIGNoYW5nZWxvZyBzYXlzIHRoZSBmbG93IGNvbnRyb2wgcGF0Y2ggd2FzDQo+ ICJtaXNzaW5nIGZvciAuLi4gUlRMODE1Ny84MTU5Ii4gIE5vbmUgb2YgdGhlIG5ldyByZWdpc3Rl ciBvciB0aGUgcGF1c2UgYnVkZ2V0DQo+IGNhbGN1bGF0aW9uIGlzIGRlc2NyaWJlZCBpbiB0aGUg Y2hhbmdlbG9nLg0KPiANCj4gQ291bGQgdGhlIGNoYW5nZWxvZyBkZXNjcmliZSB0aGUgb2JzZXJ2 ZWQgbWFsZnVuY3Rpb24sIHRoZSBsaW5rIHNwZWVkcyBhbmQNCj4gdHJhZmZpYyBjb25kaXRpb25z IGl0IHdhcyBzZWVuIHVuZGVyLCBhbmQgd2hhdCB3YXMgdGVzdGVkLCBzbyB0aGUgYmVoYXZpb3Vy DQo+IGNoYW5nZSBvbiBhbHJlYWR5IHN1cHBvcnRlZCBSVEw4MTU2QSBoYXJkd2FyZSBhbmQgdGhl IG5ldyBwYXVzZSBsaW1pdA0KPiBwcm9ncmFtbWluZyBjYW4gYmUganVkZ2VkPw0KDQpUaGUgZm9y bXVsYSBjb21wdXRlcyB0aGUgbnVtYmVyIG9mIHBhdXNlIHBhY2tldHMgdG8gYmUgc2VudC4gVGhl IGRhdGFzaGVldCBnaXZlcw0KYSBmaXhlZCBjb3VudCBwZXIgbGluayBzcGVlZCB2aWEgdGhlIG5l dyBQTEFfUEFVU0VfTElNSVQgcmVnLiBUaGUgZm9ybXVsYSByZXByb2R1Y2VzDQp0aGUgdGFibGUu ICANCg0KPiANCj4gPiAgc3RhdGljIGludCByODE1M19wcmVfZmlybXdhcmVfMShzdHJ1Y3Qgcjgx NTIgKnRwKSAgew0KPiA+ICAgICAgIGludCBpOw0KPiA+IEBAIC02NjE5LDYgKzY3MTEsOCBAQCBz dGF0aWMgaW50IHJ0bDgxNTdfZW5hYmxlKHN0cnVjdCByODE1MiAqdHApDQo+ID4gICAgICAgcjgx NTNfc2V0X3J4X2Vhcmx5X3NpemUodHApOw0KPiA+DQo+ID4gICAgICAgc3BlZWQgPSBydGw4MTUy X2dldF9zcGVlZCh0cCk7DQo+ID4gKyAgICAgcnRsX2ZjX3BhdXNlX3BrdF9lbih0cCwgc3BlZWQp Ow0KPiA+ICsNCj4gPiAgICAgICBydGxfc2V0X2lmZyh0cCwgc3BlZWQpOw0KPiA+DQo+ID4gICAg ICAgcmV0dXJuIHJ0bF9lbmFibGUodHApOw0KPiA+IEBAIC04NzUxLDYgKzg4NDUsOCBAQCBzdGF0 aWMgdm9pZCByODE1Nl9pbml0KHN0cnVjdCByODE1MiAqdHApDQo+ID4NCj4gPiAgICAgICB1c2Jf ZW5hYmxlX2xwbSh0cC0+dWRldik7DQo+ID4NCj4gPiArICAgICBydGxfZmNfcGF1c2VfcGt0X2Vu KHRwLCAwKTsNCj4gPiArDQo+ID4gICAgICAgcjgxNTZfbWFjX2Nsa19zcGQodHAsIHRydWUpOw0K PiA+DQo+IA0KPiBbIC4uLiBdDQo+IA0KPiA+IEBAIC04ODUyLDIwICs4OTQ3LDcgQEAgc3RhdGlj IHZvaWQgcjgxNTZiX2luaXQoc3RydWN0IHI4MTUyICp0cCkNCj4gPg0KPiA+ICAgICAgIHVzYl9l bmFibGVfbHBtKHRwLT51ZGV2KTsNCj4gPg0KPiA+IC0gICAgIG9jcF93b3JkX2Nscl9iaXRzKHRw LCBNQ1VfVFlQRV9QTEEsIFBMQV9SQ1IsIFNMT1RfRU4pOw0KPiA+IC0NCj4gPiAtICAgICBvY3Bf d29yZF9zZXRfYml0cyh0cCwgTUNVX1RZUEVfUExBLCBQTEFfQ1BDUiwgRkxPV19DVFJMX0VOKTsN Cj4gPiAtDQo+ID4gLSAgICAgLyogZW5hYmxlIGZjIHRpbWVyIGFuZCBzZXQgdGltZXIgdG8gNjAw IG1zLiAqLw0KPiA+IC0gICAgIG9jcF93cml0ZV93b3JkKHRwLCBNQ1VfVFlQRV9VU0IsIFVTQl9G Q19USU1FUiwNCj4gPiAtICAgICAgICAgICAgICAgICAgICBDVFJMX1RJTUVSX0VOIHwgKDYwMCAv IDgpKTsNCj4gPiAtDQo+ID4gLSAgICAgb2NwX2RhdGEgPSBvY3BfcmVhZF93b3JkKHRwLCBNQ1Vf VFlQRV9QTEEsDQo+IFBMQV9QT0xfR1BJT19DVFJMKTsNCj4gPiAtICAgICBpZiAoIShvY3BfZGF0 YSAmIERBQ0tfREVUX0VOKSkNCj4gPiAtICAgICAgICAgICAgIG9jcF93b3JkX3NldF9iaXRzKHRw LCBNQ1VfVFlQRV9VU0IsIFVTQl9GV19DVFJMLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRkxPV19DVFJMX1BBVENIXzIpOw0KPiA+IC0NCj4gPiAtICAgICBvY3Bfd29yZF9z ZXRfYml0cyh0cCwgTUNVX1RZUEVfVVNCLCBVU0JfRldfVEFTSywNCj4gRkNfUEFUQ0hfVEFTSyk7 DQo+ID4gKyAgICAgcnRsX2ZjX3BhdXNlX3BrdF9lbih0cCwgMCk7DQo+ID4NCj4gPiAgICAgICBy ODE1Nl9tYWNfY2xrX3NwZCh0cCwgdHJ1ZSk7DQo+ID4NCj4gDQo+IC0tDQo+IFNhc2hpa28gQUkg cmV2aWV3IMK3DQo+IGh0dHBzOi8vbmV0ZGV2LWFpLmJvdHMubGludXguZGV2L3Nhc2hpa28vIy9w YXRjaHNldC8yMDI2MDkwODA3NTYzNC4yMzc0MC0xDQo+IC1uaWNfc3dzZCU0MHJlYWx0ZWsuY29t DQoNCkJlc3QsDQpDaGloLUthaQ0K