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: <87h8gqseh7.fsf@linux.intel.com> Date: Fri, 09 Nov 2018 13:00:04 +0200 To: Thinh Nguyen Thinh Nguyen , Linux USB List-ID: SGksCgpUaGluaCBOZ3V5ZW4gPHRoaW5oLm5ndXllbkBzeW5vcHN5cy5jb20+IHdyaXRlczoKPj4+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9nYWRnZXQuYyBiL2RyaXZlcnMvdXNiL2R3 YzMvZ2FkZ2V0LmMKPj4+PiBpbmRleCBkOGM3YWQwYzIyZTguLjAwZmUwMWEwMTk3NyAxMDA2NDQK Pj4+PiAtLS0gYS9kcml2ZXJzL3VzYi9kd2MzL2dhZGdldC5jCj4+Pj4gKysrIGIvZHJpdmVycy91 c2IvZHdjMy9nYWRnZXQuYwo+Pj4+IEBAIC0xMjY4LDEyICsxMjY4LDIyIEBAIHN0YXRpYyBpbnQg X19kd2MzX2dhZGdldF9nZXRfZnJhbWUoc3RydWN0IGR3YzMgKmR3YykKPj4+PiAgCj4+Pj4gIHN0 YXRpYyBpbnQgX19kd2MzX2dhZGdldF9zdGFydF9pc29jKHN0cnVjdCBkd2MzX2VwICpkZXApCj4+ Pj4gIHsKPj4+PiArCXU2NCBjdXJyZW50X3RpbWVzdGFtcDsKPj4+PiArCXU2NCBkaWZmX3RpbWVz dGFtcDsKPj4+PiArCXUzMiBlbGFwc2VkX2ZyYW1lczsKPj4+PiArCj4+Pj4gIAlpZiAobGlzdF9l bXB0eSgmZGVwLT5wZW5kaW5nX2xpc3QpKSB7Cj4+Pj4gIAkJZGVwLT5mbGFncyB8PSBEV0MzX0VQ X1BFTkRJTkdfUkVRVUVTVDsKPj4+PiAgCQlyZXR1cm4gLUVBR0FJTjsKPj4+PiAgCX0KPj4+PiAg Cj4+Pj4gKwljdXJyZW50X3RpbWVzdGFtcCA9IGt0aW1lX2dldF9ucygpOwo+Pj4+ICsJZGlmZl90 aW1lc3RhbXAgPSBjdXJyZW50X3RpbWVzdGFtcCAtIGRlcC0+ZnJhbWVfdGltZXN0YW1wOwo+Pj4+ ICsJZWxhcHNlZF9mcmFtZXMgPSBESVZfUk9VTkRfVVBfVUxMKGRpZmZfdGltZXN0YW1wLCAxMjUw MDApOwo+Pj4+ICsKPj4+PiArCWRlcC0+ZnJhbWVfbnVtYmVyICs9IGVsYXBzZWRfZnJhbWVzOwo+ Pj4+ICAJZGVwLT5mcmFtZV9udW1iZXIgPSBEV0MzX0FMSUdOX0ZSQU1FKGRlcCk7Cj4+Pj4gKwo+ Pj4+ICAJcmV0dXJuIF9fZHdjM19nYWRnZXRfa2lja190cmFuc2ZlcihkZXApOwo+Pj4+ICB9Cj4+ Pj4gIAo+Pj4+IEBAIC0yMzIwLDYgKzIzMzAsNyBAQCBzdGF0aWMgdm9pZCBkd2MzX2dhZGdldF9l bmRwb2ludF9mcmFtZV9mcm9tX2V2ZW50KHN0cnVjdCBkd2MzX2VwICpkZXAsCj4+Pj4gIAkJY29u c3Qgc3RydWN0IGR3YzNfZXZlbnRfZGVwZXZ0ICpldmVudCkKPj4+PiAgewo+Pj4+ICAJZGVwLT5m cmFtZV9udW1iZXIgPSBldmVudC0+cGFyYW1ldGVyczsKPj4+PiArCWRlcC0+ZnJhbWVfdGltZXN0 YW1wID0ga3RpbWVfZ2V0X25zKCk7Cj4+Pj4gIH0KPj4+PiAgCj4+Pj4gIHN0YXRpYyB2b2lkIGR3 YzNfZ2FkZ2V0X2VuZHBvaW50X3RyYW5zZmVyX2luX3Byb2dyZXNzKHN0cnVjdCBkd2MzX2VwICpk ZXAsCj4+PiBUaGlzIG1heSBub3QgYmUgZW5vdWdoLiBUaGUgZGVwLT5mcmFtZV90aW1lc3RhbXAg bWF5IG5vdCBjb3JyZXNwb25kIHRvCj4+PiB0aGUgZnJhbWVfbnVtYmVyIGZyb20gWGZlck5vdFJl YWR5IGV2ZW50LiAgV2hlbiB0aGVyZSdzIHN5c3RlbSBsYXRlbmN5Cj4+PiAod2hpY2ggaXMgcG9z c2libGUgd2hlbiB0aGlzIGZhaWx1cmUgaGFwcGVucyksIHRoZSB0aW1lIHRoZSBkcml2ZXIKPj4+ IGhhbmRsZSB0aGUgZXZlbnQgbWF5IGJlIGEgZmV3IHVmcmFtZXMgcGFzc2VkIHRoZSB0aW1lIHRo ZSBjb250cm9sbGVyJ3MKPj4+IFhmZXJJblByb2dyZXNzIHVmcmFtZSBwYXJhbWV0ZXIuCj4+Pgo+ Pj4gUmF0aGVyIHRoYW4gc3RhcnRpbmcgdGhlIGlzb2MgdHJhbnNmZXIgaW1tZWRpYXRlbHkgb24g dGhlIG5leHQgaW50ZXJ2YWwuCj4+PiBIb3cgYWJvdXQgc3RhcnRpbmcgdGhlIHRyYW5zZmVyIHdp dGggc29tZSBtaW5pbXVtIGJ1ZmZlciB1ZnJhbWVzIGp1c3QKPj4+IGxpa2UgYmVmb3JlPyAoZS5n LiBmcmFtZV9udW1iZXIgKyBtYXgoNCwgaW50ZXJ2YWwpKQo+PiBUaGUgcHJvYmxlbSB3aXRoIHRo aXMgaXMgY2FzZXMgd2l0aCBpbnRlcnZhbCBvZiAxbXMuIFRoaXMgd2lsbCByZXN1bHQgaW4KPj4g YSA0bXMgZGVsYXkuIEkgcmVhbGx5IHdhbnQgdG8gc3RhcnQgdHJhbnNmZXIgYXMgc29vbiBhcyBw b3NzaWJsZSBhbmQgdGhlCj4+IHRpbWVzdGFtcCB0cmljayBzZWVtcyB0byBiZSB0aGUgYmVzdCBp ZGVhIHNvIGZhciwgd2l0aG91dCByZXNvcnRpbmcgdG8KPj4gNCBpbnRlcnZhbHMgZGVsYXkuIFdl IGRvLCBob3dldmVyLCBoYXZlIHRoZSBwb3NzaWJpbGl0eSB0aGF0IHRoaXMgd2lsbAo+PiBzdGFy dCAyIGludGVydmFscyBpbiB0aGUgZnV0dXJlIGJlY2F1c2Ugb2YgdGhlIHVzYWdlIG9mCj4+IERJ Vl9ST1VORF9VUF9VTEwoKSBhbmQgYmVjYXVzZSBvZiBob3cgRFdDM19BTElHTl9GUkFNRSgpIGlz IGltcGxlbWVudGVkLgo+Pgo+PiBJIHVuZGVyc3RhbmQgd2hhdCB5b3UncmUgc2F5aW5nLCB0aG91 Z2gsIGJ1dCBpdCBzZWVtcyBsaWtlIHdlIGRvbid0Cj4+IGhhdmUgdG8gYXZvaWQgdGhhdCBjYXNl IGNvbXBsZXRlbHkuIFdlIGNhbiBvbmx5IG1ha2UgaXQgbGVzcyBsaWtlbHkuCj4+Cj4KPiBJbiB0 aGUgY2FzZSBvZiBpbnRlcnZhbCBvZiAxbXMsIGl0IHdpbGwgc3RhcnQgb24gdGhlIG5leHQgaW50 ZXJ2YWwuCj4gZnJhbWVfbnVtYmVyICsgbWF4KDQsIGludGVydmFsKSB3aWxsIHN0YXJ0IGF0IGxl YXN0IDQgdWZyYW1lcyBpbiB0aGUgZnV0dXJlLgo+Cj4gSW4gYW55IGNhc2UsIHdoYXQgYWJvdXQg aW1tZWRpYXRlbHkgcmV0cnkgdGhlIFNUQVJUX1RSQU5TRkVSIGNvbW1hbmQKPiB3aXRoIGEgbmV3 IGZyYW1lX251bWJlciArIChpbnRlcnZhbCpyZXRyeSkgc2hvdWxkIGl0IGZhaWwgd2l0aAo+IGJ1 cy1leHBpcnk/IFlvdSBjYW4gc2V0IHRoZSBudW1iZXIgb2YgcmV0cmllcyB0byBtYXliZSA1IHRp bWVzLiBUaGlzCj4gc2hvdWxkIHJlbW92ZSB0aGUgbmVlZCB0byBkbyB0aW1lIHN0YW1waW5nLgoK VGhhdCBzZWVtcyBsaWtlIGEgZ29vZCBpZGVhLiBTb21ldGhpbmcgbGlrZSBiZWxvdz8gKG9uIHRv cCBvZiAkc3ViamVjdCkKCm1vZGlmaWVkICAgZHJpdmVycy91c2IvZHdjMy9jb3JlLmgKQEAgLTM3 LDYgKzM3LDcgQEAKICNkZWZpbmUgRFdDM19FUDBfU0VUVVBfU0laRQk1MTIKICNkZWZpbmUgRFdD M19FTkRQT0lOVFNfTlVNCTMyCiAjZGVmaW5lIERXQzNfWEhDSV9SRVNPVVJDRVNfTlVNCTIKKyNk ZWZpbmUgRFdDM19JU09DX01BWF9SRVRSSUVTCTUKIAogI2RlZmluZSBEV0MzX1NDUkFUQ0hCVUZf U0laRQk0MDk2CS8qIGVhY2ggYnVmZmVyIGlzIGFzc3VtZWQgdG8gYmUgNEtpQiAqLwogI2RlZmlu ZSBEV0MzX0VWRU5UX0JVRkZFUlNfU0laRQk0MDk2Cm1vZGlmaWVkICAgZHJpdmVycy91c2IvZHdj My9nYWRnZXQuYwpAQCAtMTI3MSwyMCArMTI3MSwyOSBAQCBzdGF0aWMgaW50IF9fZHdjM19nYWRn ZXRfc3RhcnRfaXNvYyhzdHJ1Y3QgZHdjM19lcCAqZGVwKQogCXU2NCBjdXJyZW50X3RpbWVzdGFt cDsKIAl1NjQgZGlmZl90aW1lc3RhbXA7CiAJdTMyIGVsYXBzZWRfZnJhbWVzOworCWludCByZXRy aWVzOworCWludCBkZWx0YSA9IDEKKwlpbnQgcmV0OwogCiAJaWYgKGxpc3RfZW1wdHkoJmRlcC0+ cGVuZGluZ19saXN0KSkgewogCQlkZXAtPmZsYWdzIHw9IERXQzNfRVBfUEVORElOR19SRVFVRVNU OwogCQlyZXR1cm4gLUVBR0FJTjsKIAl9CiAKLQljdXJyZW50X3RpbWVzdGFtcCA9IGt0aW1lX2dl dF9ucygpOwotCWRpZmZfdGltZXN0YW1wID0gY3VycmVudF90aW1lc3RhbXAgLSBkZXAtPmZyYW1l X3RpbWVzdGFtcDsKLQllbGFwc2VkX2ZyYW1lcyA9IERJVl9ST1VORF9VUF9VTEwoZGlmZl90aW1l c3RhbXAsIDEyNTAwMCk7CisJZm9yIChpID0gMDsgaSA8IERXQzNfSVNPQ19NQVhfUkVUUklFUzsg aSsrKSB7CisJCWN1cnJlbnRfdGltZXN0YW1wID0ga3RpbWVfZ2V0X25zKCk7CisJCWRpZmZfdGlt ZXN0YW1wID0gY3VycmVudF90aW1lc3RhbXAgLSBkZXAtPmZyYW1lX3RpbWVzdGFtcDsKKwkJZWxh cHNlZF9mcmFtZXMgPSBESVZfUk9VTkRfVVBfVUxMKGRpZmZfdGltZXN0YW1wLCAxMjUwMDApOwog Ci0JZGVwLT5mcmFtZV9udW1iZXIgKz0gZWxhcHNlZF9mcmFtZXM7Ci0JZGVwLT5mcmFtZV9udW1i ZXIgPSBEV0MzX0FMSUdOX0ZSQU1FKGRlcCk7CisJCWRlcC0+ZnJhbWVfbnVtYmVyICs9IGVsYXBz ZWRfZnJhbWVzICsgKGRlbHRhICogaSk7CisJCWRlcC0+ZnJhbWVfbnVtYmVyID0gRFdDM19BTElH Tl9GUkFNRShkZXApOwogCi0JcmV0dXJuIF9fZHdjM19nYWRnZXRfa2lja190cmFuc2ZlcihkZXAp OworCQlyZXQgPSBfX2R3YzNfZ2FkZ2V0X2tpY2tfdHJhbnNmZXIoZGVwKTsKKwkJaWYgKHJldCAh PSAtRUFHQUlOKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGlu dCBfX2R3YzNfZ2FkZ2V0X2VwX3F1ZXVlKHN0cnVjdCBkd2MzX2VwICpkZXAsIHN0cnVjdCBkd2Mz X3JlcXVlc3QgKnJlcSkK