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: [4/4] usb: dwc3: gadget: check if dep->frame_number is still valid From: Felipe Balbi Message-Id: <87efbuseas.fsf@linux.intel.com> Date: Fri, 09 Nov 2018 13:03:55 +0200 To: Thinh Nguyen Thinh Nguyen , Linux USB List-ID: SGkgYWdhaW4sCgpGZWxpcGUgQmFsYmkgPGZlbGlwZS5iYWxiaUBsaW51eC5pbnRlbC5jb20+IHdy aXRlczoKPiBJbiB0aGUgY2FzZSBvZiBpbnRlcnZhbCBvZiAxbXMsIGl0IHdpbGwgc3RhcnQgb24g dGhlIG5leHQgaW50ZXJ2YWwuCj4+IGZyYW1lX251bWJlciArIG1heCg0LCBpbnRlcnZhbCkgd2ls bCBzdGFydCBhdCBsZWFzdCA0IHVmcmFtZXMgaW4gdGhlIGZ1dHVyZS4KPj4KPj4gSW4gYW55IGNh c2UsIHdoYXQgYWJvdXQgaW1tZWRpYXRlbHkgcmV0cnkgdGhlIFNUQVJUX1RSQU5TRkVSIGNvbW1h bmQKPj4gd2l0aCBhIG5ldyBmcmFtZV9udW1iZXIgKyAoaW50ZXJ2YWwqcmV0cnkpIHNob3VsZCBp dCBmYWlsIHdpdGgKPj4gYnVzLWV4cGlyeT8gWW91IGNhbiBzZXQgdGhlIG51bWJlciBvZiByZXRy aWVzIHRvIG1heWJlIDUgdGltZXMuIFRoaXMKPj4gc2hvdWxkIHJlbW92ZSB0aGUgbmVlZCB0byBk byB0aW1lIHN0YW1waW5nLgo+Cj4gVGhhdCBzZWVtcyBsaWtlIGEgZ29vZCBpZGVhLiBTb21ldGhp bmcgbGlrZSBiZWxvdz8gKG9uIHRvcCBvZiAkc3ViamVjdCkKPgo+IG1vZGlmaWVkICAgZHJpdmVy cy91c2IvZHdjMy9jb3JlLmgKPiBAQCAtMzcsNiArMzcsNyBAQAo+ICAjZGVmaW5lIERXQzNfRVAw X1NFVFVQX1NJWkUJNTEyCj4gICNkZWZpbmUgRFdDM19FTkRQT0lOVFNfTlVNCTMyCj4gICNkZWZp bmUgRFdDM19YSENJX1JFU09VUkNFU19OVU0JMgo+ICsjZGVmaW5lIERXQzNfSVNPQ19NQVhfUkVU UklFUwk1Cj4gIAo+ICAjZGVmaW5lIERXQzNfU0NSQVRDSEJVRl9TSVpFCTQwOTYJLyogZWFjaCBi dWZmZXIgaXMgYXNzdW1lZCB0byBiZSA0S2lCICovCj4gICNkZWZpbmUgRFdDM19FVkVOVF9CVUZG RVJTX1NJWkUJNDA5Ngo+IG1vZGlmaWVkICAgZHJpdmVycy91c2IvZHdjMy9nYWRnZXQuYwo+IEBA IC0xMjcxLDIwICsxMjcxLDI5IEBAIHN0YXRpYyBpbnQgX19kd2MzX2dhZGdldF9zdGFydF9pc29j KHN0cnVjdCBkd2MzX2VwICpkZXApCj4gIAl1NjQgY3VycmVudF90aW1lc3RhbXA7Cj4gIAl1NjQg ZGlmZl90aW1lc3RhbXA7Cj4gIAl1MzIgZWxhcHNlZF9mcmFtZXM7Cj4gKwlpbnQgcmV0cmllczsK PiArCWludCBkZWx0YSA9IDEKPiArCWludCByZXQ7Cj4gIAo+ICAJaWYgKGxpc3RfZW1wdHkoJmRl cC0+cGVuZGluZ19saXN0KSkgewo+ICAJCWRlcC0+ZmxhZ3MgfD0gRFdDM19FUF9QRU5ESU5HX1JF UVVFU1Q7Cj4gIAkJcmV0dXJuIC1FQUdBSU47Cj4gIAl9Cj4gIAo+IC0JY3VycmVudF90aW1lc3Rh bXAgPSBrdGltZV9nZXRfbnMoKTsKPiAtCWRpZmZfdGltZXN0YW1wID0gY3VycmVudF90aW1lc3Rh bXAgLSBkZXAtPmZyYW1lX3RpbWVzdGFtcDsKPiAtCWVsYXBzZWRfZnJhbWVzID0gRElWX1JPVU5E X1VQX1VMTChkaWZmX3RpbWVzdGFtcCwgMTI1MDAwKTsKPiArCWZvciAoaSA9IDA7IGkgPCBEV0Mz X0lTT0NfTUFYX1JFVFJJRVM7IGkrKykgewo+ICsJCWN1cnJlbnRfdGltZXN0YW1wID0ga3RpbWVf Z2V0X25zKCk7Cj4gKwkJZGlmZl90aW1lc3RhbXAgPSBjdXJyZW50X3RpbWVzdGFtcCAtIGRlcC0+ ZnJhbWVfdGltZXN0YW1wOwo+ICsJCWVsYXBzZWRfZnJhbWVzID0gRElWX1JPVU5EX1VQX1VMTChk aWZmX3RpbWVzdGFtcCwgMTI1MDAwKTsKPiAgCj4gLQlkZXAtPmZyYW1lX251bWJlciArPSBlbGFw c2VkX2ZyYW1lczsKPiAtCWRlcC0+ZnJhbWVfbnVtYmVyID0gRFdDM19BTElHTl9GUkFNRShkZXAp Owo+ICsJCWRlcC0+ZnJhbWVfbnVtYmVyICs9IGVsYXBzZWRfZnJhbWVzICsgKGRlbHRhICogaSk7 Cgp0aGUgb3RoZXIgcG9zc2liaWxpdHkgaXMgdGhhdCB3ZSBjYW4gY2FsbCBEV0MzX0FMSUdOX0ZS QU1FKCkgbiB0aW1lcwpzaW5jZSB0aGF0IHdpbGwgcHV0IHRoZSB0cmFuc2ZlciBvbiB0aGUgZm9s bG93aW5nIGludGVydmFsLiBUaGF0IHdvdWxkCmxvb2sgbGlrZSBzbzoKCm1vZGlmaWVkICAgZHJp dmVycy91c2IvZHdjMy9jb3JlLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNkZWZpbmUgRFdDM19FUDBf U0VUVVBfU0laRQk1MTIKICNkZWZpbmUgRFdDM19FTkRQT0lOVFNfTlVNCTMyCiAjZGVmaW5lIERX QzNfWEhDSV9SRVNPVVJDRVNfTlVNCTIKKyNkZWZpbmUgRFdDM19JU09DX01BWF9SRVRSSUVTCTUK IAogI2RlZmluZSBEV0MzX1NDUkFUQ0hCVUZfU0laRQk0MDk2CS8qIGVhY2ggYnVmZmVyIGlzIGFz c3VtZWQgdG8gYmUgNEtpQiAqLwogI2RlZmluZSBEV0MzX0VWRU5UX0JVRkZFUlNfU0laRQk0MDk2 Cm1vZGlmaWVkICAgZHJpdmVycy91c2IvZHdjMy9nYWRnZXQuYwpAQCAtMjcsNyArMjcsNyBAQAog I2luY2x1ZGUgImdhZGdldC5oIgogI2luY2x1ZGUgImlvLmgiCiAKLSNkZWZpbmUgRFdDM19BTElH Tl9GUkFNRShkKQkoKChkKS0+ZnJhbWVfbnVtYmVyICsgKGQpLT5pbnRlcnZhbCkgXAorI2RlZmlu ZSBEV0MzX0FMSUdOX0ZSQU1FKGQsIG4pCSgoKGQpLT5mcmFtZV9udW1iZXIgKyAoKGQpLT5pbnRl cnZhbCAqIChuKSkpIFwKIAkJCQkJJiB+KChkKS0+aW50ZXJ2YWwgLSAxKSkKIAogLyoqCkBAIC0x MjcxLDIwICsxMjcxLDI4IEBAIHN0YXRpYyBpbnQgX19kd2MzX2dhZGdldF9zdGFydF9pc29jKHN0 cnVjdCBkd2MzX2VwICpkZXApCiAJdTY0IGN1cnJlbnRfdGltZXN0YW1wOwogCXU2NCBkaWZmX3Rp bWVzdGFtcDsKIAl1MzIgZWxhcHNlZF9mcmFtZXM7CisJaW50IHJldHJpZXM7CisJaW50IHJldDsK IAogCWlmIChsaXN0X2VtcHR5KCZkZXAtPnBlbmRpbmdfbGlzdCkpIHsKIAkJZGVwLT5mbGFncyB8 PSBEV0MzX0VQX1BFTkRJTkdfUkVRVUVTVDsKIAkJcmV0dXJuIC1FQUdBSU47CiAJfQogCi0JY3Vy cmVudF90aW1lc3RhbXAgPSBrdGltZV9nZXRfbnMoKTsKLQlkaWZmX3RpbWVzdGFtcCA9IGN1cnJl bnRfdGltZXN0YW1wIC0gZGVwLT5mcmFtZV90aW1lc3RhbXA7Ci0JZWxhcHNlZF9mcmFtZXMgPSBE SVZfUk9VTkRfVVBfVUxMKGRpZmZfdGltZXN0YW1wLCAxMjUwMDApOworCWZvciAoaSA9IDA7IGkg PCBEV0MzX0lTT0NfTUFYX1JFVFJJRVM7IGkrKykgeworCQljdXJyZW50X3RpbWVzdGFtcCA9IGt0 aW1lX2dldF9ucygpOworCQlkaWZmX3RpbWVzdGFtcCA9IGN1cnJlbnRfdGltZXN0YW1wIC0gZGVw LT5mcmFtZV90aW1lc3RhbXA7CisJCWVsYXBzZWRfZnJhbWVzID0gRElWX1JPVU5EX1VQX1VMTChk aWZmX3RpbWVzdGFtcCwgMTI1MDAwKTsKIAotCWRlcC0+ZnJhbWVfbnVtYmVyICs9IGVsYXBzZWRf ZnJhbWVzOwotCWRlcC0+ZnJhbWVfbnVtYmVyID0gRFdDM19BTElHTl9GUkFNRShkZXApOworCQlk ZXAtPmZyYW1lX251bWJlciArPSBlbGFwc2VkX2ZyYW1lczsKKwkJZGVwLT5mcmFtZV9udW1iZXIg PSBEV0MzX0FMSUdOX0ZSQU1FKGRlcCwgaSk7CiAKLQlyZXR1cm4gX19kd2MzX2dhZGdldF9raWNr X3RyYW5zZmVyKGRlcCk7CisJCXJldCA9IF9fZHdjM19nYWRnZXRfa2lja190cmFuc2ZlcihkZXAp OworCQlpZiAocmV0ICE9IC1FQUdBSU4pCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmV0Owog fQogCiBzdGF0aWMgaW50IF9fZHdjM19nYWRnZXRfZXBfcXVldWUoc3RydWN0IGR3YzNfZXAgKmRl cCwgc3RydWN0IGR3YzNfcmVxdWVzdCAqcmVxKQo=