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: [v2] usb: gadget: musb: fix short isoc packets with inventra dma From: Bin Liu Message-Id: <20190109150215.GJ25910@uda0271908> Date: Wed, 9 Jan 2019 09:02:15 -0600 To: Paul Elder Cc: laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com, drinkcat@chromium.org, balbi@kernel.org, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: SGkgUGF1bCwKCk9uIFdlZCwgSmFuIDA5LCAyMDE5IGF0IDAyOjEwOjA5QU0gLTA1MDAsIFBhdWwg RWxkZXIgd3JvdGU6Cj4gSGFuZGxpbmcgc2hvcnQgcGFja2V0cyAobGVuZ3RoIDwgbWF4IHBhY2tl dCBzaXplKSBpbiB0aGUgSW52ZW50cmEgRE1BCj4gZW5naW5lIGluIHRoZSBNVVNCIGRyaXZlciBj YXVzZXMgdGhlIE1VU0IgRE1BIGNvbnRyb2xsZXIgdG8gaGFuZy4gQW4KPiBleGFtcGxlIG9mIGEg cHJvYmxlbSB0aGF0IGlzIGNhdXNlZCBieSB0aGlzIHByb2JsZW0gaXMgd2hlbiBzdHJlYW1pbmcK PiB2aWRlbyBvdXQgb2YgYSBVVkMgZ2FkZ2V0LCBvbmx5IHRoZSBmaXJzdCB2aWRlbyBmcmFtZSBp cyB0cmFuc2ZlcnJlZC4KPiAKPiBGb3Igc2hvcnQgcGFja2V0cyAobW9kZS0wIG9yIG1vZGUtMSBE TUEpLCBNVVNCX1RYQ1NSX1RYUEtUUkRZIG11c3QgYmUKPiBzZXQgbWFudWFsbHkgYnkgdGhlIGRy aXZlci4gVGhpcyB3YXMgcHJldmlvdXNseSBkb25lIGluIG11c2JfZ190eAo+IChtdXNiX2dhZGdl dC5jKSwgYnV0IGluY29ycmVjdGx5IChhbGwgY3NyIGZsYWdzIHdlcmUgY2xlYXJlZCwgYW5kIG9u bHkKPiBNVVNCX1RYQ1NSX01PREUgYW5kIE1VU0JfVFhDU1JfVFhQS1RSRFkgd2VyZSBzZXQpLiBG aXhpbmcgdGhhdCBwcm9ibGVtCj4gYWxsb3dzIHNvbWUgcmVxdWVzdHMgdG8gYmUgdHJhbnNmZXJy ZWQgY29ycmVjdGx5LCBidXQgbXVsdGlwbGUgcmVxdWVzdHMKPiB3ZXJlIG9mdGVuIHB1dCB0b2dl dGhlciBpbiBvbmUgVVNCIHBhY2tldCwgYW5kIGNhdXNlZCBwcm9ibGVtcyBpZiB0aGUKPiBwYWNr ZXQgc2l6ZSB3YXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gSW5zdGVhZCwgc2V0IE1VU0JfVFhDU1Jf VFhQS1RSRFkKPiBpbiBkbWFfY29udHJvbGxlcl9pcnEgKG11c2Joc2RtYS5jKSwganVzdCBsaWtl IGhvc3QgbW9kZSB0cmFuc2ZlcnMuCj4gCj4gVGhpcyB0b3BpYyB3YXMgb3JpZ2luYWxseSB0YWNr bGVkIGJ5IE5pY29sYXMgQm9pY2hhdCBbMF0gWzFdIGFuZCBpcwo+IGRpc2N1c3NlZCBmdXJ0aGVy IGF0IFsyXSBhcyBwYXJ0IG9mIGhpcyBHU29DIHByb2plY3QgWzNdLgo+IAo+IFswXSBodHRwczov L2dyb3Vwcy5nb29nbGUuY29tL2ZvcnVtLz9obD1lbiMhdG9waWMvYmVhZ2xlYm9hcmQtZ3NvYy9r OEF6d2ZwNzVDVQo+IFsxXSBodHRwczovL2dpdG9yaW91cy5vcmcvYmVhZ2xlYm9hcmQtdXNic25p ZmZlci9iZWFnbGVib2FyZC11c2JzbmlmZmVyLWtlcm5lbC9jb21taXQvYjBiZTNiNmNjMTk1YmE3 MzIxODliMDRmMWQ0M2VjODQzYzNlNTRjOT9wPWJlYWdsZWJvYXJkLXVzYnNuaWZmZXI6YmVhZ2xl Ym9hcmQtdXNic25pZmZlci1rZXJuZWwuZ2l0O2E9cGF0Y2g7aD1iMGJlM2I2Y2MxOTViYTczMjE4 OWIwNGYxZDQzZWM4NDNjM2U1NGM5Cj4gWzJdIGh0dHA6Ly9iZWFnbGVib2FyZC11c2JzbmlmZmVy LmJsb2dzcG90LmNvbS8yMDEwLzA3L211c2ItaXNvY2hyb25vdXMtdHJhbnNmZXJzLWZpeGVkLmh0 bWwKPiBbM10gaHR0cDovL2VsaW51eC5vcmcvQmVhZ2xlQm9hcmQvR1NvQy9VU0JTbmlmZmVyCj4g Cj4gU2lnbmVkLW9mZi1ieTogUGF1bCBFbGRlciA8cGF1bC5lbGRlckBpZGVhc29uYm9hcmQuY29t Pgo+IC0tLQo+IENoYW5nZXMgaW4gdjI6Cj4gCj4gLSBubyBtb3JlIGZsdXNoaW5nIEZJRk8KPiAt IGdyZWF0bHkgc2ltcGxpZmllZCBzaG9ydCBwYWNrZXQgaWYgZ3VhcmQgaW4gbXVzYl9nX3R4LCBh bmQgcmVtb3ZlZAo+ICAgdW5uZWNlc3NhcnkgdmFyaWFibGVzCj4gLSBtaW5vciBpbmRlbnRhdGlv biBhbmQgd29yZGluZyBjaGFuZ2VzCj4gCj4gIGRyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQu YyB8IDE5ICsrKysrLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVycy91c2IvbXVzYi9tdXNiaHNkbWEu YyAgIHwgMjEgKysrKysrKysrKystLS0tLS0tLS0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5z ZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi L211c2IvbXVzYl9nYWRnZXQuYyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYwo+IGlu ZGV4IGVhZThiMWIxYjQ1Yi4uNDk2NjQzZjU0ZmFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNi L211c2IvbXVzYl9nYWRnZXQuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQu Ywo+IEBAIC00NTIsMTMgKzQ1MiwxMCBAQCB2b2lkIG11c2JfZ190eChzdHJ1Y3QgbXVzYiAqbXVz YiwgdTggZXBudW0pCj4gIAl9Cj4gIAo+ICAJaWYgKHJlcXVlc3QpIHsKPiAtCQl1OAlpc19kbWEg PSAwOwo+IC0JCWJvb2wJc2hvcnRfcGFja2V0ID0gZmFsc2U7Cj4gIAo+ICAJCXRyYWNlX211c2Jf cmVxX3R4KHJlcSk7Cj4gIAo+ICAJCWlmIChkbWEgJiYgKGNzciAmIE1VU0JfVFhDU1JfRE1BRU5B QikpIHsKPiAtCQkJaXNfZG1hID0gMTsKPiAgCQkJY3NyIHw9IE1VU0JfVFhDU1JfUF9XWkNfQklU UzsKPiAgCQkJY3NyICY9IH4oTVVTQl9UWENTUl9ETUFFTkFCIHwgTVVTQl9UWENTUl9QX1VOREVS UlVOIHwKPiAgCQkJCSBNVVNCX1RYQ1NSX1RYUEtUUkRZIHwgTVVTQl9UWENTUl9BVVRPU0VUKTsK PiBAQCAtNDc2LDE2ICs0NzMsOCBAQCB2b2lkIG11c2JfZ190eChzdHJ1Y3QgbXVzYiAqbXVzYiwg dTggZXBudW0pCj4gIAkJICovCj4gIAkJaWYgKChyZXF1ZXN0LT56ZXJvICYmIHJlcXVlc3QtPmxl bmd0aCkKPiAgCQkJJiYgKHJlcXVlc3QtPmxlbmd0aCAlIG11c2JfZXAtPnBhY2tldF9zeiA9PSAw KQo+IC0JCQkmJiAocmVxdWVzdC0+YWN0dWFsID09IHJlcXVlc3QtPmxlbmd0aCkpCj4gLQkJCQlz aG9ydF9wYWNrZXQgPSB0cnVlOwo+ICsJCQkmJiAocmVxdWVzdC0+YWN0dWFsID09IHJlcXVlc3Qt Pmxlbmd0aCkpIHsKPiAgCj4gLQkJaWYgKChtdXNiX2RtYV9pbnZlbnRyYShtdXNiKSB8fCBtdXNi X2RtYV91eDUwMChtdXNiKSkgJiYKPiAtCQkJKGlzX2RtYSAmJiAoIWRtYS0+ZGVzaXJlZF9tb2Rl IHx8Cj4gLQkJCQkocmVxdWVzdC0+YWN0dWFsICYKPiAtCQkJCQkobXVzYl9lcC0+cGFja2V0X3N6 IC0gMSkpKSkpCj4gLQkJCQlzaG9ydF9wYWNrZXQgPSB0cnVlOwo+IC0KPiAtCQlpZiAoc2hvcnRf cGFja2V0KSB7Cj4gIAkJCS8qCj4gIAkJCSAqIE9uIERNQSBjb21wbGV0aW9uLCBGSUZPIG1heSBu b3QgYmUKPiAgCQkJICogYXZhaWxhYmxlIHlldC4uLgo+IEBAIC00OTMsOCArNDgyLDEwIEBAIHZv aWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKPiAgCQkJaWYgKGNzciAm IE1VU0JfVFhDU1JfVFhQS1RSRFkpCj4gIAkJCQlyZXR1cm47Cj4gIAo+IC0JCQltdXNiX3dyaXRl dyhlcGlvLCBNVVNCX1RYQ1NSLCBNVVNCX1RYQ1NSX01PREUKPiAtCQkJCQl8IE1VU0JfVFhDU1Jf VFhQS1RSRFkpOwo+ICsJCQltdXNiX2RiZyhtdXNiLCAic2VuZGluZyBzaG9ydCBwa3QgKHplcm89 JWQsIGxlbmd0aD0lZCwgYWN0dWFsPSVkLCBkbWEtPmRlc2lyZWRfbW9kZT0lZClcbiIsCj4gKwkJ CQkgcmVxdWVzdC0+emVybywgcmVxdWVzdC0+bGVuZ3RoLCByZXF1ZXN0LT5hY3R1YWwsCj4gKwkJ CQkgZG1hLT5kZXNpcmVkX21vZGUpOwo+ICsJCQltdXNiX3dyaXRldyhlcGlvLCBNVVNCX1RYQ1NS LCBjc3IgfCBNVVNCX1RYQ1NSX1RYUEtUUkRZKTsKClNvcnJ5IEkgZGlkbid0IGNhdGNoIHRoaXMg aW4gdGhlIGxhc3QgcmV2aWV3LCBidXQgdGhpcyBjaGFuZ2Ugc2VlbXMgbm90CnJlcXVpcmVkLCBp c24ndCBpdD8gSW4gdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhlIHBhdGNoLCB0aGUgY29kZSBpcwon cmV0dXJuZWQnIGluIHRoZSAnaWYgKG11c2JfZG1hX2ludmVudHJhKCkpJyBicmFuY2ggYWJvdmUs IGRvZXNuJ3QgcmVhY2gKaGVyZS4KClJlZ2FyZHMsCi1CaW4uCg==