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: usb: gadget: musb: fix short isoc packets with inventra dma for pandaboard es From: Paul Elder Message-Id: <20190108044524.GA31873@localhost.localdomain> Date: Mon, 7 Jan 2019 23:45:24 -0500 To: Bin Liu , laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com, Nicolas Boichat , gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, balbi@kernel.org List-ID: SGkgQmluLAoKT24gTW9uLCBKYW4gMDcsIDIwMTkgYXQgMDE6MTE6NTdQTSAtMDYwMCwgQmluIExp dSB3cm90ZToKPiBIaSBQYXVsLAo+IAo+IFNvcnJ5IGZvciB0aGUgZGVsYXkgb24gcmV2aWV3aW5n IGl0LgoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKPiBGb3IgdGhlIHN1YmplY3QsIGNhbiB5b3Ug cGxlYXNlIHVzZQo+IAo+IAl1c2I6IG11c2I6IGdhZGdldDogZml4IHNob3J0IGlzb2MgcGFja2V0 cyB3aXRoIGludmVudHJhIGRtYQoKYWNrCgo+IE9uIFR1ZSwgT2N0IDA5LCAyMDE4IGF0IDAyOjMy OjIwQU0gLTA0MDAsIFBhdWwgRWxkZXIgd3JvdGU6Cj4gPiBIYW5kbGluZyBzaG9ydCBwYWNrZXRz IChsZW5ndGggPCBtYXggcGFja2V0IHNpemUpIGluIHRoZSBJbnZlbnRyYSBETUEKPiA+IGVuZ2lu ZSBpbiB0aGUgTVVTQiBkcml2ZXIgY2F1c2VzIHRoZSBNVVNCIERNQSBjb250cm9sbGVyIHRvIGhh bmcuIEFuCj4gPiBleGFtcGxlIG9mIGEgcHJvYmxlbSB0aGF0IGlzIGNhdXNlZCBieSB0aGlzIHBy b2JsZW0gaXMgd2hlbiBzdHJlYW1pbmcKPiA+IHZpZGVvIG91dCBvZiBhIFVWQyBnYWRnZXQsIG9u bHkgdGhlIGZpcnN0IHZpZGVvIGZyYW1lIGlzIHRyYW5zZmVycmVkLgo+ID4gCj4gPiBGb3Igc2hv cnQgcGFja2V0cyAobW9kZS0wIG9yIG1vZGUtMSBETUEpLCBNVVNCX1RYQ1NSX1RYUEtUUkRZIG11 c3QgYmUKPiA+IHNldCBtYW51YWxseSBieSB0aGUgZHJpdmVyLiBUaGlzIHdhcyBwcmV2aW91c2x5 IGRvbmUgaW4gbXVzYl9nX3R4Cj4gPiAobXVzYl9nYWRnZXQuYyksIGJ1dCBpbmNvcnJlY3RseSAo YWxsIGNzciBmbGFncyB3ZXJlIGNsZWFyZWQsIGFuZCBvbmx5Cj4gPiBNVVNCX1RYQ1NSX01PREUg YW5kIE1VU0JfVFhDU1JfVFhQS1RSRFkpLiBGaXhpbmcgdGhhdCBwcm9ibGVtIGFsbG93cwo+ID4g c29tZSByZXF1ZXN0cyB0byBiZSB0cmFuc2ZlcnJlZCBjb3JyZWN0bHksIGJ1dCBtdWx0aXBsZSBy ZXF1ZXN0cyB3ZXJlCj4gPiBvZnRlbiBwdXQgdG9nZXRoZXIgaW4gb25lIFVTQiBwYWNrZXQsIGFu ZCBjYXVzZWQgcHJvYmxlbXMgaWYgdGhlIHBhY2tldAo+ID4gc2l6ZSB3YXMgbm90IGEgbXVsdGlw bGUgb2YgNC4KPiA+IAo+ID4gSW5zdGVhZCwgTVVTQl9UWENTUl9UWFBLVFJEWSBpcyBzZXQgaW4g ZG1hX2NvbnRyb2xsZXJfaXJxIChtdXNiaHNkbWEuYyksCj4gPiBqdXN0IGxpa2UgaG9zdCBtb2Rl IHRyYW5zZmVycywgdGhlbiBtdXNiX2dfdHggZm9yY2VzIHRoZSBwYWNrZXQgdG8gYmUKPiA+IGZs dXNoZWQsIGJ5IHNldHRpbmcgTVVTQl9UWENTUl9GTFVTSEZJRk8uCj4gPiAKPiA+IFRoaXMgdG9w aWMgd2FzIG9yaWdpbmFsbHkgdGFja2xlZCBieSBOaWNvbGFzIEJvaWNoYXQgWzBdIFsxXSBhbmQg aXMgZGlzY3Vzc2VkCj4gCj4gdGhpcyBsaW5lIGlzIGxvbmdlciB0aGFuIDc1IGNoYXJzLgoKYWNr Cgo+ID4gZnVydGhlciBhdCBbMl0gYXMgcGFydCBvZiBoaXMgR1NvQyBwcm9qZWN0IFszXS4KPiA+ IAo+ID4gWzBdIGh0dHBzOi8vZ3JvdXBzLmdvb2dsZS5jb20vZm9ydW0vP2hsPWVuIyF0b3BpYy9i ZWFnbGVib2FyZC1nc29jL2s4QXp3ZnA3NUNVCj4gPiBbMV0gaHR0cHM6Ly9naXRvcmlvdXMub3Jn L2JlYWdsZWJvYXJkLXVzYnNuaWZmZXIvYmVhZ2xlYm9hcmQtdXNic25pZmZlci1rZXJuZWwvY29t bWl0L2IwYmUzYjZjYzE5NWJhNzMyMTg5YjA0ZjFkNDNlYzg0M2MzZTU0Yzk/cD1iZWFnbGVib2Fy ZC11c2JzbmlmZmVyOmJlYWdsZWJvYXJkLXVzYnNuaWZmZXIta2VybmVsLmdpdDthPXBhdGNoO2g9 YjBiZTNiNmNjMTk1YmE3MzIxODliMDRmMWQ0M2VjODQzYzNlNTRjOQo+ID4gWzJdIGh0dHA6Ly9i ZWFnbGVib2FyZC11c2JzbmlmZmVyLmJsb2dzcG90LmNvbS8yMDEwLzA3L211c2ItaXNvY2hyb25v dXMtdHJhbnNmZXJzLWZpeGVkLmh0bWwKPiA+IFszXSBodHRwOi8vZWxpbnV4Lm9yZy9CZWFnbGVC b2FyZC9HU29DL1VTQlNuaWZmZXIKPiA+IAo+ID4gSSBoYXZlIGZvcndhcmQtcG9ydGVkIHRoaXMg cGF0Y2ggZnJvbSAyLjYuMzQgdG8gNC4xOS1yYzEuCj4gCj4gdGhpcyBsaW5lIGlzIGlycmVsZXZh bnQgdG8gdGhlIGNvbW1pdCBtZXNzYWdlLCBwbGVhc2UgbW92ZSBpdCBkb3duIHRvCj4gdW5kZXIg Jy0tLScuCgphY2sKCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFBhdWwgRWxkZXIgPHBhdWwuZWxk ZXJAaWRlYXNvbmJvYXJkLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvdXNiL211c2IvbXVzYl9n YWRnZXQuYyB8IDIxICsrKysrKysrKysrKysrLS0tLS0tLQo+ID4gIGRyaXZlcnMvdXNiL211c2Iv bXVzYmhzZG1hLmMgICB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQo+ID4gIDIgZmlsZXMgY2hh bmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211 c2JfZ2FkZ2V0LmMKPiA+IGluZGV4IGVhZThiMWIxYjQ1Yi4uZDNmMzNmNDQ5NDQ1IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldC5jCj4gPiArKysgYi9kcml2ZXJz L3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKPiA+IEBAIC00NzksMTEgKzQ3OSwxNiBAQCB2b2lkIG11 c2JfZ190eChzdHJ1Y3QgbXVzYiAqbXVzYiwgdTggZXBudW0pCj4gPiAgCQkJJiYgKHJlcXVlc3Qt PmFjdHVhbCA9PSByZXF1ZXN0LT5sZW5ndGgpKQo+ID4gIAkJCQlzaG9ydF9wYWNrZXQgPSB0cnVl Owo+ID4gIAo+ID4gLQkJaWYgKChtdXNiX2RtYV9pbnZlbnRyYShtdXNiKSB8fCBtdXNiX2RtYV91 eDUwMChtdXNiKSkgJiYKPiA+IC0JCQkoaXNfZG1hICYmICghZG1hLT5kZXNpcmVkX21vZGUgfHwK PiA+IC0JCQkJKHJlcXVlc3QtPmFjdHVhbCAmCj4gPiAtCQkJCQkobXVzYl9lcC0+cGFja2V0X3N6 IC0gMSkpKSkpCj4gPiAtCQkJCXNob3J0X3BhY2tldCA9IHRydWU7Cj4gPiArCQlpZiAoaXNfZG1h ICYmIChtdXNiX2RtYV9pbnZlbnRyYShtdXNiKSB8fCBtdXNiX2RtYV91eDUwMChtdXNiKSkpIHsK PiAKPiBtb3JlIHRoYW4gODAgY2hhcnMuCj4KPiA+ICsJCQlpZiAoIWRtYS0+ZGVzaXJlZF9tb2Rl IHx8Cj4gCj4gSSB1bmRlcnN0YW5kIHlvdSBmb3J3YXJkLXBvcnQgTmljb2xhcycgcGF0Y2gsIGJ1 dCBkbyB5b3UgaGF2ZSBhIHNwZWNpZmljCj4gcmVhZG9uIHRvIHJlLXdyaXRlIHRoaXMgJ2lmJyBj b25kaXRpb24/IEknZCBsaWtlIHRvIHNlZSBtaW5pbXVtIGNvZGUKPiBjaGFuZ2UgaW4gYnVnIGZp eGVzLAo+Cj4gPiArCQkJCQlyZXF1ZXN0LT5hY3R1YWwgJSBtdXNiX2VwLT5wYWNrZXRfc3opIHsK PiAKPiBidXQgSSBsaWtlIHRoaXMgdmVyc2lvbiB0aG91Z2gsIGVhc2llciB0byByZWFkLgo+IAo+ ID4gKwkJCQltdXNiX2RiZyhtdXNiLCAiJXMgRmx1c2hpbmcgKEZJRk8pIEVQIDogS1BCXG4iLAo+ IAo+IHdoYXQgaXMgJ0tQQic/IHRoZSBtZXNzYWdlIGNvdWxkIGJlIG1vcmUgbWVhbmluZ2Z1bD8K PiAKPiA+ICsJCQkJCQltdXNiX2VwLT5lbmRfcG9pbnQubmFtZSk7Cj4gPiArCQkJCW11c2Jfd3Jp dGV3KGVwaW8sIE1VU0JfVFhDU1IsCj4gPiArCQkJCQkJY3NyIHwgTVVTQl9UWENTUl9GTFVTSEZJ Rk8pOwo+IAo+IFdoYXQgaWYgd2l0aG91dCB0aGlzIGxpbmU/IFRoZSBzaG9ydCBwYWNrZXQgZG9l c24ndCBzZW5kIG91dD8gIHNldHRpbmcKPiBUWFNDUl9UWFBLVFJEWSBpbiB0aGUgZG1hIGRyaXZl ciBpcyBub3Qgc3VmZmljaWVudD8gIFRYU0NSX0ZMVVNIRklGTyBpcwo+IG9ubHkgdXNlZCBmb3Ig YWJvcnRpbmcgY2FzZXMuCgpJIGp1c3QgdGVzdGVkIHRoaXMgYW5kIHlvdSBhcmUgcmlnaHQsIGl0 IGRvZXMgd29yayB3aXRob3V0IHRoaXMgbGluZS4KU2luY2UgdGhpcyBpcyB0aGUgb25seSBzaWdu aWZpY2FudCBsaW5lIGluIHRoaXMgdmVyeSBjb21wbGV4IGlmIGJsb2NrLApJJ2xsIGp1c3QgcmVt b3ZlIHRoaXMgZW50aXJlIGJsb2NrIHRvby4KCj4gPiArCQkJCXJldHVybjsKPiA+ICsJCQl9Cj4g PiArCQl9Cj4gPiAgCj4gPiAgCQlpZiAoc2hvcnRfcGFja2V0KSB7Cj4gPiAgCQkJLyoKPiA+IEBA IC00OTMsOCArNDk4LDEwIEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBl cG51bSkKPiA+ICAJCQlpZiAoY3NyICYgTVVTQl9UWENTUl9UWFBLVFJEWSkKPiA+ICAJCQkJcmV0 dXJuOwo+ID4gIAo+ID4gLQkJCW11c2Jfd3JpdGV3KGVwaW8sIE1VU0JfVFhDU1IsIE1VU0JfVFhD U1JfTU9ERQo+ID4gLQkJCQkJfCBNVVNCX1RYQ1NSX1RYUEtUUkRZKTsKPiA+ICsJCQltdXNiX2Ri ZyhtdXNiLCAic2VuZGluZyB6ZXJvIHBrdCAoemVybz0lZCwgbGVuZ3RoPSVkLCBhY3R1YWw9JWQs IGRtYS0+ZGVzaXJlZF9tb2RlPSVkKVxuIiwKPiA+ICsJCQkJIHJlcXVlc3QtPnplcm8sIHJlcXVl c3QtPmxlbmd0aCwgcmVxdWVzdC0+YWN0dWFsLAo+IAo+IG1vcmUgdGhhbiA4MCBjaGFycy4KClRo ZSBmb3JtYXQgc3RyaW5nIG9yIHRoZSBwYXJhbWV0ZXJzPwoKPiAKPiA+ICsJCQkJIGRtYS0+ZGVz aXJlZF9tb2RlKTsKPiA+ICsJCQltdXNiX3dyaXRldyhlcGlvLCBNVVNCX1RYQ1NSLCBjc3IgfCBN VVNCX1RYQ1NSX1RYUEtUUkRZKTsKPiAKPiBtb3JlIHRoYW4gODAgY2hhcnMuCgpJdCdzIG9ubHkg YnkgMSBjaGFyYWN0ZXIuIFNob3VsZCBJIHN0aWxsIHB1dCB0aGUgbGFzdCBhcmd1bWVudCBvbiBh IG5ldwpsaW5lPwoKPiAKPiA+ICAJCQlyZXF1ZXN0LT56ZXJvID0gMDsKPiA+ICAJCX0KPiA+ICAK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jIGIvZHJpdmVycy91 c2IvbXVzYi9tdXNiaHNkbWEuYwo+ID4gaW5kZXggYTY4OGY3Zjg3ODI5Li5lNTE0ZDQ3MDBhNmIg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jCj4gPiArKysgYi9k cml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jCj4gPiBAQCAtMzQ2LDEyICszNDYsMTAgQEAgc3Rh dGljIGlycXJldHVybl90IGRtYV9jb250cm9sbGVyX2lycShpbnQgaXJxLCB2b2lkICpwcml2YXRl X2RhdGEpCj4gPiAgCQkJCWNoYW5uZWwtPnN0YXR1cyA9IE1VU0JfRE1BX1NUQVRVU19GUkVFOwo+ ID4gIAo+ID4gIAkJCQkvKiBjb21wbGV0ZWQgKi8KPiA+IC0JCQkJaWYgKChkZXZjdGwgJiBNVVNC X0RFVkNUTF9ITSkKPiA+IC0JCQkJCSYmIChtdXNiX2NoYW5uZWwtPnRyYW5zbWl0KQo+ID4gLQkJ CQkJJiYgKChjaGFubmVsLT5kZXNpcmVkX21vZGUgPT0gMCkKPiA+IC0JCQkJCSAgICB8fCAoY2hh bm5lbC0+YWN0dWFsX2xlbiAmCj4gPiAtCQkJCQkgICAgKG11c2JfY2hhbm5lbC0+bWF4X3BhY2tl dF9zeiAtIDEpKSkKPiA+IC0JCQkJICAgICkgewo+ID4gKwkJCQlpZiAobXVzYl9jaGFubmVsLT50 cmFuc21pdCAmJgo+ID4gKwkJCQkgICAgKCFjaGFubmVsLT5kZXNpcmVkX21vZGUgfHwKPiA+ICsJ CQkJICAgICAoY2hhbm5lbC0+YWN0dWFsX2xlbiAlCj4gPiArCQkJCSAgICAgIG11c2JfY2hhbm5l bC0+bWF4X3BhY2tldF9zeikpKSB7Cj4gCj4gaW1wcm9wZXIgaW5kZW50YXRpb24uCgphY2suIFlv dSBkb24ndCB0aGluayB0aGlzIGlzIG1vcmUgcmVhZGFibGUgdGhhbiBpZiBldmVyeXRoaW5nIHdh cyBsaW5lZAp1cD8KCj4gPiAgCQkJCQl1OCAgZXBudW0gID0gbXVzYl9jaGFubmVsLT5lcG51bTsK PiA+ICAJCQkJCWludCBvZmZzZXQgPSBtdXNiLT5pby5lcF9vZmZzZXQoZXBudW0sCj4gPiAgCQkJ CQkJCQkgICAgTVVTQl9UWENTUik7Cj4gPiBAQCAtMzYzLDExICszNjEsMTQgQEAgc3RhdGljIGly cXJldHVybl90IGRtYV9jb250cm9sbGVyX2lycShpbnQgaXJxLCB2b2lkICpwcml2YXRlX2RhdGEp Cj4gPiAgCQkJCQkgKi8KPiA+ICAJCQkJCW11c2JfZXBfc2VsZWN0KG1iYXNlLCBlcG51bSk7Cj4g PiAgCQkJCQl0eGNzciA9IG11c2JfcmVhZHcobWJhc2UsIG9mZnNldCk7Cj4gPiAtCQkJCQl0eGNz ciAmPSB+KE1VU0JfVFhDU1JfRE1BRU5BQgo+ID4gKwkJCQkJaWYgKGNoYW5uZWwtPmRlc2lyZWRf bW9kZSA9PSAxKSB7Cj4gPiArCQkJCQkJdHhjc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIKPiA+ ICAJCQkJCQkJfCBNVVNCX1RYQ1NSX0FVVE9TRVQpOwo+ID4gLQkJCQkJbXVzYl93cml0ZXcobWJh c2UsIG9mZnNldCwgdHhjc3IpOwo+ID4gLQkJCQkJLyogU2VuZCBvdXQgdGhlIHBhY2tldCAqLwo+ ID4gLQkJCQkJdHhjc3IgJj0gfk1VU0JfVFhDU1JfRE1BTU9ERTsKPiA+ICsJCQkJCQltdXNiX3dy aXRldyhtYmFzZSwgb2Zmc2V0LCB0eGNzcik7Cj4gCj4gbW9yZSB0aGFuIDgwIGNoYXJzLgoKVGhp cyBpcyBhbHNvIG9ubHkgYnkgMiBjaGFyYWN0ZXJzOyBkbyB5b3Ugc3RpbGwgd2FudCBqdXN0IHRo ZSBsYXN0CmFyZ3VtZW50IG9uIGEgbmV3IGxpbmU/Cgo+ID4gKwkJCQkJCS8qIFNlbmQgb3V0IHRo ZSBwYWNrZXQgKi8KPiA+ICsJCQkJCQl0eGNzciAmPSB+TVVTQl9UWENTUl9ETUFNT0RFOwo+ID4g KwkJCQkJCXR4Y3NyIHw9IE1VU0JfVFhDU1JfRE1BRU5BQjsKPiA+ICsJCQkJCX0KPiA+ICAJCQkJ CXR4Y3NyIHw9ICBNVVNCX1RYQ1NSX1RYUEtUUkRZOwo+ID4gIAkJCQkJbXVzYl93cml0ZXcobWJh c2UsIG9mZnNldCwgdHhjc3IpOwo+ID4gIAkJCQl9CgpUaGFua3MsCgpQYXVsCg==