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: [V4,1/3] USB: serial: f81232: clear overrun flag From: "Ji-Ze Hong \(Peter Hong\)" Message-Id: <1554182797-12815-1-git-send-email-hpeter+linux_kernel@gmail.com> Date: Tue, 2 Apr 2019 13:26:35 +0800 To: peter_hong@fintek.com.tw, johan@kernel.org, gregkh@linuxfoundation.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, "Ji-Ze Hong \(Peter Hong\)" , Oliver Neukum List-ID: VGhlIEY4MTIzMiB3aWxsIHJlcG9ydCBkYXRhIGFuZCBMU1Igd2l0aCBidWxrIGxpa2UgZm9sbG93 aW5nIGZvcm1hdDoKYnVsay1pbiBkYXRhOiBbTFNSKDFCeXRlKStEQVRBKDFCeXRlKV1bTFNSKDFC eXRlKStEQVRBKDFCeXRlKV0uLi4KCkxTUiB3aWxsIGF1dG8gY2xlYXIgZnJhbWUvcGFyaXR5L2Jy ZWFrIGVycm9yIGZsYWcgd2hlbiByZWFkaW5nIGJ5IEgvVywKYnV0IG92ZXJycnVuIHdpbGwgb25s eSBjbGVhcmVkIHdoZW4gcmVhZGluZyBMU1IuIFNvIHRoaXMgcGF0Y2ggYWRkIGEKd29ya2VyIHRv IHJlYWQgTFNSIHdoZW4gb3ZlcnJ1biBhbmQgZmx1c2ggdGhlIHdvcmtlciBvbiBjbG9zZSgpICYK c3VzcGVuZCgpLgoKQ2M6IE9saXZlciBOZXVrdW0gPG9uZXVrdW1Ac3VzZS5jb20+ClNpZ25lZC1v ZmYtYnk6IEppLVplIEhvbmcgKFBldGVyIEhvbmcpIDxocGV0ZXIrbGludXhfa2VybmVsQGdtYWls LmNvbT4KLS0tCnY0OgoJMTogQWRkIHNlcmlhbC0+c3VzcGVuZGluZyBjaGVjayBpbiBmODEyMzJf bHNyX3dvcmtlcigpIHRvIGF2b2lkCgkgICByZS10cmlnZ2VyCgkyOiBBZGQgcG9ydF9wcml2LWxz cl93b3JrX3Jlc2NoZWQgdG8gcmUtdHJpZ2dlciBMU1Igd29ya2VyCgp2MzoKCTE6IEFkZCBmbHVz aF93b3JrKCZwb3J0X3ByaXYtPmxzcl93b3JrKSBpbiBmODEyMzJfc3VzcGVuZCgpLgoKdjI6Cgkx OiBBZGQgZmx1c2hfd29yaygmcG9ydF9wcml2LT5sc3Jfd29yaykgaW4gZjgxMjMyX2Nsb3NlKCku CgogZHJpdmVycy91c2Ivc2VyaWFsL2Y4MTIzMi5jIHwgNTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9mODEyMzIuYyBiL2RyaXZlcnMvdXNi L3NlcmlhbC9mODEyMzIuYwppbmRleCAwZGNkY2I0YjJjZGUuLjkzNDVmMTMyNzRlOSAxMDA2NDQK LS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2Y4MTIzMi5jCisrKyBiL2RyaXZlcnMvdXNiL3Nlcmlh bC9mODEyMzIuYwpAQCAtNDEsMTIgKzQxLDE1IEBAIE1PRFVMRV9ERVZJQ0VfVEFCTEUodXNiLCBp ZF90YWJsZSk7CiAjZGVmaW5lIEZJRk9fQ09OVFJPTF9SRUdJU1RFUgkJKDB4MDIgKyBTRVJJQUxf QkFTRV9BRERSRVNTKQogI2RlZmluZSBMSU5FX0NPTlRST0xfUkVHSVNURVIJCSgweDAzICsgU0VS SUFMX0JBU0VfQUREUkVTUykKICNkZWZpbmUgTU9ERU1fQ09OVFJPTF9SRUdJU1RFUgkJKDB4MDQg KyBTRVJJQUxfQkFTRV9BRERSRVNTKQorI2RlZmluZSBMSU5FX1NUQVRVU19SRUdJU1RFUgkJKDB4 MDUgKyBTRVJJQUxfQkFTRV9BRERSRVNTKQogI2RlZmluZSBNT0RFTV9TVEFUVVNfUkVHSVNURVIJ CSgweDA2ICsgU0VSSUFMX0JBU0VfQUREUkVTUykKIAogc3RydWN0IGY4MTIzMl9wcml2YXRlIHsK IAlzdHJ1Y3QgbXV0ZXggbG9jazsKIAl1OCBtb2RlbV9jb250cm9sOwogCXU4IG1vZGVtX3N0YXR1 czsKKwlib29sIGxzcl93b3JrX3Jlc2NoZWQ7CisJc3RydWN0IHdvcmtfc3RydWN0IGxzcl93b3Jr OwogCXN0cnVjdCB3b3JrX3N0cnVjdCBpbnRlcnJ1cHRfd29yazsKIAlzdHJ1Y3QgdXNiX3Nlcmlh bF9wb3J0ICpwb3J0OwogfTsKQEAgLTI4Miw2ICsyODUsNyBAQCBzdGF0aWMgdm9pZCBmODEyMzJf cmVhZF9pbnRfY2FsbGJhY2soc3RydWN0IHVyYiAqdXJiKQogc3RhdGljIHZvaWQgZjgxMjMyX3By b2Nlc3NfcmVhZF91cmIoc3RydWN0IHVyYiAqdXJiKQogewogCXN0cnVjdCB1c2Jfc2VyaWFsX3Bv cnQgKnBvcnQgPSB1cmItPmNvbnRleHQ7CisJc3RydWN0IGY4MTIzMl9wcml2YXRlICpwcml2ID0g dXNiX2dldF9zZXJpYWxfcG9ydF9kYXRhKHBvcnQpOwogCXVuc2lnbmVkIGNoYXIgKmRhdGEgPSB1 cmItPnRyYW5zZmVyX2J1ZmZlcjsKIAljaGFyIHR0eV9mbGFnOwogCXVuc2lnbmVkIGludCBpOwpA QCAtMzE1LDYgKzMxOSw3IEBAIHN0YXRpYyB2b2lkIGY4MTIzMl9wcm9jZXNzX3JlYWRfdXJiKHN0 cnVjdCB1cmIgKnVyYikKIAogCQkJaWYgKGxzciAmIFVBUlRfTFNSX09FKSB7CiAJCQkJcG9ydC0+ aWNvdW50Lm92ZXJydW4rKzsKKwkJCQlzY2hlZHVsZV93b3JrKCZwcml2LT5sc3Jfd29yayk7CiAJ CQkJdHR5X2luc2VydF9mbGlwX2NoYXIoJnBvcnQtPnBvcnQsIDAsCiAJCQkJCQlUVFlfT1ZFUlJV Tik7CiAJCQl9CkBAIC01NTYsOSArNTYxLDEyIEBAIHN0YXRpYyBpbnQgZjgxMjMyX29wZW4oc3Ry dWN0IHR0eV9zdHJ1Y3QgKnR0eSwgc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCkKIAogc3Rh dGljIHZvaWQgZjgxMjMyX2Nsb3NlKHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQpCiB7CisJ c3RydWN0IGY4MTIzMl9wcml2YXRlICpwb3J0X3ByaXYgPSB1c2JfZ2V0X3NlcmlhbF9wb3J0X2Rh dGEocG9ydCk7CisKIAlmODEyMzJfcG9ydF9kaXNhYmxlKHBvcnQpOwogCXVzYl9zZXJpYWxfZ2Vu ZXJpY19jbG9zZShwb3J0KTsKIAl1c2Jfa2lsbF91cmIocG9ydC0+aW50ZXJydXB0X2luX3VyYik7 CisJZmx1c2hfd29yaygmcG9ydF9wcml2LT5sc3Jfd29yayk7CiB9CiAKIHN0YXRpYyB2b2lkIGY4 MTIzMl9kdHJfcnRzKHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQsIGludCBvbikKQEAgLTYw Myw2ICs2MTEsMjggQEAgc3RhdGljIHZvaWQgIGY4MTIzMl9pbnRlcnJ1cHRfd29yayhzdHJ1Y3Qg d29ya19zdHJ1Y3QgKndvcmspCiAJZjgxMjMyX3JlYWRfbXNyKHByaXYtPnBvcnQpOwogfQogCitz dGF0aWMgdm9pZCBmODEyMzJfbHNyX3dvcmtlcihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCit7 CisJc3RydWN0IGY4MTIzMl9wcml2YXRlICpwcml2OworCXN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQg KnBvcnQ7CisJc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbDsKKwlpbnQgc3RhdHVzOworCXU4IHRt cDsKKworCXByaXYgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGY4MTIzMl9wcml2YXRlLCBs c3Jfd29yayk7CisJcG9ydCA9IHByaXYtPnBvcnQ7CisJc2VyaWFsID0gcG9ydC0+c2VyaWFsOwor CisJaWYgKHNlcmlhbC0+c3VzcGVuZGluZykgeworCQlwcml2LT5sc3Jfd29ya19yZXNjaGVkID0g dHJ1ZTsKKwkJcmV0dXJuOworCX0KKworCXN0YXR1cyA9IGY4MTIzMl9nZXRfcmVnaXN0ZXIocG9y dCwgTElORV9TVEFUVVNfUkVHSVNURVIsICZ0bXApOworCWlmIChzdGF0dXMpCisJCWRldl93YXJu KCZwb3J0LT5kZXYsICJyZWFkIExTUiBmYWlsZWQ6ICVkXG4iLCBzdGF0dXMpOworfQorCiBzdGF0 aWMgaW50IGY4MTIzMl9wb3J0X3Byb2JlKHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQpCiB7 CiAJc3RydWN0IGY4MTIzMl9wcml2YXRlICpwcml2OwpAQCAtNjEzLDYgKzY0Myw3IEBAIHN0YXRp YyBpbnQgZjgxMjMyX3BvcnRfcHJvYmUoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCkKIAog CW11dGV4X2luaXQoJnByaXYtPmxvY2spOwogCUlOSVRfV09SSygmcHJpdi0+aW50ZXJydXB0X3dv cmssICBmODEyMzJfaW50ZXJydXB0X3dvcmspOworCUlOSVRfV09SSygmcHJpdi0+bHNyX3dvcmss IGY4MTIzMl9sc3Jfd29ya2VyKTsKIAogCXVzYl9zZXRfc2VyaWFsX3BvcnRfZGF0YShwb3J0LCBw cml2KTsKIApAQCAtNjMyLDYgKzY2MywzMCBAQCBzdGF0aWMgaW50IGY4MTIzMl9wb3J0X3JlbW92 ZShzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0KQogCXJldHVybiAwOwogfQogCitzdGF0aWMg aW50IGY4MTIzMl9zdXNwZW5kKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwsIHBtX21lc3NhZ2Vf dCBtZXNzYWdlKQoreworCXN0cnVjdCBmODEyMzJfcHJpdmF0ZSAqcG9ydF9wcml2OworCisJcG9y dF9wcml2ID0gdXNiX2dldF9zZXJpYWxfcG9ydF9kYXRhKHNlcmlhbC0+cG9ydFswXSk7CisJZmx1 c2hfd29yaygmcG9ydF9wcml2LT5sc3Jfd29yayk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGlj IGludCBmODEyMzJfcmVzdW1lKHN0cnVjdCB1c2Jfc2VyaWFsICpzZXJpYWwpCit7CisJc3RydWN0 IGY4MTIzMl9wcml2YXRlICpwb3J0X3ByaXY7CisKKwlwb3J0X3ByaXYgPSB1c2JfZ2V0X3Nlcmlh bF9wb3J0X2RhdGEoc2VyaWFsLT5wb3J0WzBdKTsKKworCWlmIChwb3J0X3ByaXYtPmxzcl93b3Jr X3Jlc2NoZWQpIHsKKwkJcG9ydF9wcml2LT5sc3Jfd29ya19yZXNjaGVkID0gZmFsc2U7CisJCXNj aGVkdWxlX3dvcmsoJnBvcnRfcHJpdi0+bHNyX3dvcmspOworCX0KKworCXJldHVybiB1c2Jfc2Vy aWFsX2dlbmVyaWNfcmVzdW1lKHNlcmlhbCk7Cit9CisKIHN0YXRpYyBzdHJ1Y3QgdXNiX3Nlcmlh bF9kcml2ZXIgZjgxMjMyX2RldmljZSA9IHsKIAkuZHJpdmVyID0gewogCQkub3duZXIgPQlUSElT X01PRFVMRSwKQEAgLTY1NSw2ICs3MTAsOCBAQCBzdGF0aWMgc3RydWN0IHVzYl9zZXJpYWxfZHJp dmVyIGY4MTIzMl9kZXZpY2UgPSB7CiAJLnJlYWRfaW50X2NhbGxiYWNrID0JZjgxMjMyX3JlYWRf aW50X2NhbGxiYWNrLAogCS5wb3J0X3Byb2JlID0JCWY4MTIzMl9wb3J0X3Byb2JlLAogCS5wb3J0 X3JlbW92ZSA9CQlmODEyMzJfcG9ydF9yZW1vdmUsCisJLnN1c3BlbmQgPQkJZjgxMjMyX3N1c3Bl bmQsCisJLnJlc3VtZSA9CQlmODEyMzJfcmVzdW1lLAogfTsKIAogc3RhdGljIHN0cnVjdCB1c2Jf c2VyaWFsX2RyaXZlciAqIGNvbnN0IHNlcmlhbF9kcml2ZXJzW10gPSB7Cg==