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: <20190130141321.3500-1-b-liu@ti.com> Date: Wed, 30 Jan 2019 08:13:21 -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 XSBodHRwOi8vZWxpbnV4Lm9yZy9CZWFnbGVCb2FyZC9HU29DL1VTQlNuaWZmZXIKCkZpeGVzOiA1 NTBhNzM3NWZlNzIgKCJVU0I6IEFkZCBNVVNCIGFuZCBUVVNCIHN1cHBvcnQiKQpTaWduZWQtb2Zm LWJ5OiBQYXVsIEVsZGVyIDxwYXVsLmVsZGVyQGlkZWFzb25ib2FyZC5jb20+ClNpZ25lZC1vZmYt Ynk6IEJpbiBMaXUgPGItbGl1QHRpLmNvbT4KLS0tCnYyOiBhZGQgRml4ZXMgdGFnLgoKIGRyaXZl cnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYyB8IDEzICstLS0tLS0tLS0tLS0KIGRyaXZlcnMvdXNi L211c2IvbXVzYmhzZG1hLmMgICB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2Fk Z2V0LmMKaW5kZXggZWFlOGIxYjFiNDViLi5mZmU0NjJhNjU3YjEgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvdXNiL211c2IvbXVzYl9nYWRnZXQuYworKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2Fk Z2V0LmMKQEAgLTQ1MiwxMyArNDUyLDEwIEBAIHZvaWQgbXVzYl9nX3R4KHN0cnVjdCBtdXNiICpt dXNiLCB1OCBlcG51bSkKIAl9CiAKIAlpZiAocmVxdWVzdCkgewotCQl1OAlpc19kbWEgPSAwOwot CQlib29sCXNob3J0X3BhY2tldCA9IGZhbHNlOwogCiAJCXRyYWNlX211c2JfcmVxX3R4KHJlcSk7 CiAKIAkJaWYgKGRtYSAmJiAoY3NyICYgTVVTQl9UWENTUl9ETUFFTkFCKSkgewotCQkJaXNfZG1h ID0gMTsKIAkJCWNzciB8PSBNVVNCX1RYQ1NSX1BfV1pDX0JJVFM7CiAJCQljc3IgJj0gfihNVVNC X1RYQ1NSX0RNQUVOQUIgfCBNVVNCX1RYQ1NSX1BfVU5ERVJSVU4gfAogCQkJCSBNVVNCX1RYQ1NS X1RYUEtUUkRZIHwgTVVTQl9UWENTUl9BVVRPU0VUKTsKQEAgLTQ3NiwxNiArNDczLDggQEAgdm9p ZCBtdXNiX2dfdHgoc3RydWN0IG11c2IgKm11c2IsIHU4IGVwbnVtKQogCQkgKi8KIAkJaWYgKChy ZXF1ZXN0LT56ZXJvICYmIHJlcXVlc3QtPmxlbmd0aCkKIAkJCSYmIChyZXF1ZXN0LT5sZW5ndGgg JSBtdXNiX2VwLT5wYWNrZXRfc3ogPT0gMCkKLQkJCSYmIChyZXF1ZXN0LT5hY3R1YWwgPT0gcmVx dWVzdC0+bGVuZ3RoKSkKLQkJCQlzaG9ydF9wYWNrZXQgPSB0cnVlOworCQkJJiYgKHJlcXVlc3Qt PmFjdHVhbCA9PSByZXF1ZXN0LT5sZW5ndGgpKSB7CiAKLQkJaWYgKChtdXNiX2RtYV9pbnZlbnRy YShtdXNiKSB8fCBtdXNiX2RtYV91eDUwMChtdXNiKSkgJiYKLQkJCShpc19kbWEgJiYgKCFkbWEt PmRlc2lyZWRfbW9kZSB8fAotCQkJCShyZXF1ZXN0LT5hY3R1YWwgJgotCQkJCQkobXVzYl9lcC0+ cGFja2V0X3N6IC0gMSkpKSkpCi0JCQkJc2hvcnRfcGFja2V0ID0gdHJ1ZTsKLQotCQlpZiAoc2hv cnRfcGFja2V0KSB7CiAJCQkvKgogCQkJICogT24gRE1BIGNvbXBsZXRpb24sIEZJRk8gbWF5IG5v dCBiZQogCQkJICogYXZhaWxhYmxlIHlldC4uLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvbXVz Yi9tdXNiaHNkbWEuYyBiL2RyaXZlcnMvdXNiL211c2IvbXVzYmhzZG1hLmMKaW5kZXggYTY4OGY3 Zjg3ODI5Li41ZmM2ODI1NzQ1ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVzYmhz ZG1hLmMKKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiaHNkbWEuYwpAQCAtMzQ2LDEyICszNDYs MTAgQEAgc3RhdGljIGlycXJldHVybl90IGRtYV9jb250cm9sbGVyX2lycShpbnQgaXJxLCB2b2lk ICpwcml2YXRlX2RhdGEpCiAJCQkJY2hhbm5lbC0+c3RhdHVzID0gTVVTQl9ETUFfU1RBVFVTX0ZS RUU7CiAKIAkJCQkvKiBjb21wbGV0ZWQgKi8KLQkJCQlpZiAoKGRldmN0bCAmIE1VU0JfREVWQ1RM X0hNKQotCQkJCQkmJiAobXVzYl9jaGFubmVsLT50cmFuc21pdCkKLQkJCQkJJiYgKChjaGFubmVs LT5kZXNpcmVkX21vZGUgPT0gMCkKLQkJCQkJICAgIHx8IChjaGFubmVsLT5hY3R1YWxfbGVuICYK LQkJCQkJICAgIChtdXNiX2NoYW5uZWwtPm1heF9wYWNrZXRfc3ogLSAxKSkpCi0JCQkJICAgICkg eworCQkJCWlmIChtdXNiX2NoYW5uZWwtPnRyYW5zbWl0ICYmCisJCQkJCSghY2hhbm5lbC0+ZGVz aXJlZF9tb2RlIHx8CisJCQkJCShjaGFubmVsLT5hY3R1YWxfbGVuICUKKwkJCQkJICAgIG11c2Jf Y2hhbm5lbC0+bWF4X3BhY2tldF9zeikpKSB7CiAJCQkJCXU4ICBlcG51bSAgPSBtdXNiX2NoYW5u ZWwtPmVwbnVtOwogCQkJCQlpbnQgb2Zmc2V0ID0gbXVzYi0+aW8uZXBfb2Zmc2V0KGVwbnVtLAog CQkJCQkJCQkgICAgTVVTQl9UWENTUik7CkBAIC0zNjMsMTEgKzM2MSwxNCBAQCBzdGF0aWMgaXJx cmV0dXJuX3QgZG1hX2NvbnRyb2xsZXJfaXJxKGludCBpcnEsIHZvaWQgKnByaXZhdGVfZGF0YSkK IAkJCQkJICovCiAJCQkJCW11c2JfZXBfc2VsZWN0KG1iYXNlLCBlcG51bSk7CiAJCQkJCXR4Y3Ny ID0gbXVzYl9yZWFkdyhtYmFzZSwgb2Zmc2V0KTsKLQkJCQkJdHhjc3IgJj0gfihNVVNCX1RYQ1NS X0RNQUVOQUIKKwkJCQkJaWYgKGNoYW5uZWwtPmRlc2lyZWRfbW9kZSA9PSAxKSB7CisJCQkJCQl0 eGNzciAmPSB+KE1VU0JfVFhDU1JfRE1BRU5BQgogCQkJCQkJCXwgTVVTQl9UWENTUl9BVVRPU0VU KTsKLQkJCQkJbXVzYl93cml0ZXcobWJhc2UsIG9mZnNldCwgdHhjc3IpOwotCQkJCQkvKiBTZW5k IG91dCB0aGUgcGFja2V0ICovCi0JCQkJCXR4Y3NyICY9IH5NVVNCX1RYQ1NSX0RNQU1PREU7CisJ CQkJCQltdXNiX3dyaXRldyhtYmFzZSwgb2Zmc2V0LCB0eGNzcik7CisJCQkJCQkvKiBTZW5kIG91 dCB0aGUgcGFja2V0ICovCisJCQkJCQl0eGNzciAmPSB+TVVTQl9UWENTUl9ETUFNT0RFOworCQkJ CQkJdHhjc3IgfD0gTVVTQl9UWENTUl9ETUFFTkFCOworCQkJCQl9CiAJCQkJCXR4Y3NyIHw9ICBN VVNCX1RYQ1NSX1RYUEtUUkRZOwogCQkJCQltdXNiX3dyaXRldyhtYmFzZSwgb2Zmc2V0LCB0eGNz cik7CiAJCQkJfQo=