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: <20190115163520.GC18026@uda0271908> Date: Tue, 15 Jan 2019 10:35:20 -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: SGkgUGF1bCwKCk9uIEZyaSwgSmFuIDExLCAyMDE5IGF0IDEyOjMxOjU5QU0gLTA1MDAsIFBhdWwg RWxkZXIgd3JvdGU6Cj4gSGkgQmluLAo+IAo+IE9uIFdlZCwgSmFuIDA5LCAyMDE5IGF0IDA5OjAy OjE1QU0gLTA2MDAsIEJpbiBMaXUgd3JvdGU6Cj4gPiBIaSBQYXVsLAo+ID4gCj4gPiBPbiBXZWQs IEphbiAwOSwgMjAxOSBhdCAwMjoxMDowOUFNIC0wNTAwLCBQYXVsIEVsZGVyIHdyb3RlOgo+ID4g PiBIYW5kbGluZyBzaG9ydCBwYWNrZXRzIChsZW5ndGggPCBtYXggcGFja2V0IHNpemUpIGluIHRo ZSBJbnZlbnRyYSBETUEKPiA+ID4gZW5naW5lIGluIHRoZSBNVVNCIGRyaXZlciBjYXVzZXMgdGhl IE1VU0IgRE1BIGNvbnRyb2xsZXIgdG8gaGFuZy4gQW4KPiA+ID4gZXhhbXBsZSBvZiBhIHByb2Js ZW0gdGhhdCBpcyBjYXVzZWQgYnkgdGhpcyBwcm9ibGVtIGlzIHdoZW4gc3RyZWFtaW5nCj4gPiA+ IHZpZGVvIG91dCBvZiBhIFVWQyBnYWRnZXQsIG9ubHkgdGhlIGZpcnN0IHZpZGVvIGZyYW1lIGlz IHRyYW5zZmVycmVkLgo+ID4gPiAKPiA+ID4gRm9yIHNob3J0IHBhY2tldHMgKG1vZGUtMCBvciBt b2RlLTEgRE1BKSwgTVVTQl9UWENTUl9UWFBLVFJEWSBtdXN0IGJlCj4gPiA+IHNldCBtYW51YWxs eSBieSB0aGUgZHJpdmVyLiBUaGlzIHdhcyBwcmV2aW91c2x5IGRvbmUgaW4gbXVzYl9nX3R4Cj4g PiA+IChtdXNiX2dhZGdldC5jKSwgYnV0IGluY29ycmVjdGx5IChhbGwgY3NyIGZsYWdzIHdlcmUg Y2xlYXJlZCwgYW5kIG9ubHkKPiA+ID4gTVVTQl9UWENTUl9NT0RFIGFuZCBNVVNCX1RYQ1NSX1RY UEtUUkRZIHdlcmUgc2V0KS4gRml4aW5nIHRoYXQgcHJvYmxlbQo+ID4gPiBhbGxvd3Mgc29tZSBy ZXF1ZXN0cyB0byBiZSB0cmFuc2ZlcnJlZCBjb3JyZWN0bHksIGJ1dCBtdWx0aXBsZSByZXF1ZXN0 cwo+ID4gPiB3ZXJlIG9mdGVuIHB1dCB0b2dldGhlciBpbiBvbmUgVVNCIHBhY2tldCwgYW5kIGNh dXNlZCBwcm9ibGVtcyBpZiB0aGUKPiA+ID4gcGFja2V0IHNpemUgd2FzIG5vdCBhIG11bHRpcGxl IG9mIDQuIEluc3RlYWQsIHNldCBNVVNCX1RYQ1NSX1RYUEtUUkRZCj4gPiA+IGluIGRtYV9jb250 cm9sbGVyX2lycSAobXVzYmhzZG1hLmMpLCBqdXN0IGxpa2UgaG9zdCBtb2RlIHRyYW5zZmVycy4K PiA+ID4gCj4gPiA+IFRoaXMgdG9waWMgd2FzIG9yaWdpbmFsbHkgdGFja2xlZCBieSBOaWNvbGFz IEJvaWNoYXQgWzBdIFsxXSBhbmQgaXMKPiA+ID4gZGlzY3Vzc2VkIGZ1cnRoZXIgYXQgWzJdIGFz IHBhcnQgb2YgaGlzIEdTb0MgcHJvamVjdCBbM10uCj4gPiA+IAo+ID4gPiBbMF0gaHR0cHM6Ly9n cm91cHMuZ29vZ2xlLmNvbS9mb3J1bS8/aGw9ZW4jIXRvcGljL2JlYWdsZWJvYXJkLWdzb2MvazhB endmcDc1Q1UKPiA+ID4gWzFdIGh0dHBzOi8vZ2l0b3Jpb3VzLm9yZy9iZWFnbGVib2FyZC11c2Jz bmlmZmVyL2JlYWdsZWJvYXJkLXVzYnNuaWZmZXIta2VybmVsL2NvbW1pdC9iMGJlM2I2Y2MxOTVi YTczMjE4OWIwNGYxZDQzZWM4NDNjM2U1NGM5P3A9YmVhZ2xlYm9hcmQtdXNic25pZmZlcjpiZWFn bGVib2FyZC11c2JzbmlmZmVyLWtlcm5lbC5naXQ7YT1wYXRjaDtoPWIwYmUzYjZjYzE5NWJhNzMy MTg5YjA0ZjFkNDNlYzg0M2MzZTU0YzkKPiA+ID4gWzJdIGh0dHA6Ly9iZWFnbGVib2FyZC11c2Jz bmlmZmVyLmJsb2dzcG90LmNvbS8yMDEwLzA3L211c2ItaXNvY2hyb25vdXMtdHJhbnNmZXJzLWZp eGVkLmh0bWwKPiA+ID4gWzNdIGh0dHA6Ly9lbGludXgub3JnL0JlYWdsZUJvYXJkL0dTb0MvVVNC U25pZmZlcgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogUGF1bCBFbGRlciA8cGF1bC5lbGRl ckBpZGVhc29uYm9hcmQuY29tPgo+ID4gPiAtLS0KPiA+ID4gQ2hhbmdlcyBpbiB2MjoKPiA+ID4g Cj4gPiA+IC0gbm8gbW9yZSBmbHVzaGluZyBGSUZPCj4gPiA+IC0gZ3JlYXRseSBzaW1wbGlmaWVk IHNob3J0IHBhY2tldCBpZiBndWFyZCBpbiBtdXNiX2dfdHgsIGFuZCByZW1vdmVkCj4gPiA+ICAg dW5uZWNlc3NhcnkgdmFyaWFibGVzCj4gPiA+IC0gbWlub3IgaW5kZW50YXRpb24gYW5kIHdvcmRp bmcgY2hhbmdlcwo+ID4gPiAKPiA+ID4gIGRyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYyB8 IDE5ICsrKysrLS0tLS0tLS0tLS0tLS0KPiA+ID4gIGRyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1h LmMgICB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQo+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAx NiBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2Jf Z2FkZ2V0LmMKPiA+ID4gaW5kZXggZWFlOGIxYjFiNDViLi40OTY2NDNmNTRmYWEgMTAwNjQ0Cj4g PiA+IC0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYwo+ID4gPiArKysgYi9kcml2 ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKPiA+ID4gQEAgLTQ1MiwxMyArNDUyLDEwIEBAIHZv aWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKPiA+ID4gIAl9Cj4gPiA+ ICAKPiA+ID4gIAlpZiAocmVxdWVzdCkgewo+ID4gPiAtCQl1OAlpc19kbWEgPSAwOwo+ID4gPiAt CQlib29sCXNob3J0X3BhY2tldCA9IGZhbHNlOwo+ID4gPiAgCj4gPiA+ICAJCXRyYWNlX211c2Jf cmVxX3R4KHJlcSk7Cj4gPiA+ICAKPiA+ID4gIAkJaWYgKGRtYSAmJiAoY3NyICYgTVVTQl9UWENT Ul9ETUFFTkFCKSkgewo+ID4gPiAtCQkJaXNfZG1hID0gMTsKPiA+ID4gIAkJCWNzciB8PSBNVVNC X1RYQ1NSX1BfV1pDX0JJVFM7Cj4gPiA+ICAJCQljc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIg fCBNVVNCX1RYQ1NSX1BfVU5ERVJSVU4gfAo+ID4gPiAgCQkJCSBNVVNCX1RYQ1NSX1RYUEtUUkRZ IHwgTVVTQl9UWENTUl9BVVRPU0VUKTsKPiA+ID4gQEAgLTQ3NiwxNiArNDczLDggQEAgdm9pZCBt dXNiX2dfdHgoc3RydWN0IG11c2IgKm11c2IsIHU4IGVwbnVtKQo+ID4gPiAgCQkgKi8KPiA+ID4g IAkJaWYgKChyZXF1ZXN0LT56ZXJvICYmIHJlcXVlc3QtPmxlbmd0aCkKPiA+ID4gIAkJCSYmIChy ZXF1ZXN0LT5sZW5ndGggJSBtdXNiX2VwLT5wYWNrZXRfc3ogPT0gMCkKPiA+ID4gLQkJCSYmIChy ZXF1ZXN0LT5hY3R1YWwgPT0gcmVxdWVzdC0+bGVuZ3RoKSkKPiA+ID4gLQkJCQlzaG9ydF9wYWNr ZXQgPSB0cnVlOwo+ID4gPiArCQkJJiYgKHJlcXVlc3QtPmFjdHVhbCA9PSByZXF1ZXN0LT5sZW5n dGgpKSB7Cj4gPiA+ICAKPiA+ID4gLQkJaWYgKChtdXNiX2RtYV9pbnZlbnRyYShtdXNiKSB8fCBt dXNiX2RtYV91eDUwMChtdXNiKSkgJiYKPiA+ID4gLQkJCShpc19kbWEgJiYgKCFkbWEtPmRlc2ly ZWRfbW9kZSB8fAo+ID4gPiAtCQkJCShyZXF1ZXN0LT5hY3R1YWwgJgo+ID4gPiAtCQkJCQkobXVz Yl9lcC0+cGFja2V0X3N6IC0gMSkpKSkpCj4gPiA+IC0JCQkJc2hvcnRfcGFja2V0ID0gdHJ1ZTsK PiA+ID4gLQo+ID4gPiAtCQlpZiAoc2hvcnRfcGFja2V0KSB7Cj4gPiA+ICAJCQkvKgo+ID4gPiAg CQkJICogT24gRE1BIGNvbXBsZXRpb24sIEZJRk8gbWF5IG5vdCBiZQo+ID4gPiAgCQkJICogYXZh aWxhYmxlIHlldC4uLgo+ID4gPiBAQCAtNDkzLDggKzQ4MiwxMCBAQCB2b2lkIG11c2JfZ190eChz dHJ1Y3QgbXVzYiAqbXVzYiwgdTggZXBudW0pCj4gPiA+ICAJCQlpZiAoY3NyICYgTVVTQl9UWENT Ul9UWFBLVFJEWSkKPiA+ID4gIAkJCQlyZXR1cm47Cj4gPiA+ICAKPiA+ID4gLQkJCW11c2Jfd3Jp dGV3KGVwaW8sIE1VU0JfVFhDU1IsIE1VU0JfVFhDU1JfTU9ERQo+ID4gPiAtCQkJCQl8IE1VU0Jf VFhDU1JfVFhQS1RSRFkpOwo+ID4gPiArCQkJbXVzYl9kYmcobXVzYiwgInNlbmRpbmcgc2hvcnQg cGt0ICh6ZXJvPSVkLCBsZW5ndGg9JWQsIGFjdHVhbD0lZCwgZG1hLT5kZXNpcmVkX21vZGU9JWQp XG4iLAo+ID4gPiArCQkJCSByZXF1ZXN0LT56ZXJvLCByZXF1ZXN0LT5sZW5ndGgsIHJlcXVlc3Qt PmFjdHVhbCwKPiA+ID4gKwkJCQkgZG1hLT5kZXNpcmVkX21vZGUpOwo+ID4gPiArCQkJbXVzYl93 cml0ZXcoZXBpbywgTVVTQl9UWENTUiwgY3NyIHwgTVVTQl9UWENTUl9UWFBLVFJEWSk7Cj4gPiAK PiA+IFNvcnJ5IEkgZGlkbid0IGNhdGNoIHRoaXMgaW4gdGhlIGxhc3QgcmV2aWV3LCBidXQgdGhp cyBjaGFuZ2Ugc2VlbXMgbm90Cj4gPiByZXF1aXJlZCwgaXNuJ3QgaXQ/IEluIHRoZSBmaXJzdCB2 ZXJzaW9uIG9mIHRoZSBwYXRjaCwgdGhlIGNvZGUgaXMKPiA+ICdyZXR1cm5lZCcgaW4gdGhlICdp ZiAobXVzYl9kbWFfaW52ZW50cmEoKSknIGJyYW5jaCBhYm92ZSwgZG9lc24ndCByZWFjaAo+ID4g aGVyZS4KPiAKPiBEbyB5b3UgbWVhbiBjaGFuZ2UgY29tcGFyZWQgdG8gdGhlIGxhc3QgdmVyc2lv biBvZiB0aGUgcGF0Y2gsIG9yIHRoaXMKPiBsYXN0IGNodW5rIG9mIHRoZSBkaWZmPwoKSSBtZWFu dCB0aGF0IHRoZSBjaHVuayBhYm92ZSBzZWVtcyBub3QgcmVsYXRlZCB0byB0aGlzIHdlYmNhbSBz aG9ydApwYWNrZXQgdGVzdCBjYXNlLCBzbyBhbSB3b25kZXJpbmcgaWYgdGhpcyBjaGFuZ2UgaXMg bm90IG5lY2Nlc3NhcnkKCi0gICAgICAgICAgICAgICAgICBtdXNiX3dyaXRldyhlcGlvLCBNVVNC X1RYQ1NSLCBNVVNCX1RYQ1NSX01PREUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgTVVTQl9UWENTUl9UWFBLVFJEWSk7CisgICAgICAgICAgICAgICAgIG11c2Jfd3JpdGV3KGVw aW8sIE1VU0JfVFhDU1IsIGNzciB8IE1VU0JfVFhDU1JfVFhQS1RSRFkpOwoKCj4gCj4gSSBndWVz cyBJIGRpZCBhbHNvIHJlbW92ZSB0aGUgcmV0dXJuIHdoZW4gSSByZW1vdmVkIHRoZSAnaWYKPiAo bXVzYl9kbWFfaW52ZW50cmEoKSknIGJsb2NrIHRoYXQgaGFkIHRoZSBGTFVTSEZJRklPLCBidXQg d2hlbiBJIHRlc3RlZAo+IGl0IGl0IHN0aWxsIHdvcmtlZC4gSW4gZmFjdCwgSSByZXZlcnRlZCB0 aGlzIGxhc3QgZGlmZiBjaHVuayBhbmQgaXQKPiBzdGlsbCB3b3JrZWQuCgpzbyB0aGUgbGFzdCBj aHVuayBpcyBub3QgcmVsYXRlZCwgd2UgZG9uJ3QgaGF2ZSB0byB0b3VjaCBpdC4KClJlZ2FyZHMs Ci1CaW4uCg==