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: [1/1] usb: gadget: musb: fix short isoc packets with inventra dma From: Bin Liu Message-Id: <20190128200151.15319-2-b-liu@ti.com> Date: Mon, 28 Jan 2019 14:01:51 -0600 To: Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, Bin Liu List-ID: RnJvbTogUGF1bCBFbGRlciA8cGF1bC5lbGRlckBpZGVhc29uYm9hcmQuY29tPgoKSGFuZGxpbmcg c2hvcnQgcGFja2V0cyAobGVuZ3RoIDwgbWF4IHBhY2tldCBzaXplKSBpbiB0aGUgSW52ZW50cmEg RE1BCmVuZ2luZSBpbiB0aGUgTVVTQiBkcml2ZXIgY2F1c2VzIHRoZSBNVVNCIERNQSBjb250cm9s bGVyIHRvIGhhbmcuIEFuCmV4YW1wbGUgb2YgYSBwcm9ibGVtIHRoYXQgaXMgY2F1c2VkIGJ5IHRo aXMgcHJvYmxlbSBpcyB3aGVuIHN0cmVhbWluZwp2aWRlbyBvdXQgb2YgYSBVVkMgZ2FkZ2V0LCBv bmx5IHRoZSBmaXJzdCB2aWRlbyBmcmFtZSBpcyB0cmFuc2ZlcnJlZC4KCkZvciBzaG9ydCBwYWNr ZXRzIChtb2RlLTAgb3IgbW9kZS0xIERNQSksIE1VU0JfVFhDU1JfVFhQS1RSRFkgbXVzdCBiZQpz ZXQgbWFudWFsbHkgYnkgdGhlIGRyaXZlci4gVGhpcyB3YXMgcHJldmlvdXNseSBkb25lIGluIG11 c2JfZ190eAoobXVzYl9nYWRnZXQuYyksIGJ1dCBpbmNvcnJlY3RseSAoYWxsIGNzciBmbGFncyB3 ZXJlIGNsZWFyZWQsIGFuZCBvbmx5Ck1VU0JfVFhDU1JfTU9ERSBhbmQgTVVTQl9UWENTUl9UWFBL VFJEWSB3ZXJlIHNldCkuIEZpeGluZyB0aGF0IHByb2JsZW0KYWxsb3dzIHNvbWUgcmVxdWVzdHMg dG8gYmUgdHJhbnNmZXJyZWQgY29ycmVjdGx5LCBidXQgbXVsdGlwbGUgcmVxdWVzdHMKd2VyZSBv ZnRlbiBwdXQgdG9nZXRoZXIgaW4gb25lIFVTQiBwYWNrZXQsIGFuZCBjYXVzZWQgcHJvYmxlbXMg aWYgdGhlCnBhY2tldCBzaXplIHdhcyBub3QgYSBtdWx0aXBsZSBvZiA0LiBJbnN0ZWFkLCBzZXQg TVVTQl9UWENTUl9UWFBLVFJEWQppbiBkbWFfY29udHJvbGxlcl9pcnEgKG11c2Joc2RtYS5jKSwg anVzdCBsaWtlIGhvc3QgbW9kZSB0cmFuc2ZlcnMuCgpUaGlzIHRvcGljIHdhcyBvcmlnaW5hbGx5 IHRhY2tsZWQgYnkgTmljb2xhcyBCb2ljaGF0IFswXSBbMV0gYW5kIGlzCmRpc2N1c3NlZCBmdXJ0 aGVyIGF0IFsyXSBhcyBwYXJ0IG9mIGhpcyBHU29DIHByb2plY3QgWzNdLgoKWzBdIGh0dHBzOi8v Z3JvdXBzLmdvb2dsZS5jb20vZm9ydW0vP2hsPWVuIyF0b3BpYy9iZWFnbGVib2FyZC1nc29jL2s4 QXp3ZnA3NUNVClsxXSBodHRwczovL2dpdG9yaW91cy5vcmcvYmVhZ2xlYm9hcmQtdXNic25pZmZl ci9iZWFnbGVib2FyZC11c2JzbmlmZmVyLWtlcm5lbC9jb21taXQvYjBiZTNiNmNjMTk1YmE3MzIx ODliMDRmMWQ0M2VjODQzYzNlNTRjOT9wPWJlYWdsZWJvYXJkLXVzYnNuaWZmZXI6YmVhZ2xlYm9h cmQtdXNic25pZmZlci1rZXJuZWwuZ2l0O2E9cGF0Y2g7aD1iMGJlM2I2Y2MxOTViYTczMjE4OWIw NGYxZDQzZWM4NDNjM2U1NGM5ClsyXSBodHRwOi8vYmVhZ2xlYm9hcmQtdXNic25pZmZlci5ibG9n c3BvdC5jb20vMjAxMC8wNy9tdXNiLWlzb2Nocm9ub3VzLXRyYW5zZmVycy1maXhlZC5odG1sClsz XSBodHRwOi8vZWxpbnV4Lm9yZy9CZWFnbGVCb2FyZC9HU29DL1VTQlNuaWZmZXIKClNpZ25lZC1v ZmYtYnk6IFBhdWwgRWxkZXIgPHBhdWwuZWxkZXJAaWRlYXNvbmJvYXJkLmNvbT4KU2lnbmVkLW9m Zi1ieTogQmluIExpdSA8Yi1saXVAdGkuY29tPgotLS0KIGRyaXZlcnMvdXNiL211c2IvbXVzYl9n YWRnZXQuYyB8IDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMg ICB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxMiBpbnNlcnRp b25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211 c2JfZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKaW5kZXggZWFlOGIx YjFiNDViLi5mZmU0NjJhNjU3YjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9n YWRnZXQuYworKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMKQEAgLTQ1MiwxMyAr NDUyLDEwIEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICptdXNiLCB1OCBlcG51bSkKIAl9 CiAKIAlpZiAocmVxdWVzdCkgewotCQl1OAlpc19kbWEgPSAwOwotCQlib29sCXNob3J0X3BhY2tl dCA9IGZhbHNlOwogCiAJCXRyYWNlX211c2JfcmVxX3R4KHJlcSk7CiAKIAkJaWYgKGRtYSAmJiAo Y3NyICYgTVVTQl9UWENTUl9ETUFFTkFCKSkgewotCQkJaXNfZG1hID0gMTsKIAkJCWNzciB8PSBN VVNCX1RYQ1NSX1BfV1pDX0JJVFM7CiAJCQljc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIgfCBN VVNCX1RYQ1NSX1BfVU5ERVJSVU4gfAogCQkJCSBNVVNCX1RYQ1NSX1RYUEtUUkRZIHwgTVVTQl9U WENTUl9BVVRPU0VUKTsKQEAgLTQ3NiwxNiArNDczLDggQEAgdm9pZCBtdXNiX2dfdHgoc3RydWN0 IG11c2IgKm11c2IsIHU4IGVwbnVtKQogCQkgKi8KIAkJaWYgKChyZXF1ZXN0LT56ZXJvICYmIHJl cXVlc3QtPmxlbmd0aCkKIAkJCSYmIChyZXF1ZXN0LT5sZW5ndGggJSBtdXNiX2VwLT5wYWNrZXRf c3ogPT0gMCkKLQkJCSYmIChyZXF1ZXN0LT5hY3R1YWwgPT0gcmVxdWVzdC0+bGVuZ3RoKSkKLQkJ CQlzaG9ydF9wYWNrZXQgPSB0cnVlOworCQkJJiYgKHJlcXVlc3QtPmFjdHVhbCA9PSByZXF1ZXN0 LT5sZW5ndGgpKSB7CiAKLQkJaWYgKChtdXNiX2RtYV9pbnZlbnRyYShtdXNiKSB8fCBtdXNiX2Rt YV91eDUwMChtdXNiKSkgJiYKLQkJCShpc19kbWEgJiYgKCFkbWEtPmRlc2lyZWRfbW9kZSB8fAot CQkJCShyZXF1ZXN0LT5hY3R1YWwgJgotCQkJCQkobXVzYl9lcC0+cGFja2V0X3N6IC0gMSkpKSkp Ci0JCQkJc2hvcnRfcGFja2V0ID0gdHJ1ZTsKLQotCQlpZiAoc2hvcnRfcGFja2V0KSB7CiAJCQkv KgogCQkJICogT24gRE1BIGNvbXBsZXRpb24sIEZJRk8gbWF5IG5vdCBiZQogCQkJICogYXZhaWxh YmxlIHlldC4uLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYyBiL2Ry aXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMKaW5kZXggYTY4OGY3Zjg3ODI5Li41ZmM2ODI1NzQ1 ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMKKysrIGIvZHJpdmVy cy91c2IvbXVzYi9tdXNiaHNkbWEuYwpAQCAtMzQ2LDEyICszNDYsMTAgQEAgc3RhdGljIGlycXJl dHVybl90IGRtYV9jb250cm9sbGVyX2lycShpbnQgaXJxLCB2b2lkICpwcml2YXRlX2RhdGEpCiAJ CQkJY2hhbm5lbC0+c3RhdHVzID0gTVVTQl9ETUFfU1RBVFVTX0ZSRUU7CiAKIAkJCQkvKiBjb21w bGV0ZWQgKi8KLQkJCQlpZiAoKGRldmN0bCAmIE1VU0JfREVWQ1RMX0hNKQotCQkJCQkmJiAobXVz Yl9jaGFubmVsLT50cmFuc21pdCkKLQkJCQkJJiYgKChjaGFubmVsLT5kZXNpcmVkX21vZGUgPT0g MCkKLQkJCQkJICAgIHx8IChjaGFubmVsLT5hY3R1YWxfbGVuICYKLQkJCQkJICAgIChtdXNiX2No YW5uZWwtPm1heF9wYWNrZXRfc3ogLSAxKSkpCi0JCQkJICAgICkgeworCQkJCWlmIChtdXNiX2No YW5uZWwtPnRyYW5zbWl0ICYmCisJCQkJCSghY2hhbm5lbC0+ZGVzaXJlZF9tb2RlIHx8CisJCQkJ CShjaGFubmVsLT5hY3R1YWxfbGVuICUKKwkJCQkJICAgIG11c2JfY2hhbm5lbC0+bWF4X3BhY2tl dF9zeikpKSB7CiAJCQkJCXU4ICBlcG51bSAgPSBtdXNiX2NoYW5uZWwtPmVwbnVtOwogCQkJCQlp bnQgb2Zmc2V0ID0gbXVzYi0+aW8uZXBfb2Zmc2V0KGVwbnVtLAogCQkJCQkJCQkgICAgTVVTQl9U WENTUik7CkBAIC0zNjMsMTEgKzM2MSwxNCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZG1hX2NvbnRy b2xsZXJfaXJxKGludCBpcnEsIHZvaWQgKnByaXZhdGVfZGF0YSkKIAkJCQkJICovCiAJCQkJCW11 c2JfZXBfc2VsZWN0KG1iYXNlLCBlcG51bSk7CiAJCQkJCXR4Y3NyID0gbXVzYl9yZWFkdyhtYmFz ZSwgb2Zmc2V0KTsKLQkJCQkJdHhjc3IgJj0gfihNVVNCX1RYQ1NSX0RNQUVOQUIKKwkJCQkJaWYg KGNoYW5uZWwtPmRlc2lyZWRfbW9kZSA9PSAxKSB7CisJCQkJCQl0eGNzciAmPSB+KE1VU0JfVFhD U1JfRE1BRU5BQgogCQkJCQkJCXwgTVVTQl9UWENTUl9BVVRPU0VUKTsKLQkJCQkJbXVzYl93cml0 ZXcobWJhc2UsIG9mZnNldCwgdHhjc3IpOwotCQkJCQkvKiBTZW5kIG91dCB0aGUgcGFja2V0ICov Ci0JCQkJCXR4Y3NyICY9IH5NVVNCX1RYQ1NSX0RNQU1PREU7CisJCQkJCQltdXNiX3dyaXRldyht YmFzZSwgb2Zmc2V0LCB0eGNzcik7CisJCQkJCQkvKiBTZW5kIG91dCB0aGUgcGFja2V0ICovCisJ CQkJCQl0eGNzciAmPSB+TVVTQl9UWENTUl9ETUFNT0RFOworCQkJCQkJdHhjc3IgfD0gTVVTQl9U WENTUl9ETUFFTkFCOworCQkJCQl9CiAJCQkJCXR4Y3NyIHw9ICBNVVNCX1RYQ1NSX1RYUEtUUkRZ OwogCQkJCQltdXNiX3dyaXRldyhtYmFzZSwgb2Zmc2V0LCB0eGNzcik7CiAJCQkJfQo=