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] cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader. From: Johan Hovold Message-Id: <20181218123840.GP20658@localhost> Date: Tue, 18 Dec 2018 13:38:40 +0100 To: Macpaul Lin Cc: Johan Hovold , Oliver Neukum , Greg Kroah-Hartman , linux-usb@vger.kernel.org, Mediatek WSD Upstream , stable@vger.kernel.org List-ID: T24gVHVlLCBEZWMgMTgsIDIwMTggYXQgMDc6NTk6NDZQTSArMDgwMCwgTWFjcGF1bCBMaW4gd3Jv dGU6Cj4gTWVkaWF0ZWsgUHJlbG9hZGVyIGlzIGEgcHJvcHJpZXRhcnkgZW1iZWRkZWQgYm9vdCBs b2FkZXIgZm9yIGxvYWRpbmcKPiBMaXR0bGUgS2VybmVsIGFuZCBMaW51eCBpbnRvIGRldmljZSBE UkFNLgo+IAo+IFRoaXMgYm9vdCBsb2FkZXIgYWxzbyBoYW5kbGUgZmlybXdhcmUgdXBkYXRlLiBN ZWRpYXRlayBQcmVsb2FkZXIgd2lsbCBiZQo+IGVudW1lcmF0ZWQgYXMgYSB2aXJ0dWFsIENPTSBw b3J0IHdoZW4gdGhlIGRldmljZSBpcyBjb25uZWN0ZWQgdG8gV2luZG93cwo+IG9yIExpbnV4IE9T IHZpYSBDREMtQUNNIGNsYXNzIGRyaXZlci4gV2hlbiB0aGUgVVNCIGVudW1lcmF0aW9uIGhhcyBi ZWVuCj4gZG9uZSwgTWVkaWF0ZWsgUHJlbG9hZGVyIHdpbGwgc2VuZCBvdXQgaGFuZHNoYWtlIGNv bW1hbmQgIlJFQURZIiB0byBQQwo+IGFjdGl2ZWx5IGluc3RlYWQgb2Ygd2FpdGluZyBjb21tYW5k IGZyb20gdGhlIGRvd25sb2FkIHRvb2wuCj4gCj4gU2luY2UgTGludXggNC4xMiwgdGhlIGNvbW1p dCAidHR5OiByZXNldCB0ZXJtaW9zIHN0YXRlIG9uIGRldmljZQo+IHJlZ2lzdHJhdGlvbiIgKDkz ODU3ZWRkOTgyOWUxNDRhY2I2YzdlNzJkNTkzZjZlMDFhZWFkNjYpIGNhdXNlcyBNZWRpYXRlawo+ IFByZWxvYWRlciByZWNlaXZpbmcgc29tZSBhYm5vcmFtbCBjb21tYW5kIGxpa2UgIlJFQURZWFgi IGFzIGl0IHNlbnQuCj4gVGhpcyB3aWxsIGJlIHJlY29nbml6ZWQgYXMgYW4gaW5jb3JyZWN0IHJl c3BvbnNlLiBUaGUgYmVoYXZpb3IgY2hhbmdlCj4gYWxzbyBjYXVzZXMgdGhlIGRvd25sb2FkIGhh bmRzaGFrZSBmYWlsLiBUaGlzIGNoYW5nZSBvbmx5IGFmZmVjdHMKPiBzdWJzZXF1ZW50IGNvbm5l Y3RzIGlmIHRoZSByZWNvbm5lY3RlZCBkZXZpY2UgaGFwcGVucyB0byBnZXQgdGhlIHNhbWUgbWlu b3IKPiBudW1iZXIuCj4gCj4gQnkgZGlzYWJsaW5nIHRoZSBFQ0hPIHRlcm1pb3MgZmxhZyBjb3Vs ZCBhdm9pZCB0aGlzIHByb2JsZW0uIEhvd2V2ZXIsIGl0Cj4gY2Fubm90IGJlIGRvbmUgYnkgdXNl ciBzcGFjZSBjb25maWd1cmF0aW9uIHdoZW4gZG93bmxvYWQgdG9vbCBvcGVuCj4gL2Rldi90dHlB Q00wLiBUaGlzIGlzIGJlY2F1c2UgdGhlIGRldmljZSBydW5uaW5nIE1lZGlhdGVrIFByZWxvYWRl ciB3aWxsCj4gc2VuZCBoYW5kc2hha2UgY29tbWFuZCAiUkVBRFkiIGltbWVkaWF0ZWx5IG9uY2Ug dGhlIENEQy1BQ00gZHJpdmVyIGlzCj4gcmVhZHkuCj4gCj4gVGhpcyBwYXRjaCB3YW50cyB0byBm aXggYWJvdmUgcHJvYmxlbSBieSBpbnRyb2R1Y2luZyAiRElTQUJMRV9FQ0hPIgo+IHByb3BlcnR5 IGluIGRyaXZlcl9pbmZvLiBXaGVuIE1lZGlhdGVrIFByZWxvYWRlciBpcyBjb25uZWN0ZWQsIHRo ZQo+IENEQy1BQ00gZHJpdmVyIGNvdWxkIGRpc2FibGUgRUNITyBmbGFnIGluIHRlcm1pb3MgdG8g YXZvaWQgdGhlIHByb2JsZW0uCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFjcGF1bCBMaW4gPG1hY3Bh dWwubGluQG1lZGlhdGVrLmNvbT4KPiBDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwo+IC0tLQo+ IENoYW5nZXMgZm9yIHYyOgo+ICAtIE1vdmUgcXVpcmtzIHRlc3Rpbmcgb2YgRElTQUJMRV9FQ0hP IGZsYWcgaW50byBhY21fdHR5X2luc3RhbGwoKS4KPiAgLSBDaGFuZ2UgcXVpcmtzIHRlc3Rpbmcg aW50byBiaXR3aXNlIGNvbXBhcmlzb24uCj4gQ2hhbmdlcyBmb3IgdjM6Cj4gIC0gUmVwbGFjZSBx dWlya3MgdGVzdGluZyBmcm9tIGluaXRfdGVybWlvcyB0byB0dHktPnRlcm1pb3MuCj4gIC0gUmVt b3ZlIHBhcmVudGhlc2lzIGZvciBFQ0hPIGZsYWcuCj4gQ2hhbmdlcyBmb3IgdjQ6Cj4gIC0gRHJv cCBxdWlya3MgdmFyaWJsZSB0byBzaW1wbGlmeSB0aGUgcGF0Y2guCj4gIC0gTW92ZSB0ZXJtaW9z IG9wZXJhdGlvbiByaWdodCBhZnRlciB0aGUgZHJpdmVyX2RhdGEgaGFzIGJlZW4gaW5zdGFsbGVk Lgo+ICAtIFdyaXRlIGdlbmVyYWwgc3R5bGUgY29tbWVudCBmb3Igc3VwcHJlc3NpbmcgaW5pdGlh bCBlY2hvaW5nLiAKPiBDaGFuZ2VzIGZvciB2NToKPiAgLSBGaXg6IHRlcm1pb3Mgb3BlcmF0aW9u IHJpZ2h0IGFib3ZlciB0aGUgZHJpdmVyX2RhdGEgaGFzIGJlZW4gaW5zdGFsbGVkLgo+ICAtIFVw ZGF0ZSBjb21taXQgY29tbWVudCBhYm91dCB0aGlzIHBhdGNoIGFmZmVjdHMgdGhlIHJlY29ubmVj dGVkIGRldmljZQo+ICAgIHdoaWNoIGdldCB0aGUgc2FtZSBtaW5vciBudW1iZXJzLgoKVGhhbmtz IGZvciBzdGlja2luZyB3aXRoIGl0LgoKQWZ0ZXIgYWRkcmVzc2luZyBhIGNvbW1lbnQgYmVsb3cg eW91IGhhdmUgbXk6CgpSZXZpZXdlZC1ieTogSm9oYW4gSG92b2xkIDxqb2hhbkBrZXJuZWwub3Jn PgoKPiAKPiAgZHJpdmVycy91c2IvY2xhc3MvY2RjLWFjbS5jIHwgMTIgKysrKysrKysrKystCj4g IGRyaXZlcnMvdXNiL2NsYXNzL2NkYy1hY20uaCB8ICAxICsKPiAgMiBmaWxlcyBjaGFuZ2VkLCAx MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv dXNiL2NsYXNzL2NkYy1hY20uYyBiL2RyaXZlcnMvdXNiL2NsYXNzL2NkYy1hY20uYwo+IGluZGV4 IDFiNjhmZWQuLjMzNmNmMTMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvY2xhc3MvY2RjLWFj bS5jCj4gKysrIGIvZHJpdmVycy91c2IvY2xhc3MvY2RjLWFjbS5jCj4gQEAgLTU4MSw2ICs1ODEs MTMgQEAgc3RhdGljIGludCBhY21fdHR5X2luc3RhbGwoc3RydWN0IHR0eV9kcml2ZXIgKmRyaXZl ciwgc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSkKPiAgCWlmIChyZXR2YWwpCj4gIAkJZ290byBlcnJv cl9pbml0X3Rlcm1pb3M7Cj4gIAo+ICsJLyoKPiArCSAqIFN1cHByZXNzIGluaXRpYWwgZWNob2lu ZyBmb3Igc29tZSBkZXZpY2VzIHdoaWNoIG1pZ2h0IHNlbmQgZGF0YQo+ICsJICogaW1tZWRpYXRl bHkgYWZ0ZXIgYWNtIGRyaXZlciBoYXMgYmVlbiBpbnN0YWxsZWQuCj4gKwkgKi8KPiArCWlmIChh Y20tPnF1aXJrcyAmIERJU0FCTEVfRUNITykKPiArCQl0dHktPnRlcm1pb3MuY19sZmxhZyAmPSB+ RUNITzsKPiArCj4gIAl0dHktPmRyaXZlcl9kYXRhID0gYWNtOwo+ICAKPiAgCXJldHVybiAwOwo+ IEBAIC0xNjU1LDcgKzE2NjIsMTAgQEAgc3RhdGljIGludCBhY21fcHJlX3Jlc2V0KHN0cnVjdCB1 c2JfaW50ZXJmYWNlICppbnRmKQo+ICAJLmRyaXZlcl9pbmZvID0gTk9fVU5JT05fTk9STUFMLCAv KiBoYXMgbm8gdW5pb24gZGVzY3JpcHRvciAqLwo+ICAJfSwKPiAgCXsgVVNCX0RFVklDRSgweDBl OGQsIDB4MDAwMyksIC8qIEZJUkVGTFksIE1lZGlhVGVrIEluYzsgYW5kcmV5LmFyYXBvdkBnbWFp bC5jb20gKi8KPiAtCS5kcml2ZXJfaW5mbyA9IE5PX1VOSU9OX05PUk1BTCwgLyogaGFzIG5vIHVu aW9uIGRlc2NyaXB0b3IgKi8KPiArCS5kcml2ZXJfaW5mbyA9IERJU0FCTEVfRUNITywgLyogRElT QUJMRSBFQ0hPIGluIHRlcm1pb3MgZmxhZyAqLwoKSSBqdXN0IG5vdGljZWQgdGhhdCB5b3UgcmVt b3ZlIHRoZSBOT19VTklPTl9OT1JNQUwgaGVyZSwgd2hpY2ggbG9va3MKd3JvbmcgYW5kIGRlZmlu aXRlbHkgcmVxdWlyZXMgYSBtb3RpdmF0aW9uLgoKVGhhbmtzLApKb2hhbgo=