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: [RFT/PATCH,18/38] usb: dwc3: gadget: check for Missed Isoc from event status From: Felipe Balbi Message-Id: <87fu42kvcf.fsf@linux.intel.com> Date: Wed, 11 Apr 2018 11:20:32 +0300 To: Thinh Nguyen Thinh Nguyen , Linux USB Cc: John Youn List-ID: SGksCgpGZWxpcGUgQmFsYmkgPGZlbGlwZS5iYWxiaUBsaW51eC5pbnRlbC5jb20+IHdyaXRlczoK Pj4+IFdpdGhvdXQgWGZlck5vdFJlYWR5LCB3ZSB3b24ndCBoYXZlIGEgcmVsaWFibGUgd2F5IHRv IGtub3cgdGhlIHVGcmFtZQo+Pj4gbnVtYmVyLiBSZWFkIHRoZSBJc29jaHJvbm91cyBwcm9ncmFt bWluZyBzZXF1ZW5jZSBmcm9tIHlvdXIgZGF0YWJvb2suCj4+Cj4+IFJpZ2h0LiBXZSBuZWVkIFhm ZXJOb3RSZWFkeSB0byBrbm93IHdoZW4gdG8gc3RhcnQgaXNvYyB0cmFuc2Zlci4gQnV0IGlmIAo+ PiB0aGVyZSBhcmUgc3RpbGwgcXVldWVkIHJlcXVlc3RzLCBEV0MzIGNhbiBqdXN0IHdhaXQgdG8g c2VlIGlmIGFueSBvZiAKPj4gdGhlbSB3aWxsIHN1Y2NlZWQgdG8gY29udGludWUgd2l0aCB0aGUg dHJhbnNmZXIganVzdCBhcyBob3cgRFdDMyBpcyAKPj4gaGFuZGxpbmcgaXQgbm93Lgo+Cj4gVGhh dCdzIG5vdCB3aGF0IHRoZSBkYXRhYm9vayBzYXlzIHRob3VnaC4gQW5kIHRoYXQncyBhbHNvIG5v dCBpbnRlbnRpb24KPiBvZiBob3cgdGhlIGNvZGUgaXMgd3JpdHRlbiBhcyBvZiBub3cgZWl0aGVy LiBUaGUgd2F5IHRoZSBjb2RlIGlzIHdyaXR0ZW4KPiBpcyB0aGUgZm9sbG93aW5nOgo+Cj4gcXVl dWUoKSAtPiBYZmVyTm90UmVhZHkgLT4gc3RhcnRfaXNvYygpIC0+IGlmIChtaXNzZWQpIGRvX25v dGhpbmcoKSAtPgo+IHF1ZXVlKCkgLT4gZW5kX3RyYW5zZmVyLgo+Cj4gVGhhdCdzIG5vdCByZWFs bHkgd2FpdGluZyBmb3IgdGhlIHF1ZXVlIHRvIGJlIGNvbnN1bWVkLCBpdCdzIGp1c3QKPiBkZWxh eWluZyBlbmQgdHJhbnNmZXIgdW50aWwgd2UgZ2V0IGFub3RoZXIgcXVldWUoKS4gSU9XLCBpdCBq dXN0Cj4gKmhhcHBlbnMqIHRvIGdpdmUgdGhlIGNvbnRyb2xsZXIgdGltZSB0byBnbyB0aHJvdWdo IHRoZSBsaXN0IG9mIHN0YXJ0ZWQKPiByZXF1ZXN0cy4KPgo+PiBJZiB3ZSBlbmQgYW5kIHJlc3Rh cnQgdGhlIHRyYW5zZmVyIHJpZ2h0IGF3YXksIHRoZW4gd2UgbWF5IGxvc2UgbW9yZQo+PiBpc29j IGRhdGEgdGhhbiBuZWNlc3NhcnkgKGR1ZSB0byBpc29jIHNjaGVkdWxpbmcgYXQgbGVhc3QgNCB1 RnJhbWUKPj4gYWhlYWQgb2YgdGltZSkuIElzIHRoZXJlIHNvbWV0aGluZyB5b3Ugc2VlIHRoYXQg ZG9lc24ndCB3b3JrIHdpdGggdGhlCj4+IGN1cnJlbnQgaW1wbGVtZW50YXRpb24/Cj4KPiBOb3Qg X3JlYWxseV8sIEknbSBqdXN0IHRyeWluZyB0byBtYWtlIHRoZSBjb2RlIGVhc2llciB0byByZWFk IGFuZCwgSQo+IHRoaW5rLCBJJ3ZlIGFjaGlldmVkIHRoYXQuIE5vdywgaWYgd2UgbmVlZCB0byBk ZWxheSBlbmQgdHJhbnNmZXIgaW4gdGhlCj4gY2FzZSB3aGVyZSB3ZSBoYXZlIG1vcmUgcmVxdWVz dHMgaW4gdGhlIGNvbnRyb2xsZXIncyBxdWV1ZSwgdGhhdCdzIGVhc3kKPiBlbm91Z2ggdG8gaW1w bGVtZW50Ogo+Cj4gQEAgLTIzNzEsNyArMjM3MSw4IEBAIHN0YXRpYyB2b2lkIGR3YzNfZ2FkZ2V0 X2VuZHBvaW50X3RyYW5zZmVyX2luX3Byb2dyZXNzKHN0cnVjdCBkd2MzX2VwICpkZXAsCj4gIAlp ZiAoZXZlbnQtPnN0YXR1cyAmIERFUEVWVF9TVEFUVVNfQlVTRVJSKQo+ICAJCXN0YXR1cyA9IC1F Q09OTlJFU0VUOwo+ICAKPiAtCWlmIChldmVudC0+c3RhdHVzICYgREVQRVZUX1NUQVRVU19NSVNT RURfSVNPQykgewo+ICsJaWYgKGV2ZW50LT5zdGF0dXMgJiBERVBFVlRfU1RBVFVTX01JU1NFRF9J U09DICYmCj4gKwkJCWxpc3RfZW1wdHkoJmRlcC0+c3RhcnRlZF9saXN0KSB7Cj4gIAkJc3RhdHVz ID0gLUVYREVWOwo+ICAJCXN0b3AgPSB0cnVlOwo+ICAJfQo+Cj4gSSdtIG5vdCBzdXJlIHRoaXMg aXMgYSBnb29kIGlkZWEgdGhvdWdoLiBPbmNlIHdlIG1pc3MgYW4gaW50ZXJ2YWwsIGRvbid0Cj4g d2UgbmVlZCB0byBrbm93IHRoZSBuZXh0IGZyYW1lIHdoZW4gdHJhbnNmZXIgbmVlZHMgdG8gYmUg c2NoZWR1bGVkPwo+Cj4gTWVhbmluZyB3ZSB3b3VsZCBuZWVkIFhmZXJOb3RSZWFkeSB0byBwcm9w ZXJseSBzY2hlZHVsZSB0aGUgbmV3Cj4gdHJhbnNmZXI/Cgp0aGlua2luZyBhYm91dCB0aGlzIGEg bGl0dGxlIG1vcmUuIFRoaXMgZXh0cmEgbGlzdF9lbXB0eSgpIGNoZWNrIGlzIG5vdAp3cm9uZyBh dCBhbGwgOi0pIEkndmUgYW1lbmRlZCB0aGlzIHNlcmllcyB3aXRoIHRoZSAzIHBhdGNoZXMgYmVs b3cuIEknbGwKcmVzZW5kIHRoZSBzZXJpZXMgb25jZSBJJ3ZlIGdpdmVuIG1vcmUgdGltZSBmb3Ig cGVvcGxlIHRvIHRlc3QuIFBhdGNoZXMKaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gdGhlIGJyYW5jaCBv biBrZXJuZWwub3JnIGFzIHdlbGwsIGJ0dy4KCgoKODwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCkZyb20gODEx NDc2ZDE3OTljNjA2YjNhZjJiNDAwMjJmZTMzM2NlZjU4NjM4NyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogRmVsaXBlIEJhbGJpIDxmZWxpcGUuYmFsYmlAbGludXguaW50ZWwuY29tPgpE YXRlOiBXZWQsIDExIEFwciAyMDE4IDEwOjMxOjUzICswMzAwClN1YmplY3Q6IFtQQVRDSCAxLzNd IHVzYjogZHdjMzogZGVidWc6IGRlY29kZSB1RnJhbWUgZnJvbSBldmVudCB0b28KClhmZXJOb3RS ZWFkeSBhbmQgWGZlckluUHJvZ3Jlc3MgZ2l2ZSB1cyB0aGUgdUZyYW1lIG51bWJlciB3ZSdyZQpj dXJyZW50bHkgaW4uIFByaW50aW5nIHRoYXQgb3V0IG9uIHRyYWNlcG9pbnRzIG1heSBoZWxwIHVz IGZpbmQgYnVncwppbiB0cmFuc2ZlciBzY2hlZHVsaW5nLgoKU2lnbmVkLW9mZi1ieTogRmVsaXBl IEJhbGJpIDxmZWxpcGUuYmFsYmlAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvdXNiL2R3 YzMvZGVidWcuaCB8IDEwICsrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9kZWJ1Zy5o IGIvZHJpdmVycy91c2IvZHdjMy9kZWJ1Zy5oCmluZGV4IDBiZTZhNTU0YmU1Ny4uYzY2ZDIxNmRj YzMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9kd2MzL2RlYnVnLmgKKysrIGIvZHJpdmVycy91 c2IvZHdjMy9kZWJ1Zy5oCkBAIC00OTMsMTQgKzQ5MywxOCBAQCBkd2MzX2VwX2V2ZW50X3N0cmlu ZyhjaGFyICpzdHIsIGNvbnN0IHN0cnVjdCBkd2MzX2V2ZW50X2RlcGV2dCAqZXZlbnQsCiAJY2Fz ZSBEV0MzX0RFUEVWVF9YRkVSSU5QUk9HUkVTUzoKIAkJbGVuID0gc3RybGVuKHN0cik7CiAKLQkJ c3ByaW50ZihzdHIgKyBsZW4sICJUcmFuc2ZlciBJbiBQcm9ncmVzcyAoJWMlYyVjKSIsCisJCXNw cmludGYoc3RyICsgbGVuLCAiVHJhbnNmZXIgSW4gUHJvZ3Jlc3MgWyVkXSAoJWMlYyVjKSIsCisJ CQkJZXZlbnQtPnBhcmFtZXRlcnMsCiAJCQkJc3RhdHVzICYgREVQRVZUX1NUQVRVU19TSE9SVCA/ ICdTJyA6ICdzJywKIAkJCQlzdGF0dXMgJiBERVBFVlRfU1RBVFVTX0lPQyA/ICdJJyA6ICdpJywK IAkJCQlzdGF0dXMgJiBERVBFVlRfU1RBVFVTX0xTVCA/ICdNJyA6ICdtJyk7CiAJCWJyZWFrOwog CWNhc2UgRFdDM19ERVBFVlRfWEZFUk5PVFJFQURZOgotCQlzdHJjYXQoc3RyLCAiVHJhbnNmZXIg Tm90IFJlYWR5Iik7Ci0JCXN0cmNhdChzdHIsIHN0YXR1cyAmIERFUEVWVF9TVEFUVVNfVFJBTlNG RVJfQUNUSVZFID8KKwkJbGVuID0gc3RybGVuKHN0cik7CisKKwkJc3ByaW50ZihzdHIgKyBsZW4s ICJUcmFuc2ZlciBOb3QgUmVhZHkgWyVkXSVzIiwKKwkJCQlldmVudC0+cGFyYW1ldGVycywKKwkJ CQlzdGF0dXMgJiBERVBFVlRfU1RBVFVTX1RSQU5TRkVSX0FDVElWRSA/CiAJCQkJIiAoQWN0aXZl KSIgOiAiIChOb3QgQWN0aXZlKSIpOwogCiAJCS8qIENvbnRyb2wgRW5kcG9pbnRzICovCi0tIAoy LjE2LjEKCgo4PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKRnJvbSA3N2Y5ZDg0ZDc4NWMyZDA4OGU4MmM5MGI3 ZDNhZDg0NGNlNTlkNjY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBGZWxpcGUgQmFs YmkgPGZlbGlwZS5iYWxiaUBsaW51eC5pbnRlbC5jb20+CkRhdGU6IFdlZCwgMTEgQXByIDIwMTgg MTA6MzI6NTIgKzAzMDAKU3ViamVjdDogW1BBVENIIDIvM10gdXNiOiBkd2MzOiBnYWRnZXQ6IGRv bid0IGlzc3VlIEVuZCBUcmFuc2ZlciBpZiB3ZSBoYXZlCiBzdGFydGVkIHJlcXMKCkluIGNhc2Ug d2UgaGF2ZSBtYW55IHN0YXJ0ZWQgcmVxdWVzdHMgYW5kIG9uZSBvZiB0aGVtIGluIHRoZSBtaWRk bGUgaXMKY29tcGxldGVkIHdpdGggTWlzc2VkIElzb2MsIGxldCdzIG5vdCBFbmQgVHJhbnNmZXIg YXMgdGhhdCB3b3VsZApyZXN1bHQgaW4gdXMgbG9vc2luZyAocG9zc2libHkpIG1hbnkgbW9yZSBp bnRlcnZhbHMuCgpJbnN0ZWFkLCBsZXQncyBhbGxvdyB0aGUgY29udHJvbGxlciB0byBnbyB0aHJv dWdoIGl0cyBsaXN0IG9mIHN0YXJ0ZWQKcmVxdWVzdHMuCgpTaWduZWQtb2ZmLWJ5OiBGZWxpcGUg QmFsYmkgPGZlbGlwZS5iYWxiaUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy91c2IvZHdj My9nYWRnZXQuYyB8IDMgKystCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9nYWRnZXQuYyBiL2RyaXZl cnMvdXNiL2R3YzMvZ2FkZ2V0LmMKaW5kZXggZTA2MThhZmExNGNiLi45ZDRkYzhiZWQ2NDQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2R3YzMvZ2FkZ2V0LmMKKysrIGIvZHJpdmVycy91c2IvZHdj My9nYWRnZXQuYwpAQCAtMjM3MSw3ICsyMzcxLDggQEAgc3RhdGljIHZvaWQgZHdjM19nYWRnZXRf ZW5kcG9pbnRfdHJhbnNmZXJfaW5fcHJvZ3Jlc3Moc3RydWN0IGR3YzNfZXAgKmRlcCwKIAlpZiAo ZXZlbnQtPnN0YXR1cyAmIERFUEVWVF9TVEFUVVNfQlVTRVJSKQogCQlzdGF0dXMgPSAtRUNPTk5S RVNFVDsKIAotCWlmIChldmVudC0+c3RhdHVzICYgREVQRVZUX1NUQVRVU19NSVNTRURfSVNPQykg eworCWlmIChldmVudC0+c3RhdHVzICYgREVQRVZUX1NUQVRVU19NSVNTRURfSVNPQyAmJgorCQkJ bGlzdF9lbXB0eSgmZGVwLT5zdGFydGVkX2xpc3QpKSB7CiAJCXN0YXR1cyA9IC1FWERFVjsKIAkJ c3RvcCA9IHRydWU7CiAJfQotLSAKMi4xNi4xCgo4PC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKRnJvbSAwOWRl ZDI5NjJhYWYwZWJiYjQwZTNlNzE0N2Q1YWQ0NDg2YzA0NjAxIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQpGcm9tOiBGZWxpcGUgQmFsYmkgPGZlbGlwZS5iYWxiaUBsaW51eC5pbnRlbC5jb20+CkRh dGU6IFdlZCwgMTEgQXByIDIwMTggMTA6MzQ6MzQgKzAzMDAKU3ViamVjdDogW1BBVENIIDMvM10g dXNiOiBkd2MzOiBnYWRnZXQ6IGFsd2F5cyBzdGFydCBpc29jaHJvbm91cyBhbGlnbmVkIHRvCiBk ZXAtPmludGVydmFsCgpXZSB3aWxsICphbHdheXMqIHN0YXJ0IHRyYW5zZmVyIHRvIHRoZSBuZXh0 IHVGcmFtZSBudW1iZXIgYWxpZ25lZCB0bwpkZXAtPmludGVydmFsLgoKU2lnbmVkLW9mZi1ieTog RmVsaXBlIEJhbGJpIDxmZWxpcGUuYmFsYmlAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMv dXNiL2R3YzMvZ2FkZ2V0LmMgfCAxNCArKysrLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2Iv ZHdjMy9nYWRnZXQuYyBiL2RyaXZlcnMvdXNiL2R3YzMvZ2FkZ2V0LmMKaW5kZXggOWQ0ZGM4YmVk NjQ0Li45Y2Y4OWYzY2YyMDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2R3YzMvZ2FkZ2V0LmMK KysrIGIvZHJpdmVycy91c2IvZHdjMy9nYWRnZXQuYwpAQCAtMTIzMyw2ICsxMjMzLDggQEAgc3Rh dGljIGludCBfX2R3YzNfZ2FkZ2V0X2dldF9mcmFtZShzdHJ1Y3QgZHdjMyAqZHdjKQogCXJldHVy biBEV0MzX0RTVFNfU09GRk4ocmVnKTsKIH0KIAorI2RlZmluZSBEV0MzX0FMSUdOX0ZSQU1FKGQp CSgoKGQpLT5mcmFtZV9udW1iZXIgKyAoZCktPmludGVydmFsKSAmIH4oKGQpLT5pbnRlcnZhbCAt IDEpKQorCiBzdGF0aWMgdm9pZCBfX2R3YzNfZ2FkZ2V0X3N0YXJ0X2lzb2Moc3RydWN0IGR3YzNf ZXAgKmRlcCkKIHsKIAlpZiAobGlzdF9lbXB0eSgmZGVwLT5wZW5kaW5nX2xpc3QpKSB7CkBAIC0x MjQyLDExICsxMjQ0LDcgQEAgc3RhdGljIHZvaWQgX19kd2MzX2dhZGdldF9zdGFydF9pc29jKHN0 cnVjdCBkd2MzX2VwICpkZXApCiAJCXJldHVybjsKIAl9CiAKLQkvKgotCSAqIFNjaGVkdWxlIHRo ZSBmaXJzdCB0cmIgZm9yIG9uZSBpbnRlcnZhbCBpbiB0aGUgZnV0dXJlIG9yIGF0Ci0JICogbGVh c3QgNCBtaWNyb2ZyYW1lcy4KLQkgKi8KLQlkZXAtPmZyYW1lX251bWJlciArPSBtYXhfdCh1MzIs IDQsIGRlcC0+aW50ZXJ2YWwpOworCWRlcC0+ZnJhbWVfbnVtYmVyID0gRFdDM19BTElHTl9GUkFN RShkZXApOwogCV9fZHdjM19nYWRnZXRfa2lja190cmFuc2ZlcihkZXApOwogfQogCkBAIC0yMzUy LDExICsyMzUwLDcgQEAgc3RhdGljIHZvaWQgZHdjM19nYWRnZXRfZXBfY2xlYW51cF9jb21wbGV0 ZWRfcmVxdWVzdHMoc3RydWN0IGR3YzNfZXAgKmRlcCwKIHN0YXRpYyB2b2lkIGR3YzNfZ2FkZ2V0 X2VuZHBvaW50X2ZyYW1lX2Zyb21fZXZlbnQoc3RydWN0IGR3YzNfZXAgKmRlcCwKIAkJY29uc3Qg c3RydWN0IGR3YzNfZXZlbnRfZGVwZXZ0ICpldmVudCkKIHsKLQl1MzIgY3VyX3VmLCBtYXNrOwot Ci0JbWFzayA9IH4oZGVwLT5pbnRlcnZhbCAtIDEpOwotCWN1cl91ZiA9IGV2ZW50LT5wYXJhbWV0 ZXJzICYgbWFzazsKLQlkZXAtPmZyYW1lX251bWJlciA9IGN1cl91ZjsKKwlkZXAtPmZyYW1lX251 bWJlciA9IGV2ZW50LT5wYXJhbWV0ZXJzOwogfQogCiBzdGF0aWMgdm9pZCBkd2MzX2dhZGdldF9l bmRwb2ludF90cmFuc2Zlcl9pbl9wcm9ncmVzcyhzdHJ1Y3QgZHdjM19lcCAqZGVwLAo=