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: [v3] cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader. From: macpaul.lin@mediatek.com Message-Id: <1545129680-3224-1-git-send-email-macpaul.lin@mediatek.com> Date: Tue, 18 Dec 2018 18:41:20 +0800 To: Johan Hovold , Oliver Neukum , Greg Kroah-Hartman , linux-usb@vger.kernel.org, stable@vger.kernel.org Cc: Mediatek WSD Upstream , Macpaul Lin List-ID: TWVkaWF0ZWsgUHJlbG9hZGVyIGlzIGEgcHJvcHJpZXRhcnkgZW1iZWRkZWQgYm9vdCBsb2FkZXIg Zm9yIGxvYWRpbmcKTGl0dGxlIEtlcm5lbCBhbmQgTGludXggaW50byBkZXZpY2UgRFJBTS4KClRo aXMgYm9vdCBsb2FkZXIgYWxzbyBoYW5kbGUgZmlybXdhcmUgdXBkYXRlLiBNZWRpYXRlayBQcmVs b2FkZXIgd2lsbCBiZQplbnVtZXJhdGVkIGFzIGEgdmlydHVhbCBDT00gcG9ydCB3aGVuIHRoZSBk ZXZpY2UgaXMgY29ubmVjdGVkIHRvIFdpbmRvd3MKb3IgTGludXggT1MgdmlhIENEQy1BQ00gY2xh c3MgZHJpdmVyLiBXaGVuIHRoZSBVU0IgZW51bWVyYXRpb24gaGFzIGJlZW4KZG9uZSwgTWVkaWF0 ZWsgUHJlbG9hZGVyIHdpbGwgc2VuZCBvdXQgaGFuZHNoYWtlIGNvbW1hbmQgIlJFQURZIiB0byBQ QwphY3RpdmVseSBpbnN0ZWFkIG9mIHdhaXRpbmcgY29tbWFuZCBmcm9tIHRoZSBkb3dubG9hZCB0 b29sLgpTaW5jZSBMaW51eCA0LjEyLCB0aGUgY29tbWl0ICJ0dHk6IHJlc2V0IHRlcm1pb3Mgc3Rh dGUgb24gZGV2aWNlCnJlZ2lzdHJhdGlvbiIgKDkzODU3ZWRkOTgyOWUxNDRhY2I2YzdlNzJkNTkz ZjZlMDFhZWFkNjYpIGNhdXNlcyBNZWRpYXRlawpQcmVsb2FkZXIgcmVjZWl2aW5nIHNvbWUgYWJu b3JhbWwgY29tbWFuZCBsaWtlICJSRUFEWVhYIiBhcyBpdCBzZW50LgpUaGlzIHdpbGwgYmUgcmVj b2duaXplZCBhcyBhbiBpbmNvcnJlY3QgcmVzcG9uc2UuIFRoZSBiZWhhdmlvciBjaGFuZ2UKYWxz byBjYXVzZXMgdGhlIGRvd25sb2FkIGhhbmRzaGFrZSBmYWlsLgoKQnkgZGlzYWJsaW5nIHRoZSBF Q0hPIHRlcm1pb3MgZmxhZyBjb3VsZCBhdm9pZCB0aGlzIHByb2JsZW0uIEhvd2V2ZXIsIGl0CmNh bm5vdCBiZSBkb25lIGJ5IHVzZXIgc3BhY2UgY29uZmlndXJhdGlvbiB3aGVuIGRvd25sb2FkIHRv b2wgb3BlbgovZGV2L3R0eUFDTTAuIFRoaXMgaXMgYmVjYXVzZSB0aGUgZGV2aWNlIHJ1bm5pbmcg TWVkaWF0ZWsgUHJlbG9hZGVyIHdpbGwKc2VuZCBoYW5kc2hha2UgY29tbWFuZCAiUkVBRFkiIGlt bWVkaWF0ZWx5IG9uY2UgdGhlIENEQy1BQ00gZHJpdmVyIGlzCnJlYWR5LgoKVGhpcyBwYXRjaCB3 YW50cyB0byBmaXggYWJvdmUgcHJvYmxlbSBieSBpbnRyb2R1Y2luZyAiRElTQUJMRV9FQ0hPIgpw cm9wZXJ0eSBpbiBkcml2ZXJfaW5mby4gV2hlbiBNZWRpYXRlayBQcmVsb2FkZXIgaXMgY29ubmVj dGVkLCB0aGUKQ0RDLUFDTSBkcml2ZXIgY291bGQgZGlzYWJsZSBFQ0hPIGZsYWcgaW4gdGVybWlv cyB0byBhdm9pZCB0aGUgcHJvYmxlbS4KClNpZ25lZC1vZmYtYnk6IE1hY3BhdWwgTGluIDxtYWNw YXVsLmxpbkBtZWRpYXRlay5jb20+Ci0tLQpDaGFuZ2VzIGZvciB2MjoKIC0gTW92ZSBxdWlya3Mg dGVzdGluZyBvZiBESVNBQkxFX0VDSE8gZmxhZyBpbnRvIGFjbV90dHlfaW5zdGFsbCgpLgogLSBD aGFuZ2UgcXVpcmtzIHRlc3RpbmcgaW50byBiaXR3aXNlIGNvbXBhcmlzb24uCkNoYW5nZXMgZm9y IHYzOgogLSBSZXBsYWNlIGNsZWFyIGZsYWcgb3BlcmF0aW9uIGZyb20gZHJpdmVyLT5pbml0X3Rl cm1pb3MgdG8gdHR5LT50ZXJtaW9zLgogLSBSZW1vdmUgcGFyZW50aGVzaXMgb2YgRUNITyBmbGFn LgoKIGRyaXZlcnMvdXNiL2NsYXNzL2NkYy1hY20uYyB8IDEzICsrKysrKysrKysrKy0KIGRyaXZl cnMvdXNiL2NsYXNzL2NkYy1hY20uaCB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2NsYXNzL2Nk Yy1hY20uYyBiL2RyaXZlcnMvdXNiL2NsYXNzL2NkYy1hY20uYwppbmRleCAxYjY4ZmVkLi5jMWI4 OGMzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jbGFzcy9jZGMtYWNtLmMKKysrIGIvZHJpdmVy cy91c2IvY2xhc3MvY2RjLWFjbS5jCkBAIC01NzEsNiArNTcxLDcgQEAgc3RhdGljIHZvaWQgYWNt X3NvZnRpbnQoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogc3RhdGljIGludCBhY21fdHR5X2lu c3RhbGwoc3RydWN0IHR0eV9kcml2ZXIgKmRyaXZlciwgc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSkK IHsKIAlzdHJ1Y3QgYWNtICphY207CisJdW5zaWduZWQgbG9uZyBxdWlya3M7CiAJaW50IHJldHZh bDsKIAogCWFjbSA9IGFjbV9nZXRfYnlfbWlub3IodHR5LT5pbmRleCk7CkBAIC01ODMsNiArNTg0 LDEzIEBAIHN0YXRpYyBpbnQgYWNtX3R0eV9pbnN0YWxsKHN0cnVjdCB0dHlfZHJpdmVyICpkcml2 ZXIsIHN0cnVjdCB0dHlfc3RydWN0ICp0dHkpCiAKIAl0dHktPmRyaXZlcl9kYXRhID0gYWNtOwog CisJLyogZ2V0IG5vcm1hbCBxdWlya3MgKi8KKwlxdWlya3MgPSBhY20tPnF1aXJrczsKKworCS8q IGhhbmRsZSBhY3RpdmUgaGFuZHNoYWtlIHRyaWdnZXJlZCBieSBkZXZpY2UgKi8KKwlpZiAocXVp cmtzICYgRElTQUJMRV9FQ0hPKQorCQl0dHktPnRlcm1pb3MuY19sZmxhZyAmPSB+RUNITzsKKwog CXJldHVybiAwOwogCiBlcnJvcl9pbml0X3Rlcm1pb3M6CkBAIC0xNjU1LDcgKzE2NjMsMTAgQEAg c3RhdGljIGludCBhY21fcHJlX3Jlc2V0KHN0cnVjdCB1c2JfaW50ZXJmYWNlICppbnRmKQogCS5k cml2ZXJfaW5mbyA9IE5PX1VOSU9OX05PUk1BTCwgLyogaGFzIG5vIHVuaW9uIGRlc2NyaXB0b3Ig Ki8KIAl9LAogCXsgVVNCX0RFVklDRSgweDBlOGQsIDB4MDAwMyksIC8qIEZJUkVGTFksIE1lZGlh VGVrIEluYzsgYW5kcmV5LmFyYXBvdkBnbWFpbC5jb20gKi8KLQkuZHJpdmVyX2luZm8gPSBOT19V TklPTl9OT1JNQUwsIC8qIGhhcyBubyB1bmlvbiBkZXNjcmlwdG9yICovCisJLmRyaXZlcl9pbmZv ID0gRElTQUJMRV9FQ0hPLCAvKiBESVNBQkxFIEVDSE8gaW4gdGVybWlvcyBmbGFnICovCisJfSwK Kwl7IFVTQl9ERVZJQ0UoMHgwZThkLCAweDIwMDApLCAvKiBGSVJFRkxZLCBNZWRpYVRlayBJbmM7 IFByZWxvYWRlciAqLworCS5kcml2ZXJfaW5mbyA9IERJU0FCTEVfRUNITywgLyogRElTQUJMRSBF Q0hPIGluIHRlcm1pb3MgZmxhZyAqLwogCX0sCiAJeyBVU0JfREVWSUNFKDB4MGU4ZCwgMHgzMzI5 KSwgLyogTWVkaWFUZWsgSW5jIEdQUyAqLwogCS5kcml2ZXJfaW5mbyA9IE5PX1VOSU9OX05PUk1B TCwgLyogaGFzIG5vIHVuaW9uIGRlc2NyaXB0b3IgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi L2NsYXNzL2NkYy1hY20uaCBiL2RyaXZlcnMvdXNiL2NsYXNzL2NkYy1hY20uaAppbmRleCBjYTA2 YjIwLi41MTVhYWQwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jbGFzcy9jZGMtYWNtLmgKKysr IGIvZHJpdmVycy91c2IvY2xhc3MvY2RjLWFjbS5oCkBAIC0xNDAsMyArMTQwLDQgQEAgc3RydWN0 IGFjbSB7CiAjZGVmaW5lIFFVSVJLX0NPTlRST0xfTElORV9TVEFURQlCSVQoNikKICNkZWZpbmUg Q0xFQVJfSEFMVF9DT05ESVRJT05TCQlCSVQoNykKICNkZWZpbmUgU0VORF9aRVJPX1BBQ0tFVAkJ QklUKDgpCisjZGVmaW5lIERJU0FCTEVfRUNITwkJCUJJVCg5KQo=