From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: USB:serial:pl2303:Add new PID to support PL2303HXN (TYPE_HXN) From: Charles Yeh Message-Id: <20190213123000.4656-1-charlesyeh522@gmail.com> Date: Wed, 13 Feb 2019 20:30:00 +0800 To: gregkh@linuxfoundation.org, johan@kernel.org, linux-usb@vger.kernel.org Cc: charles-yeh@prolific.com.tw, Charles Yeh List-ID: UHJvbGlmaWMgaGFzIGRldmVsb3BlZCBhIG5ldyBVU0IgdG8gVUFSVCBjaGlwOiBQTDIzMDNIWE4g KFBMMjMwM0dDL1BMMjMwM0dTL1BMMjMwM0dUL1BMMjMwM0dML1BMMjMwM0dFKQpUaGUgVmVuZG9y IHJlcXVlc3QgdXNlZCBieSB0aGUgUEwyMzAzSFhOIChUWVBFX0hYTikgaXMgZGlmZmVyZW50IGZy b20gdGhlIGV4aXN0aW5nIFBMMjMwMyBzZXJpZXMgKFRZUEVfSFggJiBUWVBFXzAxKS4KVGhlcmVm b3JlLCBkaWZmZXJlbnQgVmVuZG9yIHJlcXVlc3RzIGFyZSB1c2VkIHRvIGlzc3VlIHJlbGF0ZWQg Y29tbWFuZHMuCgoxLiBBZGRlZCBhIG5ldyBUWVBFX0hYTiB0eXBlIGluIHBsMjMwM190eXBlX2Rh dGEsIGFuZCB0aGVuIGV4ZWN1dGVzIG5ldyBWZW5kb3IgcmVxdWVzdCwKICAgbmV3IGZsb3cgY29u dHJvbCBhbmQgb3RoZXIgcmVsYXRlZCBpbnN0cnVjdGlvbnMgaWYgVFlQRV9IWE4gaXMgcmVjb2du aXplZC4KCjIuIEJlY2F1c2UgdGhlIG5ldyBQTDIzMDNIWE4gY2FuIG9ubHkgYWNjZXB0IHRoZSBu ZXcgVmVuZG9yIHJlcXVlc3QsCiAgIHRoZSBvbGQgVmVuZG9yIHJlcXVlc3QgY2Fubm90IGJlIGFj Y2VwdGVkICh0aGUgZXJyb3IgbWVzc2FnZSB3aWxsIGJlIHJldHVybmVkKQogICBTbyBmaXJzdCBk ZXRlcm1pbmUgdGhlIFRZUEVfSFggb3IgVFlQRV9IWE4gdGhyb3VnaCBUWVBFX0hYX1JFQURfU1RB VFVTX1JFRyBpbiBwbDIzMDNfc3RhcnR1cC4KCiAgMi4xIElmIHRoZSByZXR1cm4gbWVzc2FnZSBp cyAiMSIsIHRoZW4gdGhlIFBMMjMwMyBpcyB0aGUgZXhpc3RpbmcgVFlQRV9IWC8gVFlQRV8wMSBz ZXJpZXMuCiAgICAgIFRoZSBvdGhlciBzZXR0aW5ncyBpbiBwbDIzMDNfc3RhcnR1cCBhcmUgdG8g Y29udGludWUgZXhlY3V0aW9uLgogIDIuMiBJZiB0aGUgcmV0dXJuIG1lc3NhZ2UgaXMgIm5vdCAx IiwgdGhlbiB0aGUgUEwyMzAzIGlzIHRoZSBuZXcgVFlQRV9IWE4gc2VyaWVzLgogICAgICBUaGUg b3RoZXIgc2V0dGluZ3MgaW4gcGwyMzAzX3N0YXJ0dXAgYXJlIGlnbm9yZWQuCiAgICAgIChQTDIz MDNIWE4gd2lsbCBkaXJlY3RseSB1c2UgdGhlIGRlZmF1bHQgdmFsdWUgaW4gdGhlIGhhcmR3YXJl LAogICAgICAgbm8gbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzZXR0aW5ncyB0aHJvdWdoIHRoZSBz b2Z0d2FyZSkKCjMuIEluIHBsMjMwM19vcGVuOiBCZWNhdXNlIFRZUEVfSFhOIGlzIGRpZmZlcmVu dCBmcm9tIHRoZSBpbnN0cnVjdGlvbiBvZiBkb3duL3VwIHN0cmVhbSB1c2VkIGJ5IFRZUEVfSFgu CiAgIFRoZXJlZm9yZSwgd2Ugd2lsbCBhbHNvIGV4ZWN1dGUgZGlmZmVyZW50IGluc3RydWN0aW9u cyBoZXJlLgoKNC4gSW4gcGwyMzAzX3NldF90ZXJtaW9zOiBUaGUgVUFSVCBmbG93IGNvbnRyb2wg aW5zdHJ1Y3Rpb25zIHVzZWQgYnkgVFlQRV9IWE4vVFlQRV9IWC9UWVBFXzAxIGFyZSBkaWZmZXJl bnQuCiAgIFRoZXJlZm9yZSwgd2Ugd2lsbCBhbHNvIGV4ZWN1dGUgZGlmZmVyZW50IGluc3RydWN0 aW9ucyBoZXJlLgoKNS4gSW4gcGwyMzAzX3ZlbmRvcl9yZWFkICYgcGwyMzAzX3ZlbmRvcl93cml0 ZSwgc2luY2UgVFlQRV9IWE4gaXMgZGlmZmVyZW50IGZyb20gdGhlIHZlbmRvciByZXF1ZXN0CiAg IGluc3RydWN0aW9uIHVzZWQgYnkgVFlQRV9IWC9UWVBFXzAxLCBpdCB3aWxsIGFsc28gZXhlY3V0 ZSBkaWZmZXJlbnQgaW5zdHJ1Y3Rpb25zIGhlcmUuCgpTaWduZWQtb2ZmLWJ5OiBDaGFybGVzIFll aCA8Y2hhcmxlc3llaDUyMkBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMw My5jIHwgMTMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogZHJpdmVycy91 c2Ivc2VyaWFsL3BsMjMwMy5oIHwgICA3ICsrCiAyIGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRp b25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwv cGwyMzAzLmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvcGwyMzAzLmMKaW5kZXggYmIzZjlhYTRhOTA5 Li5kN2Q1NTdlMDEzOTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9wbDIzMDMuYwor KysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvcGwyMzAzLmMKQEAgLTQ3LDYgKzQ3LDEyIEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgdXNiX2RldmljZV9pZCBpZF90YWJsZVtdID0gewogCXsgVVNCX0RFVklD RShQTDIzMDNfVkVORE9SX0lELCBQTDIzMDNfUFJPRFVDVF9JRF9NT1RPUk9MQSkgfSwKIAl7IFVT Ql9ERVZJQ0UoUEwyMzAzX1ZFTkRPUl9JRCwgUEwyMzAzX1BST0RVQ1RfSURfWlRFSykgfSwKIAl7 IFVTQl9ERVZJQ0UoUEwyMzAzX1ZFTkRPUl9JRCwgUEwyMzAzX1BST0RVQ1RfSURfVEIpIH0sCisJ eyBVU0JfREVWSUNFKFBMMjMwM19WRU5ET1JfSUQsIFBMMjMwM0dfUFJPRFVDVF9JRF9HQykgfSwK Kwl7IFVTQl9ERVZJQ0UoUEwyMzAzX1ZFTkRPUl9JRCwgUEwyMzAzR19QUk9EVUNUX0lEX0dCKSB9 LAorCXsgVVNCX0RFVklDRShQTDIzMDNfVkVORE9SX0lELCBQTDIzMDNHX1BST0RVQ1RfSURfR1Qp IH0sCisJeyBVU0JfREVWSUNFKFBMMjMwM19WRU5ET1JfSUQsIFBMMjMwM0dfUFJPRFVDVF9JRF9H TCkgfSwKKwl7IFVTQl9ERVZJQ0UoUEwyMzAzX1ZFTkRPUl9JRCwgUEwyMzAzR19QUk9EVUNUX0lE X0dFKSB9LAorCXsgVVNCX0RFVklDRShQTDIzMDNfVkVORE9SX0lELCBQTDIzMDNHX1BST0RVQ1Rf SURfR1MpIH0sCiAJeyBVU0JfREVWSUNFKElPREFUQV9WRU5ET1JfSUQsIElPREFUQV9QUk9EVUNU X0lEKSB9LAogCXsgVVNCX0RFVklDRShJT0RBVEFfVkVORE9SX0lELCBJT0RBVEFfUFJPRFVDVF9J RF9SU0FRNSkgfSwKIAl7IFVTQl9ERVZJQ0UoQVRFTl9WRU5ET1JfSUQsIEFURU5fUFJPRFVDVF9J RCksCkBAIC0xMjksOSArMTM1LDExIEBAIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBpZF90YWJs ZSk7CiAKICNkZWZpbmUgVkVORE9SX1dSSVRFX1JFUVVFU1RfVFlQRQkweDQwCiAjZGVmaW5lIFZF TkRPUl9XUklURV9SRVFVRVNUCQkweDAxCisjZGVmaW5lIFZFTkRPUl9XUklURV9OUkVRVUVTVAkJ MHg4MAogCiAjZGVmaW5lIFZFTkRPUl9SRUFEX1JFUVVFU1RfVFlQRQkweGMwCiAjZGVmaW5lIFZF TkRPUl9SRUFEX1JFUVVFU1QJCTB4MDEKKyNkZWZpbmUgVkVORE9SX1JFQURfTlJFUVVFU1QJCTB4 ODEKIAogI2RlZmluZSBVQVJUX1NUQVRFX0lOREVYCQk4CiAjZGVmaW5lIFVBUlRfU1RBVEVfTVNS X01BU0sJCTB4OGIKQEAgLTE0NSwxMSArMTUzLDMwIEBAIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNi LCBpZF90YWJsZSk7CiAjZGVmaW5lIFVBUlRfT1ZFUlJVTl9FUlJPUgkJMHg0MAogI2RlZmluZSBV QVJUX0NUUwkJCTB4ODAKIAorI2RlZmluZSBUWVBFX0hYX1JFQURfU1RBVFVTX1JFRwkJMHg4MDgw CisjZGVmaW5lIFRZUEVfSFhOX0ZMT1dDT05UUk9MX1JFRwkweDBBCisjZGVmaW5lIFRZUEVfSFhO X0hBUkRXQVJFRkxPV19EQVRBCTB4RkEKKyNkZWZpbmUgVFlQRV9IWE5fU09GVFdBUkVGTE9XX0RB VEEJMHhFRQorI2RlZmluZSBUWVBFX0hYTl9OT0ZMT1dfREFUQQkJMHhGRgorI2RlZmluZSBUWVBF X0hYXzAxX0ZMT1dDT05UUk9MX1JFRwkweDAwCisjZGVmaW5lIFRZUEVfMDFfSEFSRFdBUkVGTE9X X0RBVEEJMHg0MQorI2RlZmluZSBUWVBFX0hYX0hBUkRXQVJFRkxPV19EQVRBCTB4NjEKKyNkZWZp bmUgVFlQRV9IWF8wMV9TT0ZUV0FSRUZMT1dfREFUQQkweEMwCisjZGVmaW5lIFRZUEVfSFhfMDFf Tk9GTE9XX0RBVEEJCTB4MDAKKyNkZWZpbmUgVUFSVF9YT05fQ0hBUgkJCTB4MTEKKyNkZWZpbmUg VUFSVF9YT0ZGX0NIQVIJCQkweDEzCisjZGVmaW5lIEhYX1JFU0VUX0RPV05fVVBTVFJFQU1fUkVH MQkweDA4CisjZGVmaW5lIEhYX1JFU0VUX0RPV05fVVBTVFJFQU1fUkVHMgkweDA5CisjZGVmaW5l IEhYX1JFU0VUX0RPV05fVVBTVFJFQU1fREFUQQkweDAwCisjZGVmaW5lIEhYTl9SRVNFVF9ET1dO X1VQU1RSRUFNX1JFRwkweDA3CisjZGVmaW5lIEhYTl9SRVNFVF9ET1dOX1VQU1RSRUFNX0RBVEEJ MHgwMAorCiBzdGF0aWMgdm9pZCBwbDIzMDNfc2V0X2JyZWFrKHN0cnVjdCB1c2Jfc2VyaWFsX3Bv cnQgKnBvcnQsIGJvb2wgZW5hYmxlKTsKIAogZW51bSBwbDIzMDNfdHlwZSB7CiAJVFlQRV8wMSwJ LyogVHlwZSAwIGFuZCAxIChkaWZmZXJlbmNlIHVua25vd24pICovCiAJVFlQRV9IWCwJLyogSFgg dmVyc2lvbiBvZiB0aGUgcGwyMzAzIGNoaXAgKi8KKwlUWVBFX0hYTiwJLyogSFhOIHZlcnNpb24g b2YgdGhlIHBsMjMwMyBjaGlwICovCiAJVFlQRV9DT1VOVAogfTsKIApAQCAtMTc5LDE2ICsyMDYs MjYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwbDIzMDNfdHlwZV9kYXRhIHBsMjMwM190eXBlX2Rh dGFbVFlQRV9DT1VOVF0gPSB7CiAJW1RZUEVfSFhdID0gewogCQkubWF4X2JhdWRfcmF0ZSA9CTEy MDAwMDAwLAogCX0sCisJW1RZUEVfSFhOXSA9IHsKKwkJLm1heF9iYXVkX3JhdGUgPQkxMjAwMDAw MCwKKwl9LAogfTsKIAogc3RhdGljIGludCBwbDIzMDNfdmVuZG9yX3JlYWQoc3RydWN0IHVzYl9z ZXJpYWwgKnNlcmlhbCwgdTE2IHZhbHVlLAogCQkJCQkJCXVuc2lnbmVkIGNoYXIgYnVmWzFdKQog ewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZzZXJpYWwtPmludGVyZmFjZS0+ZGV2OworCXN0cnVj dCBwbDIzMDNfc2VyaWFsX3ByaXZhdGUgKnNwcml2ID0gdXNiX2dldF9zZXJpYWxfZGF0YShzZXJp YWwpOwogCWludCByZXM7CisJdTggcmVxdWVzdDsKKworCWlmIChzcHJpdi0+dHlwZSA9PSAmcGwy MzAzX3R5cGVfZGF0YVtUWVBFX0hYTl0pCisJCXJlcXVlc3QgPSBWRU5ET1JfUkVBRF9OUkVRVUVT VDsKKwllbHNlCisJCXJlcXVlc3QgPSBWRU5ET1JfUkVBRF9SRVFVRVNUOwogCiAJcmVzID0gdXNi X2NvbnRyb2xfbXNnKHNlcmlhbC0+ZGV2LCB1c2JfcmN2Y3RybHBpcGUoc2VyaWFsLT5kZXYsIDAp LAotCQkJVkVORE9SX1JFQURfUkVRVUVTVCwgVkVORE9SX1JFQURfUkVRVUVTVF9UWVBFLAorCQkJ cmVxdWVzdCwgVkVORE9SX1JFQURfUkVRVUVTVF9UWVBFLAogCQkJdmFsdWUsIDAsIGJ1ZiwgMSwg MTAwKTsKIAlpZiAocmVzICE9IDEpIHsKIAkJZGV2X2VycihkZXYsICIlcyAtIGZhaWxlZCB0byBy ZWFkIFslMDR4XTogJWRcbiIsIF9fZnVuY19fLApAQCAtMjA3LDEyICsyNDQsMTkgQEAgc3RhdGlj IGludCBwbDIzMDNfdmVuZG9yX3JlYWQoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCwgdTE2IHZh bHVlLAogc3RhdGljIGludCBwbDIzMDNfdmVuZG9yX3dyaXRlKHN0cnVjdCB1c2Jfc2VyaWFsICpz ZXJpYWwsIHUxNiB2YWx1ZSwgdTE2IGluZGV4KQogewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZz ZXJpYWwtPmludGVyZmFjZS0+ZGV2OworCXN0cnVjdCBwbDIzMDNfc2VyaWFsX3ByaXZhdGUgKnNw cml2ID0gdXNiX2dldF9zZXJpYWxfZGF0YShzZXJpYWwpOwogCWludCByZXM7CisJdTggcmVxdWVz dDsKIAogCWRldl9kYmcoZGV2LCAiJXMgLSBbJTA0eF0gPSAlMDJ4XG4iLCBfX2Z1bmNfXywgdmFs dWUsIGluZGV4KTsKIAorCWlmIChzcHJpdi0+dHlwZSA9PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBF X0hYTl0pCisJCXJlcXVlc3QgPSBWRU5ET1JfV1JJVEVfTlJFUVVFU1Q7CisJZWxzZQorCQlyZXF1 ZXN0ID0gVkVORE9SX1dSSVRFX1JFUVVFU1Q7CisKIAlyZXMgPSB1c2JfY29udHJvbF9tc2coc2Vy aWFsLT5kZXYsIHVzYl9zbmRjdHJscGlwZShzZXJpYWwtPmRldiwgMCksCi0JCQlWRU5ET1JfV1JJ VEVfUkVRVUVTVCwgVkVORE9SX1dSSVRFX1JFUVVFU1RfVFlQRSwKKwkJCXJlcXVlc3QsIFZFTkRP Ul9XUklURV9SRVFVRVNUX1RZUEUsCiAJCQl2YWx1ZSwgaW5kZXgsIE5VTEwsIDAsIDEwMCk7CiAJ aWYgKHJlcykgewogCQlkZXZfZXJyKGRldiwgIiVzIC0gZmFpbGVkIHRvIHdyaXRlIFslMDR4XTog JWRcbiIsIF9fZnVuY19fLApAQCAtMjkyLDYgKzMzNiw3IEBAIHN0YXRpYyBpbnQgcGwyMzAzX3N0 YXJ0dXAoc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCkKIAlzdHJ1Y3QgcGwyMzAzX3NlcmlhbF9w cml2YXRlICpzcHJpdjsKIAllbnVtIHBsMjMwM190eXBlIHR5cGUgPSBUWVBFXzAxOwogCXVuc2ln bmVkIGNoYXIgKmJ1ZjsKKwlpbnQgcmVzOwogCiAJc3ByaXYgPSBremFsbG9jKHNpemVvZigqc3By aXYpLCBHRlBfS0VSTkVMKTsKIAlpZiAoIXNwcml2KQpAQCAtMzEzLDI2ICszNTgsMzcgQEAgc3Rh dGljIGludCBwbDIzMDNfc3RhcnR1cChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsKQogCQl0eXBl ID0gVFlQRV8wMTsJCS8qIHR5cGUgMSAqLwogCWRldl9kYmcoJnNlcmlhbC0+aW50ZXJmYWNlLT5k ZXYsICJkZXZpY2UgdHlwZTogJWRcbiIsIHR5cGUpOwogCisJaWYgKHR5cGUgPT0gVFlQRV9IWCkg eworCQlyZXMgPSB1c2JfY29udHJvbF9tc2coc2VyaWFsLT5kZXYsCisJCQl1c2JfcmN2Y3RybHBp cGUoc2VyaWFsLT5kZXYsIDApLAorCQkJVkVORE9SX1JFQURfUkVRVUVTVCwgVkVORE9SX1JFQURf UkVRVUVTVF9UWVBFLAorCQkJVFlQRV9IWF9SRUFEX1NUQVRVU19SRUcsIDAsIGJ1ZiwgMSwgMTAw KTsKKwkJaWYgKHJlcyAhPSAxKQorCQkJdHlwZSA9IFRZUEVfSFhOOworCX0KKwogCXNwcml2LT50 eXBlID0gJnBsMjMwM190eXBlX2RhdGFbdHlwZV07CiAJc3ByaXYtPnF1aXJrcyA9ICh1bnNpZ25l ZCBsb25nKXVzYl9nZXRfc2VyaWFsX2RhdGEoc2VyaWFsKTsKIAlzcHJpdi0+cXVpcmtzIHw9IHNw cml2LT50eXBlLT5xdWlya3M7CiAKIAl1c2Jfc2V0X3NlcmlhbF9kYXRhKHNlcmlhbCwgc3ByaXYp OwogCi0JcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOwotCXBsMjMwM192 ZW5kb3Jfd3JpdGUoc2VyaWFsLCAweDA0MDQsIDApOwotCXBsMjMwM192ZW5kb3JfcmVhZChzZXJp YWwsIDB4ODQ4NCwgYnVmKTsKLQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCAweDgzODMsIGJ1 Zik7Ci0JcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOwotCXBsMjMwM192 ZW5kb3Jfd3JpdGUoc2VyaWFsLCAweDA0MDQsIDEpOwotCXBsMjMwM192ZW5kb3JfcmVhZChzZXJp YWwsIDB4ODQ4NCwgYnVmKTsKLQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCAweDgzODMsIGJ1 Zik7Ci0JcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDAsIDEpOwotCXBsMjMwM192ZW5kb3Jf d3JpdGUoc2VyaWFsLCAxLCAwKTsKLQlpZiAoc3ByaXYtPnF1aXJrcyAmIFBMMjMwM19RVUlSS19M RUdBQ1kpCi0JCXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAyLCAweDI0KTsKLQllbHNlCi0J CXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAyLCAweDQ0KTsKKwlpZiAodHlwZSAhPSBUWVBF X0hYTikgeworCQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFsLCAweDg0ODQsIGJ1Zik7CisJCXBs MjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAweDA0MDQsIDApOworCQlwbDIzMDNfdmVuZG9yX3Jl YWQoc2VyaWFsLCAweDg0ODQsIGJ1Zik7CisJCXBsMjMwM192ZW5kb3JfcmVhZChzZXJpYWwsIDB4 ODM4MywgYnVmKTsKKwkJcGwyMzAzX3ZlbmRvcl9yZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOwor CQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgMHgwNDA0LCAxKTsKKwkJcGwyMzAzX3ZlbmRv cl9yZWFkKHNlcmlhbCwgMHg4NDg0LCBidWYpOworCQlwbDIzMDNfdmVuZG9yX3JlYWQoc2VyaWFs LCAweDgzODMsIGJ1Zik7CisJCXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAwLCAxKTsKKwkJ cGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDEsIDApOworCQlpZiAoc3ByaXYtPnF1aXJrcyAm IFBMMjMwM19RVUlSS19MRUdBQ1kpCisJCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgMiwg MHgyNCk7CisJCWVsc2UKKwkJCXBsMjMwM192ZW5kb3Jfd3JpdGUoc2VyaWFsLCAyLCAweDQ0KTsK Kwl9CiAKIAlrZnJlZShidWYpOwogCkBAIC02NzcsMTUgKzczMywzMCBAQCBzdGF0aWMgdm9pZCBw bDIzMDNfc2V0X3Rlcm1pb3Moc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwKIAl9CiAKIAlpZiAoQ19D UlRTQ1RTKHR0eSkpIHsKLQkJaWYgKHNwcml2LT5xdWlya3MgJiBQTDIzMDNfUVVJUktfTEVHQUNZ KQotCQkJcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDB4MCwgMHg0MSk7CisJCWlmIChzcHJp di0+dHlwZSA9PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBFXzAxXSkKKwkJCXBsMjMwM192ZW5kb3Jf d3JpdGUoc2VyaWFsLCBUWVBFX0hYXzAxX0ZMT1dDT05UUk9MX1JFRywKKwkJCQkJCVRZUEVfMDFf SEFSRFdBUkVGTE9XX0RBVEEpOworCQllbHNlIGlmIChzcHJpdi0+dHlwZSA9PSAmcGwyMzAzX3R5 cGVfZGF0YVtUWVBFX0hYTl0pCisJCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgVFlQRV9I WE5fRkxPV0NPTlRST0xfUkVHLAorCQkJCQkJVFlQRV9IWE5fSEFSRFdBUkVGTE9XX0RBVEEpOwor CQllbHNlCisJCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgVFlQRV9IWF8wMV9GTE9XQ09O VFJPTF9SRUcsCisJCQkJCQlUWVBFX0hYX0hBUkRXQVJFRkxPV19EQVRBKTsKKwl9IGVsc2UgaWYg KElfSVhPTih0dHkpICYmICFJX0lYQU5ZKHR0eSkgJiYgU1RBUlRfQ0hBUih0dHkpID09CisJCQlV QVJUX1hPTl9DSEFSICYmIFNUT1BfQ0hBUih0dHkpID09IFVBUlRfWE9GRl9DSEFSKSB7CisJCWlm IChzcHJpdi0+dHlwZSA9PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBFX0hYTl0pCisJCQlwbDIzMDNf dmVuZG9yX3dyaXRlKHNlcmlhbCwgVFlQRV9IWE5fRkxPV0NPTlRST0xfUkVHLAorCQkJCQkJVFlQ RV9IWE5fU09GVFdBUkVGTE9XX0RBVEEpOwogCQllbHNlCi0JCQlwbDIzMDNfdmVuZG9yX3dyaXRl KHNlcmlhbCwgMHgwLCAweDYxKTsKLQl9IGVsc2UgaWYgKElfSVhPTih0dHkpICYmICFJX0lYQU5Z KHR0eSkgJiYgU1RBUlRfQ0hBUih0dHkpID09IDB4MTEgJiYKLQkJCVNUT1BfQ0hBUih0dHkpID09 IDB4MTMpIHsKLQkJcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIDB4MCwgMHhjMCk7CisJCQlw bDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgVFlQRV9IWF8wMV9GTE9XQ09OVFJPTF9SRUcsCisJ CQkJCQlUWVBFX0hYXzAxX1NPRlRXQVJFRkxPV19EQVRBKTsKIAl9IGVsc2UgewotCQlwbDIzMDNf dmVuZG9yX3dyaXRlKHNlcmlhbCwgMHgwLCAweDApOworCQlpZiAoc3ByaXYtPnR5cGUgPT0gJnBs MjMwM190eXBlX2RhdGFbVFlQRV9IWE5dKQorCQkJcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWws IFRZUEVfSFhOX0ZMT1dDT05UUk9MX1JFRywKKwkJCQkJCVRZUEVfSFhOX05PRkxPV19EQVRBKTsK KwkJZWxzZQorCQkJcGwyMzAzX3ZlbmRvcl93cml0ZShzZXJpYWwsIFRZUEVfSFhfMDFfRkxPV0NP TlRST0xfUkVHLAorCQkJCQkJVFlQRV9IWF8wMV9OT0ZMT1dfREFUQSk7CiAJfQogCiAJa2ZyZWUo YnVmKTsKQEAgLTcyNiw4ICs3OTcsMTggQEAgc3RhdGljIGludCBwbDIzMDNfb3BlbihzdHJ1Y3Qg dHR5X3N0cnVjdCAqdHR5LCBzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0KQogCQl1c2JfY2xl YXJfaGFsdChzZXJpYWwtPmRldiwgcG9ydC0+cmVhZF91cmItPnBpcGUpOwogCX0gZWxzZSB7CiAJ CS8qIHJlc2V0IHVwc3RyZWFtIGRhdGEgcGlwZXMgKi8KLQkJcGwyMzAzX3ZlbmRvcl93cml0ZShz ZXJpYWwsIDgsIDApOwotCQlwbDIzMDNfdmVuZG9yX3dyaXRlKHNlcmlhbCwgOSwgMCk7CisJCWlm IChzcHJpdi0+dHlwZSA9PSAmcGwyMzAzX3R5cGVfZGF0YVtUWVBFX0hYTl0pCisJCQlwbDIzMDNf dmVuZG9yX3dyaXRlKHNlcmlhbCwKKwkJCQkJSFhOX1JFU0VUX0RPV05fVVBTVFJFQU1fUkVHLAor CQkJCQlIWE5fUkVTRVRfRE9XTl9VUFNUUkVBTV9EQVRBKTsKKwkJZWxzZSB7CisJCQlwbDIzMDNf dmVuZG9yX3dyaXRlKHNlcmlhbCwKKwkJCQkJSFhfUkVTRVRfRE9XTl9VUFNUUkVBTV9SRUcxLAor CQkJCQlIWF9SRVNFVF9ET1dOX1VQU1RSRUFNX0RBVEEpOworCQkJcGwyMzAzX3ZlbmRvcl93cml0 ZShzZXJpYWwsCisJCQkJCUhYX1JFU0VUX0RPV05fVVBTVFJFQU1fUkVHMiwKKwkJCQkJSFhfUkVT RVRfRE9XTl9VUFNUUkVBTV9EQVRBKTsKKwkJfQogCX0KIAogCS8qIFNldHVwIHRlcm1pb3MgKi8K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9wbDIzMDMuaCBiL2RyaXZlcnMvdXNiL3Nl cmlhbC9wbDIzMDMuaAppbmRleCA1NTk5NDFjYTg4NGQuLjg5OGRkYzFhNzMwMiAxMDA2NDQKLS0t IGEvZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMwMy5oCisrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9w bDIzMDMuaApAQCAtMjEsNiArMjEsMTMgQEAKICNkZWZpbmUgUEwyMzAzX1BST0RVQ1RfSURfTU9U T1JPTEEJMHgwMzA3CiAjZGVmaW5lIFBMMjMwM19QUk9EVUNUX0lEX1pURUsJCTB4ZTFmMQogCisv KiBQTDIzMDNIWE4gLCBUWVBFX0hYTiAqLworI2RlZmluZSBQTDIzMDNHX1BST0RVQ1RfSURfR0MJ MHgyM0EzCisjZGVmaW5lIFBMMjMwM0dfUFJPRFVDVF9JRF9HQgkweDIzQjMKKyNkZWZpbmUgUEwy MzAzR19QUk9EVUNUX0lEX0dUCTB4MjNDMworI2RlZmluZSBQTDIzMDNHX1BST0RVQ1RfSURfR0wJ MHgyM0QzCisjZGVmaW5lIFBMMjMwM0dfUFJPRFVDVF9JRF9HRQkweDIzRTMKKyNkZWZpbmUgUEwy MzAzR19QUk9EVUNUX0lEX0dTCTB4MjNGMwogCiAjZGVmaW5lIEFURU5fVkVORE9SX0lECQkweDA1 NTcKICNkZWZpbmUgQVRFTl9WRU5ET1JfSUQyCQkweDA1NDcK