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: Paul Elder Message-Id: <20190111053159.GA32268@localhost.localdomain> Date: Fri, 11 Jan 2019 00:31:59 -0500 To: Bin Liu , 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: SGkgQmluLAoKT24gV2VkLCBKYW4gMDksIDIwMTkgYXQgMDk6MDI6MTVBTSAtMDYwMCwgQmluIExp dSB3cm90ZToKPiBIaSBQYXVsLAo+IAo+IE9uIFdlZCwgSmFuIDA5LCAyMDE5IGF0IDAyOjEwOjA5 QU0gLTA1MDAsIFBhdWwgRWxkZXIgd3JvdGU6Cj4gPiBIYW5kbGluZyBzaG9ydCBwYWNrZXRzIChs ZW5ndGggPCBtYXggcGFja2V0IHNpemUpIGluIHRoZSBJbnZlbnRyYSBETUEKPiA+IGVuZ2luZSBp biB0aGUgTVVTQiBkcml2ZXIgY2F1c2VzIHRoZSBNVVNCIERNQSBjb250cm9sbGVyIHRvIGhhbmcu IEFuCj4gPiBleGFtcGxlIG9mIGEgcHJvYmxlbSB0aGF0IGlzIGNhdXNlZCBieSB0aGlzIHByb2Js ZW0gaXMgd2hlbiBzdHJlYW1pbmcKPiA+IHZpZGVvIG91dCBvZiBhIFVWQyBnYWRnZXQsIG9ubHkg dGhlIGZpcnN0IHZpZGVvIGZyYW1lIGlzIHRyYW5zZmVycmVkLgo+ID4gCj4gPiBGb3Igc2hvcnQg cGFja2V0cyAobW9kZS0wIG9yIG1vZGUtMSBETUEpLCBNVVNCX1RYQ1NSX1RYUEtUUkRZIG11c3Qg YmUKPiA+IHNldCBtYW51YWxseSBieSB0aGUgZHJpdmVyLiBUaGlzIHdhcyBwcmV2aW91c2x5IGRv bmUgaW4gbXVzYl9nX3R4Cj4gPiAobXVzYl9nYWRnZXQuYyksIGJ1dCBpbmNvcnJlY3RseSAoYWxs IGNzciBmbGFncyB3ZXJlIGNsZWFyZWQsIGFuZCBvbmx5Cj4gPiBNVVNCX1RYQ1NSX01PREUgYW5k IE1VU0JfVFhDU1JfVFhQS1RSRFkgd2VyZSBzZXQpLiBGaXhpbmcgdGhhdCBwcm9ibGVtCj4gPiBh bGxvd3Mgc29tZSByZXF1ZXN0cyB0byBiZSB0cmFuc2ZlcnJlZCBjb3JyZWN0bHksIGJ1dCBtdWx0 aXBsZSByZXF1ZXN0cwo+ID4gd2VyZSBvZnRlbiBwdXQgdG9nZXRoZXIgaW4gb25lIFVTQiBwYWNr ZXQsIGFuZCBjYXVzZWQgcHJvYmxlbXMgaWYgdGhlCj4gPiBwYWNrZXQgc2l6ZSB3YXMgbm90IGEg bXVsdGlwbGUgb2YgNC4gSW5zdGVhZCwgc2V0IE1VU0JfVFhDU1JfVFhQS1RSRFkKPiA+IGluIGRt YV9jb250cm9sbGVyX2lycSAobXVzYmhzZG1hLmMpLCBqdXN0IGxpa2UgaG9zdCBtb2RlIHRyYW5z ZmVycy4KPiA+IAo+ID4gVGhpcyB0b3BpYyB3YXMgb3JpZ2luYWxseSB0YWNrbGVkIGJ5IE5pY29s YXMgQm9pY2hhdCBbMF0gWzFdIGFuZCBpcwo+ID4gZGlzY3Vzc2VkIGZ1cnRoZXIgYXQgWzJdIGFz IHBhcnQgb2YgaGlzIEdTb0MgcHJvamVjdCBbM10uCj4gPiAKPiA+IFswXSBodHRwczovL2dyb3Vw cy5nb29nbGUuY29tL2ZvcnVtLz9obD1lbiMhdG9waWMvYmVhZ2xlYm9hcmQtZ3NvYy9rOEF6d2Zw NzVDVQo+ID4gWzFdIGh0dHBzOi8vZ2l0b3Jpb3VzLm9yZy9iZWFnbGVib2FyZC11c2JzbmlmZmVy L2JlYWdsZWJvYXJkLXVzYnNuaWZmZXIta2VybmVsL2NvbW1pdC9iMGJlM2I2Y2MxOTViYTczMjE4 OWIwNGYxZDQzZWM4NDNjM2U1NGM5P3A9YmVhZ2xlYm9hcmQtdXNic25pZmZlcjpiZWFnbGVib2Fy ZC11c2JzbmlmZmVyLWtlcm5lbC5naXQ7YT1wYXRjaDtoPWIwYmUzYjZjYzE5NWJhNzMyMTg5YjA0 ZjFkNDNlYzg0M2MzZTU0YzkKPiA+IFsyXSBodHRwOi8vYmVhZ2xlYm9hcmQtdXNic25pZmZlci5i bG9nc3BvdC5jb20vMjAxMC8wNy9tdXNiLWlzb2Nocm9ub3VzLXRyYW5zZmVycy1maXhlZC5odG1s Cj4gPiBbM10gaHR0cDovL2VsaW51eC5vcmcvQmVhZ2xlQm9hcmQvR1NvQy9VU0JTbmlmZmVyCj4g PiAKPiA+IFNpZ25lZC1vZmYtYnk6IFBhdWwgRWxkZXIgPHBhdWwuZWxkZXJAaWRlYXNvbmJvYXJk LmNvbT4KPiA+IC0tLQo+ID4gQ2hhbmdlcyBpbiB2MjoKPiA+IAo+ID4gLSBubyBtb3JlIGZsdXNo aW5nIEZJRk8KPiA+IC0gZ3JlYXRseSBzaW1wbGlmaWVkIHNob3J0IHBhY2tldCBpZiBndWFyZCBp biBtdXNiX2dfdHgsIGFuZCByZW1vdmVkCj4gPiAgIHVubmVjZXNzYXJ5IHZhcmlhYmxlcwo+ID4g LSBtaW5vciBpbmRlbnRhdGlvbiBhbmQgd29yZGluZyBjaGFuZ2VzCj4gPiAKPiA+ICBkcml2ZXJz L3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMgfCAxOSArKysrKy0tLS0tLS0tLS0tLS0tCj4gPiAgZHJp dmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYyAgIHwgMjEgKysrKysrKysrKystLS0tLS0tLS0tCj4g PiAgMiBmaWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiA+ IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYyBiL2RyaXZl cnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYwo+ID4gaW5kZXggZWFlOGIxYjFiNDViLi40OTY2NDNm NTRmYWEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKPiA+ ICsrKyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYwo+ID4gQEAgLTQ1MiwxMyArNDUy LDEwIEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKPiA+ICAJ fQo+ID4gIAo+ID4gIAlpZiAocmVxdWVzdCkgewo+ID4gLQkJdTgJaXNfZG1hID0gMDsKPiA+IC0J CWJvb2wJc2hvcnRfcGFja2V0ID0gZmFsc2U7Cj4gPiAgCj4gPiAgCQl0cmFjZV9tdXNiX3JlcV90 eChyZXEpOwo+ID4gIAo+ID4gIAkJaWYgKGRtYSAmJiAoY3NyICYgTVVTQl9UWENTUl9ETUFFTkFC KSkgewo+ID4gLQkJCWlzX2RtYSA9IDE7Cj4gPiAgCQkJY3NyIHw9IE1VU0JfVFhDU1JfUF9XWkNf QklUUzsKPiA+ICAJCQljc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIgfCBNVVNCX1RYQ1NSX1Bf VU5ERVJSVU4gfAo+ID4gIAkJCQkgTVVTQl9UWENTUl9UWFBLVFJEWSB8IE1VU0JfVFhDU1JfQVVU T1NFVCk7Cj4gPiBAQCAtNDc2LDE2ICs0NzMsOCBAQCB2b2lkIG11c2JfZ190eChzdHJ1Y3QgbXVz YiAqbXVzYiwgdTggZXBudW0pCj4gPiAgCQkgKi8KPiA+ICAJCWlmICgocmVxdWVzdC0+emVybyAm JiByZXF1ZXN0LT5sZW5ndGgpCj4gPiAgCQkJJiYgKHJlcXVlc3QtPmxlbmd0aCAlIG11c2JfZXAt PnBhY2tldF9zeiA9PSAwKQo+ID4gLQkJCSYmIChyZXF1ZXN0LT5hY3R1YWwgPT0gcmVxdWVzdC0+ bGVuZ3RoKSkKPiA+IC0JCQkJc2hvcnRfcGFja2V0ID0gdHJ1ZTsKPiA+ICsJCQkmJiAocmVxdWVz dC0+YWN0dWFsID09IHJlcXVlc3QtPmxlbmd0aCkpIHsKPiA+ICAKPiA+IC0JCWlmICgobXVzYl9k bWFfaW52ZW50cmEobXVzYikgfHwgbXVzYl9kbWFfdXg1MDAobXVzYikpICYmCj4gPiAtCQkJKGlz X2RtYSAmJiAoIWRtYS0+ZGVzaXJlZF9tb2RlIHx8Cj4gPiAtCQkJCShyZXF1ZXN0LT5hY3R1YWwg Jgo+ID4gLQkJCQkJKG11c2JfZXAtPnBhY2tldF9zeiAtIDEpKSkpKQo+ID4gLQkJCQlzaG9ydF9w YWNrZXQgPSB0cnVlOwo+ID4gLQo+ID4gLQkJaWYgKHNob3J0X3BhY2tldCkgewo+ID4gIAkJCS8q Cj4gPiAgCQkJICogT24gRE1BIGNvbXBsZXRpb24sIEZJRk8gbWF5IG5vdCBiZQo+ID4gIAkJCSAq IGF2YWlsYWJsZSB5ZXQuLi4KPiA+IEBAIC00OTMsOCArNDgyLDEwIEBAIHZvaWQgbXVzYl9nX3R4 KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKPiA+ICAJCQlpZiAoY3NyICYgTVVTQl9UWENT Ul9UWFBLVFJEWSkKPiA+ICAJCQkJcmV0dXJuOwo+ID4gIAo+ID4gLQkJCW11c2Jfd3JpdGV3KGVw aW8sIE1VU0JfVFhDU1IsIE1VU0JfVFhDU1JfTU9ERQo+ID4gLQkJCQkJfCBNVVNCX1RYQ1NSX1RY UEtUUkRZKTsKPiA+ICsJCQltdXNiX2RiZyhtdXNiLCAic2VuZGluZyBzaG9ydCBwa3QgKHplcm89 JWQsIGxlbmd0aD0lZCwgYWN0dWFsPSVkLCBkbWEtPmRlc2lyZWRfbW9kZT0lZClcbiIsCj4gPiAr CQkJCSByZXF1ZXN0LT56ZXJvLCByZXF1ZXN0LT5sZW5ndGgsIHJlcXVlc3QtPmFjdHVhbCwKPiA+ ICsJCQkJIGRtYS0+ZGVzaXJlZF9tb2RlKTsKPiA+ICsJCQltdXNiX3dyaXRldyhlcGlvLCBNVVNC X1RYQ1NSLCBjc3IgfCBNVVNCX1RYQ1NSX1RYUEtUUkRZKTsKPiAKPiBTb3JyeSBJIGRpZG4ndCBj YXRjaCB0aGlzIGluIHRoZSBsYXN0IHJldmlldywgYnV0IHRoaXMgY2hhbmdlIHNlZW1zIG5vdAo+ IHJlcXVpcmVkLCBpc24ndCBpdD8gSW4gdGhlIGZpcnN0IHZlcnNpb24gb2YgdGhlIHBhdGNoLCB0 aGUgY29kZSBpcwo+ICdyZXR1cm5lZCcgaW4gdGhlICdpZiAobXVzYl9kbWFfaW52ZW50cmEoKSkn IGJyYW5jaCBhYm92ZSwgZG9lc24ndCByZWFjaAo+IGhlcmUuCgpEbyB5b3UgbWVhbiBjaGFuZ2Ug Y29tcGFyZWQgdG8gdGhlIGxhc3QgdmVyc2lvbiBvZiB0aGUgcGF0Y2gsIG9yIHRoaXMKbGFzdCBj aHVuayBvZiB0aGUgZGlmZj8KCkkgZ3Vlc3MgSSBkaWQgYWxzbyByZW1vdmUgdGhlIHJldHVybiB3 aGVuIEkgcmVtb3ZlZCB0aGUgJ2lmCihtdXNiX2RtYV9pbnZlbnRyYSgpKScgYmxvY2sgdGhhdCBo YWQgdGhlIEZMVVNIRklGSU8sIGJ1dCB3aGVuIEkgdGVzdGVkCml0IGl0IHN0aWxsIHdvcmtlZC4g SW4gZmFjdCwgSSByZXZlcnRlZCB0aGlzIGxhc3QgZGlmZiBjaHVuayBhbmQgaXQKc3RpbGwgd29y a2VkLgoKClBhdWwK