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 X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6632BC433E1 for ; Thu, 18 Jun 2020 10:14:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 40BF220B1F for ; Thu, 18 Jun 2020 10:14:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728692AbgFRKOD (ORCPT ); Thu, 18 Jun 2020 06:14:03 -0400 Received: from mx01.quantatw.com ([219.87.191.90]:11046 "EHLO mx01.quantatw.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726573AbgFRKN6 (ORCPT ); Thu, 18 Jun 2020 06:13:58 -0400 X-Greylist: delayed 468 seconds by postgrey-1.27 at vger.kernel.org; Thu, 18 Jun 2020 06:13:56 EDT IronPort-SDR: ZZ0GCvpakwZbAEGuBUoP1yuNaI7yydoGmUF6YUNzm9lADTL4l15BrYdO2ZtqwGBw3y6U3FdB69 icV6zlBmT0+Q== Received: from unknown (HELO mailbx05.quanta.corp) ([10.243.91.100]) by mx01.quantatw.com with ESMTP; 18 Jun 2020 18:06:03 +0800 Received: from mailbx09.quanta.corp (10.243.91.106) by mailbx05.quanta.corp (10.243.91.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 18 Jun 2020 18:06:00 +0800 Received: from mailbx09.quanta.corp ([192.168.57.9]) by mailbx09.quanta.corp ([192.168.57.9]) with mapi id 15.01.1713.009; Thu, 18 Jun 2020 18:06:00 +0800 From: =?utf-8?B?VmVyYSBXYW5nICjnjovoqanpg4Ep?= To: Charles Yeh , "gregkh@linuxfoundation.org" , "johan@kernel.org" , "linux-usb@vger.kernel.org" CC: "charles-yeh@prolific.com.tw" , =?utf-8?B?VGltIENoZW4gKOmZs+eri+W6rSk=?= , =?utf-8?B?QmVuIExpbiAo5p6X5pet5b69KQ==?= Subject: RE: [PATCH] USB: serial: pl2303: Add new chip to support Chrome OS Thread-Topic: [PATCH] USB: serial: pl2303: Add new chip to support Chrome OS Thread-Index: AQHWRKdimQBTvTOvXE6RRAx9CiXrKqjeJr3A Date: Thu, 18 Jun 2020 10:06:00 +0000 Message-ID: <39139fa7cc7f4ee5bcf8469fa3100797@quantatw.com> References: <20200617125924.1696-1-charlesyeh522@gmail.com> In-Reply-To: <20200617125924.1696-1-charlesyeh522@gmail.com> Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.243.91.252] x-tm-snts-smtp: 81116F80F74FB83C81BE9CD4689F29FDFE1F0AF8E3B85D4A31354A29E581E4B92000:8 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org SGkgQ2hhcmxlcywNCuiri+WVj+aciemAo+e1kOWXjj8g5piv5ZCm5pa55L6/55u05o6l5o+Q5L6b 6YCj57WQ57Wm5oiR5YCRPw0KDQpSZWdhcmRzLA0KVmVyYSBXYW5nDQpOQjQNClF1YW50YSBDb21w dXRlcsKgSW5jLg0KVEVMOiArODg2LTMtMzI3LTIzNDUgZXh0LiAxODUwNy0+IEnigJltIEhlcmUu DQpUVyBDZWxsOiArODg2LTk3MjcyOTA1OCANCkNoaW5hIE1vYmlsZcKgOiAxNTYtODM5NS0yODI5 ICjnn63omZ86IDY5OTAxNSkgwqANCmUtbWFpbDogdmVyYS53YW5nQHF1YW50YXR3LmNvbQ0KDQot LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQ2hhcmxlcyBZZWggW21haWx0bzpjaGFy bGVzeWVoNTIyQGdtYWlsLmNvbV0gDQpTZW50OiBXZWRuZXNkYXksIEp1bmUgMTcsIDIwMjAgODo1 OSBQTQ0KVG86IGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnOyBqb2hhbkBrZXJuZWwub3JnOyBs aW51eC11c2JAdmdlci5rZXJuZWwub3JnDQpDYzogY2hhcmxlcy15ZWhAcHJvbGlmaWMuY29tLnR3 OyBWZXJhIFdhbmcgKOeOi+ipqemDgSk7IFRpbSBDaGVuICjpmbPnq4vluq0pOyBCZW4gTGluICjm npfml63lvr0pOyBDaGFybGVzIFllaA0KU3ViamVjdDogW1BBVENIXSBVU0I6IHNlcmlhbDogcGwy MzAzOiBBZGQgbmV3IGNoaXAgdG8gc3VwcG9ydCBDaHJvbWUgT1MNCg0KUHJvbGlmaWMgaGFzIGRl dmVsb3BlZCBhIG5ldyBVU0IgdG8gVUFSVCBjaGlwOiBQTDIzMDNIWE4NClBMMjMwM0hYTiA6IFBM MjMwM0dDL1BMMjMwM0dTL1BMMjMwM0dUL1BMMjMwM0dML1BMMjMwM0dFL1BMMjMwM0dCDQpUaGUg VmVuZG9yIHJlcXVlc3QgdXNlZCBieSB0aGUgUEwyMzAzSFhOIChUWVBFX0hYTikgaXMgZGlmZmVy ZW50IGZyb20NCnRoZSBleGlzdGluZyBQTDIzMDMgc2VyaWVzIChUWVBFX0hYICYgVFlQRV8wMSku DQpUaGVyZWZvcmUsIGRpZmZlcmVudCBWZW5kb3IgcmVxdWVzdHMgYXJlIHVzZWQgdG8gaXNzdWUg cmVsYXRlZCBjb21tYW5kcy4NCg0KR29vZ2xlIENocm9tZSBPRU0ncyB2ZW5kb3IgaXMgUXVhbnRh DQpUaGUgbW9kaWZpY2F0aW9uIHJlcXVpcmVtZW50cyBvZiB0aGlzIHBhdGNoIGZpbGUgYXJlIGZy b20NCkdvb2dsZS0tPlF1YW50YS0tPj5Qcm9saWZpYw0KQ3VycmVudGx5IENocm9tZSBPUyBkb2Vz IG5vdCBzdXBwb3J0IFBMMjMwM0hYTiAoVFlQRV9IWE4pLA0KU28gUXVhbnRhIGhvcGVzIHRoYXQg UHJvbGlmaWMgcHJvdmlkZSBwYXRjaCBmaWxlcyB0byBzdXBwb3J0IENocm9tZSBPUy4NCg0KQmVs b3cgaXMgdGhlIHBhdGNoIGZpbGUgbW9kaWZpY2F0aW9uIGluc3RydWN0aW9ucy4NCg0KMS4gQWRk ZWQgYSBuZXcgVFlQRV9IWE4gdHlwZSBpbiBwbDIzMDNfdHlwZV9kYXRhLCBhbmQgdGhlbiBleGVj dXRlcw0KICAgbmV3IFZlbmRvciByZXF1ZXN0LG5ldyBmbG93IGNvbnRyb2wgYW5kIG90aGVyIHJl bGF0ZWQgaW5zdHJ1Y3Rpb25zDQogICBpZiBUWVBFX0hYTiBpcyByZWNvZ25pemVkLg0KDQoyLiBC ZWNhdXNlIHRoZSBuZXcgUEwyMzAzSFhOIG9ubHkgYWNjZXB0IHRoZSBuZXcgVmVuZG9yIHJlcXVl c3QsDQogICB0aGUgb2xkIFZlbmRvciByZXF1ZXN0IGNhbm5vdCBiZSBhY2NlcHRlZCAodGhlIGVy cm9yIG1lc3NhZ2UNCiAgIHdpbGwgYmUgcmV0dXJuZWQpDQogICBTbyBmaXJzdCBkZXRlcm1pbmUg dGhlIFRZUEVfSFggb3IgVFlQRV9IWE4gdGhyb3VnaA0KICAgUEwyMzAzX1JFQURfVFlQRV9IWF9T VEFUVVMgaW4gcGwyMzAzX3N0YXJ0dXAuDQoNCiAgMi4xIElmIHRoZSByZXR1cm4gbWVzc2FnZSBp cyAiMSIsIHRoZW4gdGhlIFBMMjMwMyBpcyB0aGUgZXhpc3RpbmcNCiAgICAgIFRZUEVfSFgvIFRZ UEVfMDEgc2VyaWVzLg0KICAgICAgVGhlIG90aGVyIHNldHRpbmdzIGluIHBsMjMwM19zdGFydHVw IGFyZSB0byBjb250aW51ZSBleGVjdXRpb24uDQogIDIuMiBJZiB0aGUgcmV0dXJuIG1lc3NhZ2Ug aXMgIm5vdCAxIiwgdGhlbiB0aGUgUEwyMzAzIGlzIHRoZSBuZXcNCiAgICAgIFRZUEVfSFhOIHNl cmllcy4NCiAgICAgIFRoZSBvdGhlciBzZXR0aW5ncyBpbiBwbDIzMDNfc3RhcnR1cCBhcmUgaWdu b3JlZC4NCiAgICAgIChQTDIzMDNIWE4gd2lsbCBkaXJlY3RseSB1c2UgdGhlIGRlZmF1bHQgdmFs dWUgaW4gdGhlIGhhcmR3YXJlLA0KICAgICAgIG5vIG5lZWQgdG8gYWRkIGFkZGl0aW9uYWwgc2V0 dGluZ3MgdGhyb3VnaCB0aGUgc29mdHdhcmUpDQoNCjMuIEluIHBsMjMwM19vcGVuOiBCZWNhdXNl IFRZUEVfSFhOIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBpbnN0cnVjdGlvbiBvZiByZXNldA0KICAg ZG93bi91cCBzdHJlYW0gdXNlZCBieSBUWVBFX0hYLg0KICAgVGhlcmVmb3JlLCB3ZSB3aWxsIGFs c28gZXhlY3V0ZSBkaWZmZXJlbnQgaW5zdHJ1Y3Rpb25zIGhlcmUuDQoNCjQuIEluIHBsMjMwM19z ZXRfdGVybWlvczogVGhlIFVBUlQgZmxvdyBjb250cm9sIGluc3RydWN0aW9ucyB1c2VkIGJ5DQog ICBUWVBFX0hYTi9UWVBFX0hYL1RZUEVfMDEgYXJlIGRpZmZlcmVudC4NCiAgIFRoZXJlZm9yZSwg d2Ugd2lsbCBhbHNvIGV4ZWN1dGUgZGlmZmVyZW50IGluc3RydWN0aW9ucyBoZXJlLg0KDQo1LiBJ biBwbDIzMDNfdmVuZG9yX3JlYWQgJiBwbDIzMDNfdmVuZG9yX3dyaXRlLCBzaW5jZSBUWVBFX0hY TiBpcyBkaWZmZXJlbnQNCiAgIGZyb20gdGhlIHZlbmRvciByZXF1ZXN0IGluc3RydWN0aW9uIHVz ZWQgYnkgVFlQRV9IWC9UWVBFXzAxLA0KICAgaXQgd2lsbCBhbHNvIGV4ZWN1dGUgZGlmZmVyZW50 IGluc3RydWN0aW9ucyBoZXJlLg0KDQo2LiBJbiBwbDIzMDNfdXBkYXRlX3JlZzogVFlQRV9IWE4g dXNlZCBkaWZmZXJlbnQgcmVnaXN0ZXIgZm9yIGZsb3cgY29udHJvbC4NCiAgIFRoZXJlZm9yZSwg d2Ugd2lsbCBhbHNvIGV4ZWN1dGUgZGlmZmVyZW50IGluc3RydWN0aW9ucyBoZXJlLg0KDQpTaWdu ZWQtb2ZmLWJ5OiBDaGFybGVzIFllaCA8Y2hhcmxlc3llaDUyMkBnbWFpbC5jb20+DQotLS0NCiBk cml2ZXJzL3VzYi9zZXJpYWwvcGwyMzAzLmMgfCAxMjQgKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tDQogZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMwMy5oIHwgICA3ICstDQogMiBm aWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pDQoNCmRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvcGwyMzAzLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwv cGwyMzAzLmMNCmluZGV4IGU2ZDliNzlkMzUyMS4uYWNkMGMzMmJiZmVlIDEwMDY0NA0KLS0tIGEv ZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMwMy5jDQorKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvcGwy MzAzLmMNCkBAIC00Nyw2ICs0NywxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHVzYl9kZXZpY2Vf aWQgaWRfdGFibGVbXSA9IHsNCiAJeyBVU0JfREVWSUNFKFBMMjMwM19WRU5ET1JfSUQsIFBMMjMw M19QUk9EVUNUX0lEX01PVE9ST0xBKSB9LA0KIAl7IFVTQl9ERVZJQ0UoUEwyMzAzX1ZFTkRPUl9J RCwgUEwyMzAzX1BST0RVQ1RfSURfWlRFSykgfSwNCiAJeyBVU0JfREVWSUNFKFBMMjMwM19WRU5E T1JfSUQsIFBMMjMwM19QUk9EVUNUX0lEX1RCKSB9LA0KKwl7IFVTQl9ERVZJQ0UoUEwyMzAzX1ZF TkRPUl9JRCwgUEwyMzAzX1BST0RVQ1RfSURfR0MpIH0sDQorCXsgVVNCX0RFVklDRShQTDIzMDNf VkVORE9SX0lELCBQTDIzMDNfUFJPRFVDVF9JRF9HQikgfSwNCisJeyBVU0JfREVWSUNFKFBMMjMw M19WRU5ET1JfSUQsIFBMMjMwM19QUk9EVUNUX0lEX0dUKSB9LA0KKwl7IFVTQl9ERVZJQ0UoUEwy MzAzX1ZFTkRPUl9JRCwgUEwyMzAzX1BST0RVQ1RfSURfR0wpIH0sDQorCXsgVVNCX0RFVklDRShQ TDIzMDNfVkVORE9SX0lELCBQTDIzMDNfUFJPRFVDVF9JRF9HRSkgfSwNCisJeyBVU0JfREVWSUNF KFBMMjMwM19WRU5ET1JfSUQsIFBMMjMwM19QUk9EVUNUX0lEX0dTKSB9LA0KIAl7IFVTQl9ERVZJ Q0UoSU9EQVRBX1ZFTkRPUl9JRCwgSU9EQVRBX1BST0RVQ1RfSUQpIH0sDQogCXsgVVNCX0RFVklD RShJT0RBVEFfVkVORE9SX0lELCBJT0RBVEFfUFJPRFVDVF9JRF9SU0FRNSkgfSwNCiAJeyBVU0Jf REVWSUNFKEFURU5fVkVORE9SX0lELCBBVEVOX1BST0RVQ1RfSUQpLA0KQEAgLTEzMSw5ICsxMzcs MTEgQEAgTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIGlkX3RhYmxlKTsNCiANCiAjZGVmaW5lIFZF TkRPUl9XUklURV9SRVFVRVNUX1RZUEUJMHg0MA0KICNkZWZpbmUgVkVORE9SX1dSSVRFX1JFUVVF U1QJCTB4MDENCisjZGVmaW5lIFZFTkRPUl9XUklURV9OUkVRVUVTVAkJMHg4MA0KIA0KICNkZWZp bmUgVkVORE9SX1JFQURfUkVRVUVTVF9UWVBFCTB4YzANCiAjZGVmaW5lIFZFTkRPUl9SRUFEX1JF UVVFU1QJCTB4MDENCisjZGVmaW5lIFZFTkRPUl9SRUFEX05SRVFVRVNUCQkweDgxDQogDQogI2Rl ZmluZSBVQVJUX1NUQVRFX0lOREVYCQk4DQogI2RlZmluZSBVQVJUX1NUQVRFX01TUl9NQVNLCQkw eDhiDQpAQCAtMTQ5LDExICsxNTcsMjQgQEAgTU9EVUxFX0RFVklDRV9UQUJMRSh1c2IsIGlkX3Rh YmxlKTsNCiANCiAjZGVmaW5lIFBMMjMwM19GTE9XQ1RSTF9NQVNLCQkweGYwDQogDQorI2RlZmlu ZSBQTDIzMDNfUkVBRF9UWVBFX0hYX1NUQVRVUwkweDgwODANCisNCisjZGVmaW5lIFBMMjMwM19I WE5fUkVTRVRfUkVHCQkweDA3DQorI2RlZmluZSBQTDIzMDNfSFhOX1JFU0VUX1VQU1RSRUFNX1BJ UEUJMHgwMg0KKyNkZWZpbmUgUEwyMzAzX0hYTl9SRVNFVF9ET1dOU1RSRUFNX1BJUEUJMHgwMQ0K Kw0KKyNkZWZpbmUgUEwyMzAzX0hYTl9GTE9XQ1RSTF9SRUcJCTB4MEENCisjZGVmaW5lIFBMMjMw M19IWE5fRkxPV0NUUkxfTUFTSwkweDFDDQorI2RlZmluZSBQTDIzMDNfSFhOX0ZMT1dDVFJMX05P TkUJMHgxQw0KKyNkZWZpbmUgUEwyMzAzX0hYTl9GTE9XQ1RSTF9SVFNfQ1RTCTB4MTgNCisjZGVm aW5lIFBMMjMwM19IWE5fRkxPV0NUUkxfWE9OX1hPRkYJMHgwQw0KKw0KIHN0YXRpYyB2b2lkIHBs MjMwM19zZXRfYnJlYWsoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwgYm9vbCBlbmFibGUp Ow0KIA0KIGVudW0gcGwyMzAzX3R5cGUgew0KIAlUWVBFXzAxLAkvKiBUeXBlIDAgYW5kIDEgKGRp ZmZlcmVuY2UgdW5rbm93bikgKi8NCiAJVFlQRV9IWCwJLyogSFggdmVyc2lvbiBvZiB0aGUgcGwy MzAzIGNoaXAgKi8NCisJVFlQRV9IWE4sCS8qIEhYTiB2ZXJzaW9uIG9mIHRoZSBwbDIzMDMgY2hp cCAqLw0KIAlUWVBFX0NPVU5UDQogfTsNCiANCkBAIC0xODUsMTYgKzIwNiwyNiBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IHBsMjMwM190eXBlX2RhdGEgcGwyMzAzX3R5cGVfZGF0YVtUWVBFX0NPVU5U XSA9IHsNCiAJW1RZUEVfSFhdID0gew0KIAkJLm1heF9iYXVkX3JhdGUJCT0gMTIwMDAwMDAsDQog CX0sDQorCVtUWVBFX0hYTl0gPSB7DQorCQkubWF4X2JhdWRfcmF0ZQkJPSAxMjAwMDAwMCwNCisJ fSwNCiB9Ow0KIA0KIHN0YXRpYyBpbnQgcGwyMzAzX3ZlbmRvcl9yZWFkKHN0cnVjdCB1c2Jfc2Vy aWFsICpzZXJpYWwsIHUxNiB2YWx1ZSwNCiAJCQkJCQkJdW5zaWduZWQgY2hhciBidWZbMV0pDQog ew0KIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmc2VyaWFsLT5pbnRlcmZhY2UtPmRldjsNCisJc3Ry dWN0IHBsMjMwM19zZXJpYWxfcHJpdmF0ZSAqc3ByaXYgPSB1c2JfZ2V0X3NlcmlhbF9kYXRhKHNl cmlhbCk7DQogCWludCByZXM7DQorCXU4IHJlcXVlc3Q7DQorDQorCWlmIChzcHJpdi0+dHlwZSA9 PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBFX0hYTl0pDQorCQlyZXF1ZXN0ID0gVkVORE9SX1JFQURf TlJFUVVFU1Q7DQorCWVsc2UNCisJCXJlcXVlc3QgPSBWRU5ET1JfUkVBRF9SRVFVRVNUOw0KIA0K IAlyZXMgPSB1c2JfY29udHJvbF9tc2coc2VyaWFsLT5kZXYsIHVzYl9yY3ZjdHJscGlwZShzZXJp YWwtPmRldiwgMCksDQotCQkJVkVORE9SX1JFQURfUkVRVUVTVCwgVkVORE9SX1JFQURfUkVRVUVT VF9UWVBFLA0KKwkJCXJlcXVlc3QsIFZFTkRPUl9SRUFEX1JFUVVFU1RfVFlQRSwNCiAJCQl2YWx1 ZSwgMCwgYnVmLCAxLCAxMDApOw0KIAlpZiAocmVzICE9IDEpIHsNCiAJCWRldl9lcnIoZGV2LCAi JXMgLSBmYWlsZWQgdG8gcmVhZCBbJTA0eF06ICVkXG4iLCBfX2Z1bmNfXywNCkBAIC0yMTMsMTIg KzI0NCwxOSBAQCBzdGF0aWMgaW50IHBsMjMwM192ZW5kb3JfcmVhZChzdHJ1Y3QgdXNiX3Nlcmlh bCAqc2VyaWFsLCB1MTYgdmFsdWUsDQogc3RhdGljIGludCBwbDIzMDNfdmVuZG9yX3dyaXRlKHN0 cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIHUxNiB2YWx1ZSwgdTE2IGluZGV4KQ0KIHsNCiAJc3Ry dWN0IGRldmljZSAqZGV2ID0gJnNlcmlhbC0+aW50ZXJmYWNlLT5kZXY7DQorCXN0cnVjdCBwbDIz MDNfc2VyaWFsX3ByaXZhdGUgKnNwcml2ID0gdXNiX2dldF9zZXJpYWxfZGF0YShzZXJpYWwpOw0K IAlpbnQgcmVzOw0KKwl1OCByZXF1ZXN0Ow0KIA0KIAlkZXZfZGJnKGRldiwgIiVzIC0gWyUwNHhd ID0gJTAyeFxuIiwgX19mdW5jX18sIHZhbHVlLCBpbmRleCk7DQogDQorCWlmIChzcHJpdi0+dHlw ZSA9PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBFX0hYTl0pDQorCQlyZXF1ZXN0ID0gVkVORE9SX1dS SVRFX05SRVFVRVNUOw0KKwllbHNlDQorCQlyZXF1ZXN0ID0gVkVORE9SX1dSSVRFX1JFUVVFU1Q7 DQorDQogCXJlcyA9IHVzYl9jb250cm9sX21zZyhzZXJpYWwtPmRldiwgdXNiX3NuZGN0cmxwaXBl KHNlcmlhbC0+ZGV2LCAwKSwNCi0JCQlWRU5ET1JfV1JJVEVfUkVRVUVTVCwgVkVORE9SX1dSSVRF X1JFUVVFU1RfVFlQRSwNCisJCQlyZXF1ZXN0LCBWRU5ET1JfV1JJVEVfUkVRVUVTVF9UWVBFLA0K IAkJCXZhbHVlLCBpbmRleCwgTlVMTCwgMCwgMTAwKTsNCiAJaWYgKHJlcykgew0KIAkJZGV2X2Vy cihkZXYsICIlcyAtIGZhaWxlZCB0byB3cml0ZSBbJTA0eF06ICVkXG4iLCBfX2Z1bmNfXywNCkBA IC0yMzMsMTIgKzI3MSwxNyBAQCBzdGF0aWMgaW50IHBsMjMwM191cGRhdGVfcmVnKHN0cnVjdCB1 c2Jfc2VyaWFsICpzZXJpYWwsIHU4IHJlZywgdTggbWFzaywgdTggdmFsKQ0KIHsNCiAJaW50IHJl dCA9IDA7DQogCXU4ICpidWY7DQorCXN0cnVjdCBwbDIzMDNfc2VyaWFsX3ByaXZhdGUgKnNwcml2 ID0gdXNiX2dldF9zZXJpYWxfZGF0YShzZXJpYWwpOw0KIA0KIAlidWYgPSBrbWFsbG9jKDEsIEdG UF9LRVJORUwpOw0KIAlpZiAoIWJ1ZikNCiAJCXJldHVybiAtRU5PTUVNOw0KIA0KLQlyZXQgPSBw bDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCByZWcgfCAweDgwLCBidWYpOw0KKwlpZiAoc3ByaXYt PnR5cGUgPT0gJnBsMjMwM190eXBlX2RhdGFbVFlQRV9IWE5dKQ0KKwkJcmV0ID0gcGwyMzAzX3Zl bmRvcl9yZWFkKHNlcmlhbCwgcmVnLCBidWYpOw0KKwllbHNlDQorCQlyZXQgPSBwbDIzMDNfdmVu ZG9yX3JlYWQoc2VyaWFsLCByZWcgfCAweDgwLCBidWYpOw0KKw0KIAlpZiAocmV0KQ0KIAkJZ290 byBvdXRfZnJlZTsNCiANCkBAIC0zMjEsNiArMzY0LDcgQEAgc3RhdGljIGludCBwbDIzMDNfc3Rh cnR1cChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQ0KIAlzdHJ1Y3QgcGwyMzAzX3NlcmlhbF9w cml2YXRlICpzcHJpdjsNCiAJZW51bSBwbDIzMDNfdHlwZSB0eXBlID0gVFlQRV8wMTsNCiAJdW5z aWduZWQgY2hhciAqYnVmOw0KKwlpbnQgcmVzOw0KIA0KIAlzcHJpdiA9IGt6YWxsb2Moc2l6ZW9m KCpzcHJpdiksIEdGUF9LRVJORUwpOw0KIAlpZiAoIXNwcml2KQ0KQEAgLTM0MiwyNiArMzg2LDM3 IEBAIHN0YXRpYyBpbnQgcGwyMzAzX3N0YXJ0dXAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCkN CiAJCXR5cGUgPSBUWVBFXzAxOwkJLyogdHlwZSAxICovDQogCWRldl9kYmcoJnNlcmlhbC0+aW50 ZXJmYWNlLT5kZXYsICJkZXZpY2UgdHlwZTogJWRcbiIsIHR5cGUpOw0KIA0KKwlpZiAodHlwZSA9 PSBUWVBFX0hYKSB7DQorCQlyZXMgPSB1c2JfY29udHJvbF9tc2coc2VyaWFsLT5kZXYsDQorCQkJ CXVzYl9yY3ZjdHJscGlwZShzZXJpYWwtPmRldiwgMCksDQorCQkJCVZFTkRPUl9SRUFEX1JFUVVF U1QsIFZFTkRPUl9SRUFEX1JFUVVFU1RfVFlQRSwNCisJCQkJUEwyMzAzX1JFQURfVFlQRV9IWF9T VEFUVVMsIDAsIGJ1ZiwgMSwgMTAwKTsNCisJCWlmIChyZXMgIT0gMSkNCisJCQl0eXBlID0gVFlQ RV9IWE47DQorCX0NCisNCiAJc3ByaXYtPnR5cGUgPSAmcGwyMzAzX3R5cGVfZGF0YVt0eXBlXTsN CiAJc3ByaXYtPnF1aXJrcyA9ICh1bnNpZ25lZCBsb25nKXVzYl9nZXRfc2VyaWFsX2RhdGEoc2Vy aWFsKTsNCiAJc3ByaXYtPnF1aXJrcyB8PSBzcHJpdi0+dHlwZS0+cXVpcmtzOw0KIA0KIAl1c2Jf c2V0X3NlcmlhbF9kYXRhKHNlcmlhbCwgc3ByaXYpOw0KIA0KLQlwbDIzMDNfdmVuZG9yX3JlYWQo c2VyaWFsLCAweDg0ODQsIGJ1Zik7DQotCXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAweDA0 MDQsIDApOw0KLQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCAweDg0ODQsIGJ1Zik7DQotCXBs MjMwM192ZW5kb3JfcmVhZChzZXJpYWwsIDB4ODM4MywgYnVmKTsNCi0JcGwyMzAzX3ZlbmRvcl9y ZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOw0KLQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwg MHgwNDA0LCAxKTsNCi0JcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOw0K LQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCAweDgzODMsIGJ1Zik7DQotCXBsMjMwM192ZW5k b3Jfd3JpdGUoc2VyaWFsLCAwLCAxKTsNCi0JcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDEs IDApOw0KLQlpZiAoc3ByaXYtPnF1aXJrcyAmIFBMMjMwM19RVUlSS19MRUdBQ1kpDQotCQlwbDIz MDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgMiwgMHgyNCk7DQotCWVsc2UNCi0JCXBsMjMwM192ZW5k b3Jfd3JpdGUoc2VyaWFsLCAyLCAweDQ0KTsNCisJaWYgKHR5cGUgIT0gVFlQRV9IWE4pIHsNCisJ CXBsMjMwM192ZW5kb3JfcmVhZChzZXJpYWwsIDB4ODQ4NCwgYnVmKTsNCisJCXBsMjMwM192ZW5k b3Jfd3JpdGUoc2VyaWFsLCAweDA0MDQsIDApOw0KKwkJcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlh bCwgMHg4NDg0LCBidWYpOw0KKwkJcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlhbCwgMHg4MzgzLCBi dWYpOw0KKwkJcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOw0KKwkJcGwy MzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDB4MDQwNCwgMSk7DQorCQlwbDIzMDNfdmVuZG9yX3Jl YWQoc2VyaWFsLCAweDg0ODQsIGJ1Zik7DQorCQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCAw eDgzODMsIGJ1Zik7DQorCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgMCwgMSk7DQorCQlw bDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgMSwgMCk7DQorCQlpZiAoc3ByaXYtPnF1aXJrcyAm IFBMMjMwM19RVUlSS19MRUdBQ1kpDQorCQkJcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDIs IDB4MjQpOw0KKwkJZWxzZQ0KKwkJCXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAyLCAweDQ0 KTsNCisJfQ0KIA0KIAlrZnJlZShidWYpOw0KIA0KQEAgLTcyMCwxNCArNzc1LDMxIEBAIHN0YXRp YyB2b2lkIHBsMjMwM19zZXRfdGVybWlvcyhzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LA0KIAl9DQog DQogCWlmIChDX0NSVFNDVFModHR5KSkgew0KLQkJaWYgKHNwcml2LT5xdWlya3MgJiBQTDIzMDNf UVVJUktfTEVHQUNZKQ0KKwkJaWYgKHNwcml2LT5xdWlya3MgJiBQTDIzMDNfUVVJUktfTEVHQUNZ KSB7DQogCQkJcGwyMzAzX3VwZGF0ZV9yZWcoc2VyaWFsLCAwLCBQTDIzMDNfRkxPV0NUUkxfTUFT SywgMHg0MCk7DQotCQllbHNlDQorCQl9IGVsc2UgaWYgKHNwcml2LT50eXBlID09ICZwbDIzMDNf dHlwZV9kYXRhW1RZUEVfSFhOXSkgew0KKwkJCXBsMjMwM191cGRhdGVfcmVnKHNlcmlhbCwgUEwy MzAzX0hYTl9GTE9XQ1RSTF9SRUcsDQorCQkJCQlQTDIzMDNfSFhOX0ZMT1dDVFJMX01BU0ssDQor CQkJCQlQTDIzMDNfSFhOX0ZMT1dDVFJMX1JUU19DVFMpOw0KKwkJfSBlbHNlIHsNCiAJCQlwbDIz MDNfdXBkYXRlX3JlZyhzZXJpYWwsIDAsIFBMMjMwM19GTE9XQ1RSTF9NQVNLLCAweDYwKTsNCisJ CX0NCiAJfSBlbHNlIGlmIChwbDIzMDNfZW5hYmxlX3hvbnhvZmYodHR5LCBzcHJpdi0+dHlwZSkp IHsNCi0JCXBsMjMwM191cGRhdGVfcmVnKHNlcmlhbCwgMCwgUEwyMzAzX0ZMT1dDVFJMX01BU0ss IDB4YzApOw0KKwkJaWYgKHNwcml2LT50eXBlID09ICZwbDIzMDNfdHlwZV9kYXRhW1RZUEVfSFhO XSkgew0KKwkJCXBsMjMwM191cGRhdGVfcmVnKHNlcmlhbCwgUEwyMzAzX0hYTl9GTE9XQ1RSTF9S RUcsDQorCQkJCQlQTDIzMDNfSFhOX0ZMT1dDVFJMX01BU0ssDQorCQkJCQlQTDIzMDNfSFhOX0ZM T1dDVFJMX1hPTl9YT0ZGKTsNCisJCX0gZWxzZSB7DQorCQkJcGwyMzAzX3VwZGF0ZV9yZWcoc2Vy aWFsLCAwLCBQTDIzMDNfRkxPV0NUUkxfTUFTSywgMHhjMCk7DQorCQl9DQogCX0gZWxzZSB7DQot CQlwbDIzMDNfdXBkYXRlX3JlZyhzZXJpYWwsIDAsIFBMMjMwM19GTE9XQ1RSTF9NQVNLLCAwKTsN CisJCWlmIChzcHJpdi0+dHlwZSA9PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBFX0hYTl0pIHsNCisJ CQlwbDIzMDNfdXBkYXRlX3JlZyhzZXJpYWwsIFBMMjMwM19IWE5fRkxPV0NUUkxfUkVHLA0KKwkJ CQkJUEwyMzAzX0hYTl9GTE9XQ1RSTF9NQVNLLA0KKwkJCQkJUEwyMzAzX0hYTl9GTE9XQ1RSTF9O T05FKTsNCisJCX0gZWxzZSB7DQorCQkJcGwyMzAzX3VwZGF0ZV9yZWcoc2VyaWFsLCAwLCBQTDIz MDNfRkxPV0NUUkxfTUFTSywgMCk7DQorCQl9DQogCX0NCiANCiAJa2ZyZWUoYnVmKTsNCkBAIC03 NjgsOCArODQwLDE0IEBAIHN0YXRpYyBpbnQgcGwyMzAzX29wZW4oc3RydWN0IHR0eV9zdHJ1Y3Qg KnR0eSwgc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCkNCiAJCXVzYl9jbGVhcl9oYWx0KHNl cmlhbC0+ZGV2LCBwb3J0LT5yZWFkX3VyYi0+cGlwZSk7DQogCX0gZWxzZSB7DQogCQkvKiByZXNl dCB1cHN0cmVhbSBkYXRhIHBpcGVzICovDQotCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwg OCwgMCk7DQotCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgOSwgMCk7DQorCQlpZiAoc3By aXYtPnR5cGUgPT0gJnBsMjMwM190eXBlX2RhdGFbVFlQRV9IWE5dKSB7DQorCQkJcGwyMzAzX3Zl bmRvcl93cml0ZShzZXJpYWwsIFBMMjMwM19IWE5fUkVTRVRfUkVHLA0KKwkJCQkJUEwyMzAzX0hY Tl9SRVNFVF9VUFNUUkVBTV9QSVBFIHwNCisJCQkJCVBMMjMwM19IWE5fUkVTRVRfRE9XTlNUUkVB TV9QSVBFKTsNCisJCX0gZWxzZSB7DQorCQkJcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDgs IDApOw0KKwkJCXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCA5LCAwKTsNCisJCX0NCiAJfQ0K IA0KIAkvKiBTZXR1cCB0ZXJtaW9zICovDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Ivc2VyaWFs L3BsMjMwMy5oIGIvZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMwMy5oDQppbmRleCBjOThkYjZiNjUw YTUuLjZhZjEzNWRhMGUwMCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9wbDIzMDMu aA0KKysrIGIvZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMwMy5oDQpAQCAtMjAsNyArMjAsMTIgQEAN CiAjZGVmaW5lIFBMMjMwM19QUk9EVUNUX0lEX0hDUjMzMQkweDMzMWENCiAjZGVmaW5lIFBMMjMw M19QUk9EVUNUX0lEX01PVE9ST0xBCTB4MDMwNw0KICNkZWZpbmUgUEwyMzAzX1BST0RVQ1RfSURf WlRFSwkJMHhlMWYxDQotDQorI2RlZmluZSBQTDIzMDNfUFJPRFVDVF9JRF9HQwkJMHgyM0EzDQor I2RlZmluZSBQTDIzMDNfUFJPRFVDVF9JRF9HQgkJMHgyM0IzDQorI2RlZmluZSBQTDIzMDNfUFJP RFVDVF9JRF9HVAkJMHgyM0MzDQorI2RlZmluZSBQTDIzMDNfUFJPRFVDVF9JRF9HTAkJMHgyM0Qz DQorI2RlZmluZSBQTDIzMDNfUFJPRFVDVF9JRF9HRQkJMHgyM0UzDQorI2RlZmluZSBQTDIzMDNf UFJPRFVDVF9JRF9HUwkJMHgyM0YzDQogDQogI2RlZmluZSBBVEVOX1ZFTkRPUl9JRAkJMHgwNTU3 DQogI2RlZmluZSBBVEVOX1ZFTkRPUl9JRDIJCTB4MDU0Nw0KLS0gDQoyLjI1LjENCg0K