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: [V5,1/3] USB: serial: f81232: clear overrun flag From: "Ji-Ze Hong \(Peter Hong\)" Message-Id: <1554272790-26747-1-git-send-email-hpeter+linux_kernel@gmail.com> Date: Wed, 3 Apr 2019 14:26:28 +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 LmNvbT4KLS0tCnY1OgoJMTogU291cmNlIGNvZGUgYmFzZSByZXZlcnQgdG8gdjMgYW5kIHJlbW92 ZSBhbGwgdjQgY2hhbmdlcy4KCTI6IEFkZCBzZXJpYWwtPnN1c3BlbmRpbmcgY2hlY2sgaW4gZjgx MjMyX3Byb2Nlc3NfcmVhZF91cmIoKQoJICAgYmVmb3JlIHNjaGVkdWxlX3dvcmsoJnByaXYtPmxz cl93b3JrKSB0byBhdm9pZCByYWNlIGNvbmRpdGlvbi4KCnY0OgoJMTogQWRkIHNlcmlhbC0+c3Vz cGVuZGluZyBjaGVjayBpbiBmODEyMzJfbHNyX3dvcmtlcigpIHRvIGF2b2lkCgkgICByZS10cmln Z2VyCgkyOiBBZGQgcG9ydF9wcml2LWxzcl93b3JrX3Jlc2NoZWQgdG8gcmUtdHJpZ2dlciBMU1Ig d29ya2VyCgp2MzoKCTE6IEFkZCBmbHVzaF93b3JrKCZwb3J0X3ByaXYtPmxzcl93b3JrKSBpbiBm ODEyMzJfc3VzcGVuZCgpLgoKdjI6CgkxOiBBZGQgZmx1c2hfd29yaygmcG9ydF9wcml2LT5sc3Jf d29yaykgaW4gZjgxMjMyX2Nsb3NlKCkuCgogZHJpdmVycy91c2Ivc2VyaWFsL2Y4MTIzMi5jIHwg MzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQs IDM3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvZjgxMjMy LmMgYi9kcml2ZXJzL3VzYi9zZXJpYWwvZjgxMjMyLmMKaW5kZXggMGRjZGNiNGIyY2RlLi5kOGEw YmI3YTQxZjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL3NlcmlhbC9mODEyMzIuYworKysgYi9k cml2ZXJzL3VzYi9zZXJpYWwvZjgxMjMyLmMKQEAgLTQxLDEyICs0MSwxNCBAQCBNT0RVTEVfREVW SUNFX1RBQkxFKHVzYiwgaWRfdGFibGUpOwogI2RlZmluZSBGSUZPX0NPTlRST0xfUkVHSVNURVIJ CSgweDAyICsgU0VSSUFMX0JBU0VfQUREUkVTUykKICNkZWZpbmUgTElORV9DT05UUk9MX1JFR0lT VEVSCQkoMHgwMyArIFNFUklBTF9CQVNFX0FERFJFU1MpCiAjZGVmaW5lIE1PREVNX0NPTlRST0xf UkVHSVNURVIJCSgweDA0ICsgU0VSSUFMX0JBU0VfQUREUkVTUykKKyNkZWZpbmUgTElORV9TVEFU VVNfUkVHSVNURVIJCSgweDA1ICsgU0VSSUFMX0JBU0VfQUREUkVTUykKICNkZWZpbmUgTU9ERU1f U1RBVFVTX1JFR0lTVEVSCQkoMHgwNiArIFNFUklBTF9CQVNFX0FERFJFU1MpCiAKIHN0cnVjdCBm ODEyMzJfcHJpdmF0ZSB7CiAJc3RydWN0IG11dGV4IGxvY2s7CiAJdTggbW9kZW1fY29udHJvbDsK IAl1OCBtb2RlbV9zdGF0dXM7CisJc3RydWN0IHdvcmtfc3RydWN0IGxzcl93b3JrOwogCXN0cnVj dCB3b3JrX3N0cnVjdCBpbnRlcnJ1cHRfd29yazsKIAlzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpw b3J0OwogfTsKQEAgLTI4Miw2ICsyODQsOCBAQCBzdGF0aWMgdm9pZCBmODEyMzJfcmVhZF9pbnRf Y2FsbGJhY2soc3RydWN0IHVyYiAqdXJiKQogc3RhdGljIHZvaWQgZjgxMjMyX3Byb2Nlc3NfcmVh ZF91cmIoc3RydWN0IHVyYiAqdXJiKQogewogCXN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQg PSB1cmItPmNvbnRleHQ7CisJc3RydWN0IHVzYl9zZXJpYWwgKnNlcmlhbCA9IHBvcnQtPnNlcmlh bDsKKwlzdHJ1Y3QgZjgxMjMyX3ByaXZhdGUgKnByaXYgPSB1c2JfZ2V0X3NlcmlhbF9wb3J0X2Rh dGEocG9ydCk7CiAJdW5zaWduZWQgY2hhciAqZGF0YSA9IHVyYi0+dHJhbnNmZXJfYnVmZmVyOwog CWNoYXIgdHR5X2ZsYWc7CiAJdW5zaWduZWQgaW50IGk7CkBAIC0zMTUsNiArMzE5LDkgQEAgc3Rh dGljIHZvaWQgZjgxMjMyX3Byb2Nlc3NfcmVhZF91cmIoc3RydWN0IHVyYiAqdXJiKQogCiAJCQlp ZiAobHNyICYgVUFSVF9MU1JfT0UpIHsKIAkJCQlwb3J0LT5pY291bnQub3ZlcnJ1bisrOworCisJ CQkJaWYgKCFzZXJpYWwtPnN1c3BlbmRpbmcpCisJCQkJCXNjaGVkdWxlX3dvcmsoJnByaXYtPmxz cl93b3JrKTsKIAkJCQl0dHlfaW5zZXJ0X2ZsaXBfY2hhcigmcG9ydC0+cG9ydCwgMCwKIAkJCQkJ CVRUWV9PVkVSUlVOKTsKIAkJCX0KQEAgLTU1Niw5ICs1NjMsMTIgQEAgc3RhdGljIGludCBmODEy MzJfb3BlbihzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LCBzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpw b3J0KQogCiBzdGF0aWMgdm9pZCBmODEyMzJfY2xvc2Uoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAq cG9ydCkKIHsKKwlzdHJ1Y3QgZjgxMjMyX3ByaXZhdGUgKnBvcnRfcHJpdiA9IHVzYl9nZXRfc2Vy aWFsX3BvcnRfZGF0YShwb3J0KTsKKwogCWY4MTIzMl9wb3J0X2Rpc2FibGUocG9ydCk7CiAJdXNi X3NlcmlhbF9nZW5lcmljX2Nsb3NlKHBvcnQpOwogCXVzYl9raWxsX3VyYihwb3J0LT5pbnRlcnJ1 cHRfaW5fdXJiKTsKKwlmbHVzaF93b3JrKCZwb3J0X3ByaXYtPmxzcl93b3JrKTsKIH0KIAogc3Rh dGljIHZvaWQgZjgxMjMyX2R0cl9ydHMoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwgaW50 IG9uKQpAQCAtNjAzLDYgKzYxMywyMSBAQCBzdGF0aWMgdm9pZCAgZjgxMjMyX2ludGVycnVwdF93 b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlmODEyMzJfcmVhZF9tc3IocHJpdi0+cG9y dCk7CiB9CiAKK3N0YXRpYyB2b2lkIGY4MTIzMl9sc3Jfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVj dCAqd29yaykKK3sKKwlzdHJ1Y3QgZjgxMjMyX3ByaXZhdGUgKnByaXY7CisJc3RydWN0IHVzYl9z ZXJpYWxfcG9ydCAqcG9ydDsKKwlpbnQgc3RhdHVzOworCXU4IHRtcDsKKworCXByaXYgPSBjb250 YWluZXJfb2Yod29yaywgc3RydWN0IGY4MTIzMl9wcml2YXRlLCBsc3Jfd29yayk7CisJcG9ydCA9 IHByaXYtPnBvcnQ7CisKKwlzdGF0dXMgPSBmODEyMzJfZ2V0X3JlZ2lzdGVyKHBvcnQsIExJTkVf U1RBVFVTX1JFR0lTVEVSLCAmdG1wKTsKKwlpZiAoc3RhdHVzKQorCQlkZXZfd2FybigmcG9ydC0+ ZGV2LCAicmVhZCBMU1IgZmFpbGVkOiAlZFxuIiwgc3RhdHVzKTsKK30KKwogc3RhdGljIGludCBm ODEyMzJfcG9ydF9wcm9iZShzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0KQogewogCXN0cnVj dCBmODEyMzJfcHJpdmF0ZSAqcHJpdjsKQEAgLTYxMyw2ICs2MzgsNyBAQCBzdGF0aWMgaW50IGY4 MTIzMl9wb3J0X3Byb2JlKHN0cnVjdCB1c2Jfc2VyaWFsX3BvcnQgKnBvcnQpCiAKIAltdXRleF9p bml0KCZwcml2LT5sb2NrKTsKIAlJTklUX1dPUksoJnByaXYtPmludGVycnVwdF93b3JrLCAgZjgx MjMyX2ludGVycnVwdF93b3JrKTsKKwlJTklUX1dPUksoJnByaXYtPmxzcl93b3JrLCBmODEyMzJf bHNyX3dvcmtlcik7CiAKIAl1c2Jfc2V0X3NlcmlhbF9wb3J0X2RhdGEocG9ydCwgcHJpdik7CiAK QEAgLTYzMiw2ICs2NTgsMTYgQEAgc3RhdGljIGludCBmODEyMzJfcG9ydF9yZW1vdmUoc3RydWN0 IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBmODEy MzJfc3VzcGVuZChzdHJ1Y3QgdXNiX3NlcmlhbCAqc2VyaWFsLCBwbV9tZXNzYWdlX3QgbWVzc2Fn ZSkKK3sKKwlzdHJ1Y3QgZjgxMjMyX3ByaXZhdGUgKnBvcnRfcHJpdjsKKworCXBvcnRfcHJpdiA9 IHVzYl9nZXRfc2VyaWFsX3BvcnRfZGF0YShzZXJpYWwtPnBvcnRbMF0pOworCWZsdXNoX3dvcmso JnBvcnRfcHJpdi0+bHNyX3dvcmspOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBzdHJ1Y3Qg dXNiX3NlcmlhbF9kcml2ZXIgZjgxMjMyX2RldmljZSA9IHsKIAkuZHJpdmVyID0gewogCQkub3du ZXIgPQlUSElTX01PRFVMRSwKQEAgLTY1NSw2ICs2OTEsNyBAQCBzdGF0aWMgc3RydWN0IHVzYl9z ZXJpYWxfZHJpdmVyIGY4MTIzMl9kZXZpY2UgPSB7CiAJLnJlYWRfaW50X2NhbGxiYWNrID0JZjgx MjMyX3JlYWRfaW50X2NhbGxiYWNrLAogCS5wb3J0X3Byb2JlID0JCWY4MTIzMl9wb3J0X3Byb2Jl LAogCS5wb3J0X3JlbW92ZSA9CQlmODEyMzJfcG9ydF9yZW1vdmUsCisJLnN1c3BlbmQgPQkJZjgx MjMyX3N1c3BlbmQsCiB9OwogCiBzdGF0aWMgc3RydWN0IHVzYl9zZXJpYWxfZHJpdmVyICogY29u c3Qgc2VyaWFsX2RyaXZlcnNbXSA9IHsK