Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: USB: serial: pl2303: fix xon/xoff flow control From: Johan Hovold Message-Id: <20190418160352.17793-1-johan@kernel.org> Date: Thu, 18 Apr 2019 18:03:52 +0200 To: linux-usb@vger.kernel.org Cc: Greg Kroah-Hartman , Florian Zumbiehl , Johan Hovold List-ID: Rml4IHRoZSBYT04vWE9GRiBmbG93LWNvbnRyb2wgaW1wbGVtZW50YXRpb24gYnkgcmVwb3J0aW5n IGJhY2sgdGhlCmF0dHJpYnV0ZXMgYWN0dWFsbHkgc3VwcG9ydGVkIHdoaWxlIGlnbm9yaW5nIHRo ZSByZXN0LgoKTm90ZSB0aGF0IG9ubHkgb3V0Z29pbmcgWE9OL1hPRkYgZmxvdyBjb250cm9sIChJ WE9OKSBpcyBjdXJyZW50bHkKc3VwcG9ydGVkIGZvciBQTDIzMDNIWCwgYW5kIG9ubHkgdXNpbmcg dGhlIGRlZmF1bHQgc3RhcnQgYW5kIHN0b3AgY2hhcnMuCgpGaXhlczogNjgyNzBkYWI5NzEwICgi VVNCOiBzZXJpYWw6IHBsMjMwMzogZml4IG5vbi1zdXBwb3J0ZWQgeG9uL3hvZmYiKQpGaXhlczog NzA0MWQ5YzNmMDFiICgiVVNCOiBzZXJpYWw6IHBsMjMwMzogYWRkIHN1cHBvcnQgZm9yIHR4IHhv bi94b2ZmIGZsb3cgY29udHJvbCIpClNpZ25lZC1vZmYtYnk6IEpvaGFuIEhvdm9sZCA8am9oYW5A a2VybmVsLm9yZz4KLS0tCiBkcml2ZXJzL3VzYi9zZXJpYWwvcGwyMzAzLmMgfCAyOSArKysrKysr KysrKy0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyks IDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL3NlcmlhbC9wbDIzMDMu YyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9wbDIzMDMuYwppbmRleCA1NTEyMmFjODQ1MTguLmRjMjBh MzM1OTYwMSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL3BsMjMwMy5jCisrKyBiL2Ry aXZlcnMvdXNiL3NlcmlhbC9wbDIzMDMuYwpAQCAtNTcwLDI3ICs1NzAsMTMgQEAgc3RhdGljIGlu dCBwbDIzMDNfc2V0X2xpbmVfcmVxdWVzdChzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0LAog CiBzdGF0aWMgYm9vbCBwbDIzMDNfdGVybWlvc19jaGFuZ2UoY29uc3Qgc3RydWN0IGt0ZXJtaW9z ICphLCBjb25zdCBzdHJ1Y3Qga3Rlcm1pb3MgKmIpCiB7Ci0JYm9vbCBpeG9uX2NoYW5nZTsKKwli b29sIHhvbnhvZmZfY2hhbmdlOwogCi0JaXhvbl9jaGFuZ2UgPSAoKGEtPmNfaWZsYWcgXiBiLT5j X2lmbGFnKSAmIChJWE9OIHwgSVhBTlkpKSB8fAorCXhvbnhvZmZfY2hhbmdlID0gKChhLT5jX2lm bGFnIF4gYi0+Y19pZmxhZykgJiAoSVhPTiB8IElYQU5ZIHwgSVhPRkYpKSB8fAogCQkJYS0+Y19j Y1tWU1RBUlRdICE9IGItPmNfY2NbVlNUQVJUXSB8fAogCQkJYS0+Y19jY1tWU1RPUF0gIT0gYi0+ Y19jY1tWU1RPUF07CiAKLQlyZXR1cm4gdHR5X3Rlcm1pb3NfaHdfY2hhbmdlKGEsIGIpIHx8IGl4 b25fY2hhbmdlOwotfQotCi1zdGF0aWMgYm9vbCBwbDIzMDNfZW5hYmxlX3hvbnhvZmYoc3RydWN0 IHR0eV9zdHJ1Y3QgKnR0eSwgY29uc3Qgc3RydWN0IHBsMjMwM190eXBlX2RhdGEgKnR5cGUpCi17 Ci0JaWYgKCFJX0lYT04odHR5KSB8fCBJX0lYQU5ZKHR0eSkpCi0JCXJldHVybiBmYWxzZTsKLQot CWlmIChTVEFSVF9DSEFSKHR0eSkgIT0gMHgxMSB8fCBTVE9QX0NIQVIodHR5KSAhPSAweDEzKQot CQlyZXR1cm4gZmFsc2U7Ci0KLQlpZiAodHlwZS0+bm9fYXV0b3hvbnhvZmYpCi0JCXJldHVybiBm YWxzZTsKLQotCXJldHVybiB0cnVlOworCXJldHVybiB0dHlfdGVybWlvc19od19jaGFuZ2UoYSwg YikgfHwgeG9ueG9mZl9jaGFuZ2U7CiB9CiAKIHN0YXRpYyB2b2lkIHBsMjMwM19zZXRfdGVybWlv cyhzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LApAQCAtNzE3LDEyICs3MDMsMTkgQEAgc3RhdGljIHZv aWQgcGwyMzAzX3NldF90ZXJtaW9zKHN0cnVjdCB0dHlfc3RydWN0ICp0dHksCiAJCXNwaW5fdW5s b2NrX2lycXJlc3RvcmUoJnByaXYtPmxvY2ssIGZsYWdzKTsKIAl9CiAKKwl0dHktPnRlcm1pb3Mu Y19pZmxhZyAmPSB+KElYQU5ZIHwgSVhPRkYpOworCWlmIChzcHJpdi0+dHlwZS0+bm9fYXV0b3hv bnhvZmYpCisJCXR0eS0+dGVybWlvcy5jX2lmbGFnICY9IH5JWE9OOworCisJdHR5LT50ZXJtaW9z LmNfY2NbVlNUQVJUXSA9IDB4MTE7CisJdHR5LT50ZXJtaW9zLmNfY2NbVlNUT1BdID0gMHgxMzsK KwogCWlmIChDX0NSVFNDVFModHR5KSkgewogCQlpZiAoc3ByaXYtPnF1aXJrcyAmIFBMMjMwM19R VUlSS19MRUdBQ1kpCiAJCQlwbDIzMDNfdXBkYXRlX3JlZyhzZXJpYWwsIDAsIFBMMjMwM19GTE9X Q1RSTF9NQVNLLCAweDQwKTsKIAkJZWxzZQogCQkJcGwyMzAzX3VwZGF0ZV9yZWcoc2VyaWFsLCAw LCBQTDIzMDNfRkxPV0NUUkxfTUFTSywgMHg2MCk7Ci0JfSBlbHNlIGlmIChwbDIzMDNfZW5hYmxl X3hvbnhvZmYodHR5LCBzcHJpdi0+dHlwZSkpIHsKKwl9IGVsc2UgaWYgKElfSVhPTih0dHkpKSB7 CiAJCXBsMjMwM191cGRhdGVfcmVnKHNlcmlhbCwgMCwgUEwyMzAzX0ZMT1dDVFJMX01BU0ssIDB4 YzApOwogCX0gZWxzZSB7CiAJCXBsMjMwM191cGRhdGVfcmVnKHNlcmlhbCwgMCwgUEwyMzAzX0ZM T1dDVFJMX01BU0ssIDApOwo=