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: <20181009063220.13745-1-paul.elder@ideasonboard.com> Date: Tue, 9 Oct 2018 02:32:20 -0400 To: laurent.pinchart@ideasonboard.com, kieran.bingham@ideasonboard.com Cc: Paul Elder , Nicolas Boichat , b-liu@ti.com, gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, balbi@kernel.org, balbi@ti.com List-ID: SGFuZGxpbmcgc2hvcnQgcGFja2V0cyAobGVuZ3RoIDwgbWF4IHBhY2tldCBzaXplKSBpbiB0aGUg SW52ZW50cmEgRE1BCmVuZ2luZSBpbiB0aGUgTVVTQiBkcml2ZXIgY2F1c2VzIHRoZSBNVVNCIERN QSBjb250cm9sbGVyIHRvIGhhbmcuIEFuCmV4YW1wbGUgb2YgYSBwcm9ibGVtIHRoYXQgaXMgY2F1 c2VkIGJ5IHRoaXMgcHJvYmxlbSBpcyB3aGVuIHN0cmVhbWluZwp2aWRlbyBvdXQgb2YgYSBVVkMg Z2FkZ2V0LCBvbmx5IHRoZSBmaXJzdCB2aWRlbyBmcmFtZSBpcyB0cmFuc2ZlcnJlZC4KCkZvciBz aG9ydCBwYWNrZXRzIChtb2RlLTAgb3IgbW9kZS0xIERNQSksIE1VU0JfVFhDU1JfVFhQS1RSRFkg bXVzdCBiZQpzZXQgbWFudWFsbHkgYnkgdGhlIGRyaXZlci4gVGhpcyB3YXMgcHJldmlvdXNseSBk b25lIGluIG11c2JfZ190eAoobXVzYl9nYWRnZXQuYyksIGJ1dCBpbmNvcnJlY3RseSAoYWxsIGNz ciBmbGFncyB3ZXJlIGNsZWFyZWQsIGFuZCBvbmx5Ck1VU0JfVFhDU1JfTU9ERSBhbmQgTVVTQl9U WENTUl9UWFBLVFJEWSkuIEZpeGluZyB0aGF0IHByb2JsZW0gYWxsb3dzCnNvbWUgcmVxdWVzdHMg dG8gYmUgdHJhbnNmZXJyZWQgY29ycmVjdGx5LCBidXQgbXVsdGlwbGUgcmVxdWVzdHMgd2VyZQpv ZnRlbiBwdXQgdG9nZXRoZXIgaW4gb25lIFVTQiBwYWNrZXQsIGFuZCBjYXVzZWQgcHJvYmxlbXMg aWYgdGhlIHBhY2tldApzaXplIHdhcyBub3QgYSBtdWx0aXBsZSBvZiA0LgoKSW5zdGVhZCwgTVVT Ql9UWENTUl9UWFBLVFJEWSBpcyBzZXQgaW4gZG1hX2NvbnRyb2xsZXJfaXJxIChtdXNiaHNkbWEu YyksCmp1c3QgbGlrZSBob3N0IG1vZGUgdHJhbnNmZXJzLCB0aGVuIG11c2JfZ190eCBmb3JjZXMg dGhlIHBhY2tldCB0byBiZQpmbHVzaGVkLCBieSBzZXR0aW5nIE1VU0JfVFhDU1JfRkxVU0hGSUZP LgoKVGhpcyB0b3BpYyB3YXMgb3JpZ2luYWxseSB0YWNrbGVkIGJ5IE5pY29sYXMgQm9pY2hhdCBb MF0gWzFdIGFuZCBpcyBkaXNjdXNzZWQKZnVydGhlciBhdCBbMl0gYXMgcGFydCBvZiBoaXMgR1Nv QyBwcm9qZWN0IFszXS4KClswXSBodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2ZvcnVtLz9obD1l biMhdG9waWMvYmVhZ2xlYm9hcmQtZ3NvYy9rOEF6d2ZwNzVDVQpbMV0gaHR0cHM6Ly9naXRvcmlv dXMub3JnL2JlYWdsZWJvYXJkLXVzYnNuaWZmZXIvYmVhZ2xlYm9hcmQtdXNic25pZmZlci1rZXJu ZWwvY29tbWl0L2IwYmUzYjZjYzE5NWJhNzMyMTg5YjA0ZjFkNDNlYzg0M2MzZTU0Yzk/cD1iZWFn bGVib2FyZC11c2JzbmlmZmVyOmJlYWdsZWJvYXJkLXVzYnNuaWZmZXIta2VybmVsLmdpdDthPXBh dGNoO2g9YjBiZTNiNmNjMTk1YmE3MzIxODliMDRmMWQ0M2VjODQzYzNlNTRjOQpbMl0gaHR0cDov L2JlYWdsZWJvYXJkLXVzYnNuaWZmZXIuYmxvZ3Nwb3QuY29tLzIwMTAvMDcvbXVzYi1pc29jaHJv bm91cy10cmFuc2ZlcnMtZml4ZWQuaHRtbApbM10gaHR0cDovL2VsaW51eC5vcmcvQmVhZ2xlQm9h cmQvR1NvQy9VU0JTbmlmZmVyCgpJIGhhdmUgZm9yd2FyZC1wb3J0ZWQgdGhpcyBwYXRjaCBmcm9t IDIuNi4zNCB0byA0LjE5LXJjMS4KClNpZ25lZC1vZmYtYnk6IFBhdWwgRWxkZXIgPHBhdWwuZWxk ZXJAaWRlYXNvbmJvYXJkLmNvbT4KLS0tCiBkcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMg fCAyMSArKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMg ICB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRp b25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211 c2JfZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKaW5kZXggZWFlOGIx YjFiNDViLi5kM2YzM2Y0NDk0NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9n YWRnZXQuYworKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKQEAgLTQ3OSwxMSAr NDc5LDE2IEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKIAkJ CSYmIChyZXF1ZXN0LT5hY3R1YWwgPT0gcmVxdWVzdC0+bGVuZ3RoKSkKIAkJCQlzaG9ydF9wYWNr ZXQgPSB0cnVlOwogCi0JCWlmICgobXVzYl9kbWFfaW52ZW50cmEobXVzYikgfHwgbXVzYl9kbWFf dXg1MDAobXVzYikpICYmCi0JCQkoaXNfZG1hICYmICghZG1hLT5kZXNpcmVkX21vZGUgfHwKLQkJ CQkocmVxdWVzdC0+YWN0dWFsICYKLQkJCQkJKG11c2JfZXAtPnBhY2tldF9zeiAtIDEpKSkpKQot CQkJCXNob3J0X3BhY2tldCA9IHRydWU7CisJCWlmIChpc19kbWEgJiYgKG11c2JfZG1hX2ludmVu dHJhKG11c2IpIHx8IG11c2JfZG1hX3V4NTAwKG11c2IpKSkgeworCQkJaWYgKCFkbWEtPmRlc2ly ZWRfbW9kZSB8fAorCQkJCQlyZXF1ZXN0LT5hY3R1YWwgJSBtdXNiX2VwLT5wYWNrZXRfc3opIHsK KwkJCQltdXNiX2RiZyhtdXNiLCAiJXMgRmx1c2hpbmcgKEZJRk8pIEVQIDogS1BCXG4iLAorCQkJ CQkJbXVzYl9lcC0+ZW5kX3BvaW50Lm5hbWUpOworCQkJCW11c2Jfd3JpdGV3KGVwaW8sIE1VU0Jf VFhDU1IsCisJCQkJCQljc3IgfCBNVVNCX1RYQ1NSX0ZMVVNIRklGTyk7CisJCQkJcmV0dXJuOwor CQkJfQorCQl9CiAKIAkJaWYgKHNob3J0X3BhY2tldCkgewogCQkJLyoKQEAgLTQ5Myw4ICs0OTgs MTAgQEAgdm9pZCBtdXNiX2dfdHgoc3RydWN0IG11c2IgKm11c2IsIHU4IGVwbnVtKQogCQkJaWYg KGNzciAmIE1VU0JfVFhDU1JfVFhQS1RSRFkpCiAJCQkJcmV0dXJuOwogCi0JCQltdXNiX3dyaXRl dyhlcGlvLCBNVVNCX1RYQ1NSLCBNVVNCX1RYQ1NSX01PREUKLQkJCQkJfCBNVVNCX1RYQ1NSX1RY UEtUUkRZKTsKKwkJCW11c2JfZGJnKG11c2IsICJzZW5kaW5nIHplcm8gcGt0ICh6ZXJvPSVkLCBs ZW5ndGg9JWQsIGFjdHVhbD0lZCwgZG1hLT5kZXNpcmVkX21vZGU9JWQpXG4iLAorCQkJCSByZXF1 ZXN0LT56ZXJvLCByZXF1ZXN0LT5sZW5ndGgsIHJlcXVlc3QtPmFjdHVhbCwKKwkJCQkgZG1hLT5k ZXNpcmVkX21vZGUpOworCQkJbXVzYl93cml0ZXcoZXBpbywgTVVTQl9UWENTUiwgY3NyIHwgTVVT Ql9UWENTUl9UWFBLVFJEWSk7CiAJCQlyZXF1ZXN0LT56ZXJvID0gMDsKIAkJfQogCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2RtYS5jIGIvZHJpdmVycy91c2IvbXVzYi9tdXNi aHNkbWEuYwppbmRleCBhNjg4ZjdmODc4MjkuLmU1MTRkNDcwMGE2YiAxMDA2NDQKLS0tIGEvZHJp dmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYworKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2Joc2Rt YS5jCkBAIC0zNDYsMTIgKzM0NiwxMCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZG1hX2NvbnRyb2xs ZXJfaXJxKGludCBpcnEsIHZvaWQgKnByaXZhdGVfZGF0YSkKIAkJCQljaGFubmVsLT5zdGF0dXMg PSBNVVNCX0RNQV9TVEFUVVNfRlJFRTsKIAogCQkJCS8qIGNvbXBsZXRlZCAqLwotCQkJCWlmICgo ZGV2Y3RsICYgTVVTQl9ERVZDVExfSE0pCi0JCQkJCSYmIChtdXNiX2NoYW5uZWwtPnRyYW5zbWl0 KQotCQkJCQkmJiAoKGNoYW5uZWwtPmRlc2lyZWRfbW9kZSA9PSAwKQotCQkJCQkgICAgfHwgKGNo YW5uZWwtPmFjdHVhbF9sZW4gJgotCQkJCQkgICAgKG11c2JfY2hhbm5lbC0+bWF4X3BhY2tldF9z eiAtIDEpKSkKLQkJCQkgICAgKSB7CisJCQkJaWYgKG11c2JfY2hhbm5lbC0+dHJhbnNtaXQgJiYK KwkJCQkgICAgKCFjaGFubmVsLT5kZXNpcmVkX21vZGUgfHwKKwkJCQkgICAgIChjaGFubmVsLT5h Y3R1YWxfbGVuICUKKwkJCQkgICAgICBtdXNiX2NoYW5uZWwtPm1heF9wYWNrZXRfc3opKSkgewog CQkJCQl1OCAgZXBudW0gID0gbXVzYl9jaGFubmVsLT5lcG51bTsKIAkJCQkJaW50IG9mZnNldCA9 IG11c2ItPmlvLmVwX29mZnNldChlcG51bSwKIAkJCQkJCQkJICAgIE1VU0JfVFhDU1IpOwpAQCAt MzYzLDExICszNjEsMTQgQEAgc3RhdGljIGlycXJldHVybl90IGRtYV9jb250cm9sbGVyX2lycShp bnQgaXJxLCB2b2lkICpwcml2YXRlX2RhdGEpCiAJCQkJCSAqLwogCQkJCQltdXNiX2VwX3NlbGVj dChtYmFzZSwgZXBudW0pOwogCQkJCQl0eGNzciA9IG11c2JfcmVhZHcobWJhc2UsIG9mZnNldCk7 Ci0JCQkJCXR4Y3NyICY9IH4oTVVTQl9UWENTUl9ETUFFTkFCCisJCQkJCWlmIChjaGFubmVsLT5k ZXNpcmVkX21vZGUgPT0gMSkgeworCQkJCQkJdHhjc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIK IAkJCQkJCQl8IE1VU0JfVFhDU1JfQVVUT1NFVCk7Ci0JCQkJCW11c2Jfd3JpdGV3KG1iYXNlLCBv ZmZzZXQsIHR4Y3NyKTsKLQkJCQkJLyogU2VuZCBvdXQgdGhlIHBhY2tldCAqLwotCQkJCQl0eGNz ciAmPSB+TVVTQl9UWENTUl9ETUFNT0RFOworCQkJCQkJbXVzYl93cml0ZXcobWJhc2UsIG9mZnNl dCwgdHhjc3IpOworCQkJCQkJLyogU2VuZCBvdXQgdGhlIHBhY2tldCAqLworCQkJCQkJdHhjc3Ig Jj0gfk1VU0JfVFhDU1JfRE1BTU9ERTsKKwkJCQkJCXR4Y3NyIHw9IE1VU0JfVFhDU1JfRE1BRU5B QjsKKwkJCQkJfQogCQkJCQl0eGNzciB8PSAgTVVTQl9UWENTUl9UWFBLVFJEWTsKIAkJCQkJbXVz Yl93cml0ZXcobWJhc2UsIG9mZnNldCwgdHhjc3IpOwogCQkJCX0K