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: cdc-acm: fix abnormal DATA RX issue for Mediatek Preloader. From: macpaul.lin@mediatek.com Message-Id: <1545025858.10258.29.camel@mtkswgap22> Date: Mon, 17 Dec 2018 13:50:58 +0800 To: Johan Hovold Cc: Oliver Neukum , Greg Kroah-Hartman , wsd_upstream@mediatek.com, linux-usb@vger.kernel.org List-ID: T24gRnJpLCAyMDE4LTEyLTE0IGF0IDEyOjA3ICswMTAwLCBKb2hhbiBIb3ZvbGQgd3JvdGU6Cj4g T24gRnJpLCBEZWMgMTQsIDIwMTggYXQgMTA6MDA6MTZBTSArMDgwMCwgTWFjcGF1bCBMaW4gd3Jv dGU6Cj4gPiBPbiBUaHUsIDIwMTgtMTItMTMgYXQgMTE6MTggKzAxMDAsIEpvaGFuIEhvdm9sZCB3 cm90ZToKPiA+ID4gT24gVGh1LCBEZWMgMTMsIDIwMTggYXQgMTE6MTM6NTRBTSArMDEwMCwgT2xp dmVyIE5ldWt1bSB3cm90ZToKPiA+ID4gPiBPbiBEbywgMjAxOC0xMi0xMyBhdCAxMDo0MyArMDEw MCwgSm9oYW4gSG92b2xkIHdyb3RlOgo+ID4gPiA+ID4gT24gVGh1LCBEZWMgMTMsIDIwMTggYXQg MTE6Mjc6NTZBTSArMDgwMCwgbWFjcGF1bC5saW5AbWVkaWF0ZWsuY29tIHdyb3RlOgo+ID4gPiA+ ID4gPiBGcm9tOiBNYWNwYXVsIExpbiA8bWFjcGF1bC5saW5AbWVkaWF0ZWsuY29tPgo+ID4gPiA+ ID4gPiAKPiA+ID4gPiA+ID4gKwkvKiBoYW5kbGUgYWN0aXZlIGhhbmRzaGFrZSB0cmlnZ2VyZWQg YnkgZGV2aWNlICovCj4gPiA+ID4gPiA+ICsJaWYgKHF1aXJrcyA9PSBESVNBQkxFX0VDSE8pCj4g PiA+ID4gPiA+ICsJCWFjbV90dHlfZHJpdmVyLT5pbml0X3Rlcm1pb3MuY19sZmxhZyAmPSB+KEVD SE8pOwo+ID4gPiA+ID4gCj4gPiA+ID4gPiBZb3UgY2Fubm90IGNoYW5nZSB0aGUgZHJpdmVyIGlu aXRfdGVybWlvcyBsaWtlIHRoaXMgYXMgdGhhdCB3aWxsIGFmZmVjdAo+ID4gPiA+ID4gYWxsIGNk Yy1hY20gZGV2aWNlcyB0aGF0IGFyZSBwcm9iZWQgbGF0ZXIuIElmIHRoaXMgaXMgYXQgYWxsIG5l ZWRlZCwKPiA+ID4gPiA+IHRoaXMgd2lsbCBoYXZlIHRvIGJlIGRvbmUgYXQgdHR5IGluc3RhbGwg dGltZS4KPiA+ID4gPiAKPiA+ID4gPiBSaWdodC4gSG93IGRvIHdpdGggZGVjaWRlIG9uIGEgc2Vu c2libGUgZGVmYXVsdCBhbnl3YXk/Cj4gPiA+IAo+ID4gPiBJIHRoaW5rIHRoZSBjdXJyZW50IGRl ZmF1bHRzIGFyZSBzZW5zaWJsZS4gVGhleSBhcmUgYmFzZWQgb24KPiA+ID4gdHR5X3N0ZF90ZXJt aW9zLCB3aGljaCBoYXMgRUNITyBzZXQsIGFzIGZvciBtb3N0IChhbGw/KSB0dHkgZHJpdmVycy4K PiAKPiA+IFdlbGwsIHRoZSBwcm9ibGVtIGlzIHRoYXQgdGhlIHBob25lIGRldmljZSAocHJlbG9h ZGVyKSB3aWxsIGdldAo+ID4gIlJFQURZWFgiIGV2ZW4gIm5vIGFueSBkb3dubG9hZCB0b29sIGhh cyBldmVyIGJlZW4gbGF1bmNoZWQgb24gUEMiLgo+IAo+IFNvbWV0aGluZyBtdWNoIGhvbGQgdGhl IHBvcnQgb3BlbiBvbiB0aGUgaG9zdCAoUEMpIHNpZGUgZm9yIGl0IHRvIGJlCj4gZWNob2VkIGJh Y2ssIGJ1dCBwZXJoYXBzIHRoZSBvdXRnb2luZyBkYXRhIGlzIGJ1ZmZlcmVkIGluIHRoZSBkZXZp Y2UKPiB1bnRpbCBpdCBpcyBldmVudHVhbGx5IG9wZW5lZC4KPiAKPiA+IEFmdGVyIHRoZSByZXNl dCB0ZXJtaW9zIHN0YXRlIGNoYW5nZSBzaW1wbHkgc2V0IEVIQ08gZW5hYmxlLCBlYWNoIHRpbWUK PiA+IHRoZSBwaG9uZSBkZXZpY2Ugc2ltcGxlIHNlbmQgb3V0ICJSRUFEWSIgdG8gUEMgYWZ0ZXIg VVNCIGhhcyBiZWVuCj4gPiBjb25uZWN0ZWQuIFRoZSAiUkVBRFkiIGluZGljYXRpb24gaGFzIG5v IGFueSAiXDAiIGNoYXJhY3RlciBhdCB0aGUgZW5kCj4gPiBvZiB0aGUgY29tbWFuZCBzdHJpbmcs IGhlbmNlIGl0IHdpbGwgcmVjZWl2ZSBzb21lIGRpcnR5IGRhdGEgKGV4LiAKPiA+ICJSRUFEWVhY IikgYmFjayBvbiBSWCBwYXRoLgo+IAo+IFNvIHlvdSBoYXZlIGEgZmlybXdhcmUgYnVnIHdoaWNo IHNlbmRzIG91dCBzb21lIGdhcmJhZ2UgY2hhcmFjdGVycwo+ICgiWFgiKT8KCk5vLCAiWFgiIGp1 c3QgbWVhbnQgYW55IHJhbmRvbSBkYXRhIG9mIGFueSBwb3NzaWJsZSBsZW5ndGgsIG5vdCB0aGUg cmVhbApjaGFyYWN0ZXJzICJYWCIuIEZyb20gdGhlIGJvdHRvbSBvZiBoYXJkd2FyZSBGSUlPLCB1 c2IgZHJpdmVyIGJ1ZmZlcnMsCnRvIHRoZSBoaWdoZXIgbGV2ZWwgQ0RDIGRyaXZlciBhbmQgZG93 bmxvYWQgaGFuZHNoYWtlIGZsb3csIHRoZSBmaXJtd2FyZQprZWVwcyBzZXBhcmF0ZWQgUlggYW5k IFRYIGRhdGEgYnVmZmVycy4gVGhlIGluaXRpYWwgY29tbWFuZCAiUkVBRFkiIGlzCnN0YXRpYyBk ZWNsYXJlZCBhbmQgb25seSBiZWVuIHVzZWQgb25jZSB3aGVuIHRoZSBoYW5kc2hha2UgZmxvdyBz dGFydHMKaW4gc3RlYWQgb2YgZHluYW1pYyBhbGxvY2F0ZWQuIFdlJ3ZlIGFsc28gdGVzdGVkIG1l bW9yeSBzZXQgYXQgdGhlIHRpbWUgCndoZW4gUlgvVFggYnVmZmVyIGlzIGFsbG9jYXRlZCB3aGVu IHN5c3RlbSBib290LCBidXQgdGhlIHByb2JsZW0gZGlkIG5vdApyZWNvdmVyZWQuCgo+IEVpdGhl ciB3YXksIHlvdSBzaG91bGQgaGF2ZSBoaXQgdGhpcyBhbHNvIGJlZm9yZSB0aGUgY29tbWl0IHdo aWNoCj4gc3RhcnRlZCByZXNldHRpbmcgdGhlIHRlcm1pbmFsIHNldHRpbmdzIHdoZW5ldmVyIGEg ZGV2aWNlIHdhcyBwbHVnZ2VkCj4gaW4gaW5zdGVhZCBvZiByZXVzaW5nIGEgcG90ZW50aWFsbHkg cmFuZG9tIG90aGVyIGRldmljZSdzIHNldHRpbmdzLgoKV2UndmUgYWxzbyByZXZpZXdlZCB0aGUg ZmlybXdhcmUgY29kZSwgdG9vLiBUaGlzIG1lY2hhbmlzbSBvZiBkb3dubG9hZApmbG93IChmaXJt d2FyZSBjb2RlKSBoYXMgYmVlbiB1c2VkIG1vcmUgdGhhbiAxMCB5ZWFycyBhbmQgaGFzIG5ldmVy IGJlZW4KY2hhbmdlZC4gT3VyIHBob25lIHByb2R1Y3Qgc2hpcHMgMTAwIG1pbGxpb24gcGVyIHll YXIuIFdoYXQgSSBtZWFuIGhlcmUgCmlzIHRoaXMgZG93bmxvYWQgZmxvdyBoYXMgYmVlbiB2ZXJp ZmllZCBpbiB0aGUgZmFjdG9yeSBwcm9kdWNpbmcgbGluZQpib3RoIG9uIFdpbmRvd3MgYW5kIExp bnV4IFBDIHNvIG1hbnkgdGltZS4gSGVuY2UgdGhlIHBvc3NpYmlsaXR5IG9mIGJ1ZwppbiB0aGUg ZGF0YSBidWZmZXIgbWFuYWdlbWVudCBpcyB2ZXJ5IHJhcmUuIAoKVGhpcyBwcm9ibGVtIGhhcyBi ZWVuIHJlcG9ydGVkIGJ5IG9uZSBvZiBvdXIgY3VzdG9tZXIgYWJvdXQgMSBtb250aCBhZ28KYmVj YXVzZSB0aGV5IHVwZ3JhZGVkIHRoZWlyIGZhY3RvcnkgUEMgZnJvbSBVYnVudHUgMTYuMDQgKExp bnV4IDQuNCkgdG8KVWJ1bnR1IDE4LjA0LiAoTGludXggNC4xNSkuIEhlbmNlIE1lZGlhdGVrIGhh cyBkb25lIGxvdHMgb2YgYmlzZWN0IHRlc3QKZnJvbSA0LjQgcmVsZWFzZSB0byA0LjE1IG9uIGJv dGggdHR5IGFuZCBjZGMtYWNtIGNoYW5nZXMgdG8gZmluZCBvdXQKd2hpY2ggY29tbWl0IGNhdXNl ZCBiZWhhdmlvciBjaGFuZ2Ugb24gUEMgc2lkZS4gQmVjYXVzZSB0aGUgbmV3IHJlc2V0IAp0ZXJt aW9zIHN0YXRlIG1ldGhvZCBjb21lcyB3aXRoIGFub3RoZXIgMiBwYXRjaGVzLiBXZSBhbHNvIHRl c3RlZCB0aGVzZQpwYXRjaCBzZXBhcmF0ZWx5IHRvIGNvbmZpcm0gdGhlIGJpc2VjdCByZXN1bHQu ICAKICAgICAgICB0dHk6IHJlc2V0IHRlcm1pb3Mgc3RhdGUgb24gZGV2aWNlIHJlZ2lzdHJhdGlv bgogICAgICAgIHR0eTogZHJvcCBvYnNvbGV0ZSB0ZXJtaW9zX2xvY2tlZCBjb21tZW50cwogICAg ICAgIHR0eTogY2xvc2UgcmFjZSBiZXR3ZWVuIGRldmljZSByZWdpc3RlciBhbmQgb3BlbgpXZSd2 ZSBhbHNvIHJlbW92ZSByZXNldCB0ZXJtaW9zIHN0YXRlIGNvbW1pdCBvbiBsYXRlc3QgNC4xOSBr ZXJuZWwgdG8KY29uZmlybSB0aGUgYmVoYXZpb3Igb2YgUEMgaXMgYmFjayB0byB3b3JrIGZvciB0 aGUgZG93bmxvYWQsIHRvby4KCj4gSG93ZXZlciwgYWZ0ZXIgY2xlYXJpbmcgZWNobyBhbmQgcmVw bHVnZ2luZyB0aGUgZGV2aWNlLCBub3RoaW5nIHdvdWxkCj4gaGF2ZSBiZWVuIGVjaG9lZCBiYWNr IG9uIG5leHQgb3BlbiwgYnV0IG9ubHkgKmlmKiB0aGUgZGV2aWNlIGhhcHBlbmVkIHRvCj4gYmUg YXNzaWduZWQgdGhlIHNhbWUgbWlub3IgbnVtYmVyLgo+IAo+IEJ1dCBpZiB0aGlzIGNvbmZ1c2Vz IHlvdXIgZmlybXdhcmUgYW5kIHRoZXJlJ3Mgbm8gd2F5IHRvIHJlc3RhcnQgdGhlCj4gaGFuZHNo YWtlIGluIHlvdXIgaG9zdCB0b29sLCBwZXJoYXBzIGNsZWFyaW5nIEVDSE8gYXQgdHR5IGluc3Rh bGwgdGltZQo+IChpLmUuIGluIHR0eV9hY21faW5zdGFsbCgpKSBpcyB0aGUgb25seSB3YXkgdG8g ZGVhbCB3aXRoIHRoaXMuCgpUaGFua3MgZm9yIHlvdSBjb21tZW50IQpJJ2xsIG1ha2UgYSBjaGFu Z2UgdG8gbW92ZSB0aGUgY2xlYXJpbmcgRUNITyBpbnRvIHR0eV9hY21faW5zdGFsbCgpIGFuZAp0 byBjaGVjayBpZiBpdCBhbHNvIHdvcmsgZm9yIHRoZSBkb3dubG9hZCBwcm9jZXNzLiBUaGFua3Mg YSBsb3QhCgo+IEpvaGFuCgpSZWdhcmRzLApNYWNwYXVsIExpbgo=