Re: [PATCH 1/1] usb: dwc3: gadget: fix IRQ storm on invalid event buffer count

Thinh Nguyen <[email protected]> Tue, 4 Aug 2026 23:04:52 +0000
Newsgroups org.kernel.vger.linux-usb,org.kernel.vger.linux-kernel,org.kernel.vger.stable
Message-ID <anJqxCgXNF4WN1Qe@vbox>
T24gTW9uLCBKdWwgMjcsIDIwMjYsIEppYXppIExpdSB3cm90ZToNCj4gV2hlbiBkd2MzX2NoZWNr
X2V2ZW50X2J1ZigpIHJlYWRzIGEgR0VWTlRDT1VOVCB2YWx1ZSBleGNlZWRpbmcgdGhlDQo+IGV2
ZW50IGJ1ZmZlciBsZW5ndGgsIGNvbW1pdCA2M2NjZDI2Y2QxZjYgKCJ1c2I6IGR3YzM6IGdhZGdl
dDogY2hlY2sNCj4gdGhhdCBldmVudCBjb3VudCBkb2VzIG5vdCBleGNlZWQgZXZlbnQgYnVmZmVy
IGxlbmd0aCIpIHJldHVybnMgSVJRX05PTkUNCj4gd2l0aG91dCB3cml0aW5nIGJhY2sgR0VWTlRD
T1VOVC4gU2luY2UgdGhlIERXQzMgaW50ZXJydXB0IGlzDQo+IGxldmVsLXRyaWdnZXJlZCwgdGhl
IHVuY2xlYXJlZCBJUlEgc291cmNlIGtlZXBzIHRoZSBsaW5lIGFzc2VydGVkLA0KPiBjYXVzaW5n
IGEgdGlnaHQgSVJRIHN0b3JtIHRoYXQgYWNjdW11bGF0ZXMgOTksOTAwIHVuaGFuZGxlZCBpbnRl
cnJ1cHRzDQo+IGFuZCB0cmlnZ2VycyBzcHVyaW91cy5jOjE4NCBCVUcgLT4ga2VybmVsIHBhbmlj
Lg0KPiANCj4gVGhlIHJlc3VsdGluZyBjYWxsIHN0YWNrOg0KPiAgIF9fcmVwb3J0X2JhZF9pcnEr
MHhhYy8weGM4DQo+ICAgbm90ZV9pbnRlcnJ1cHQrMHgzNDAvMHg0NjgNCj4gICBoYW5kbGVfaXJx
X2V2ZW50KzB4YWMvMHhjMA0KPiAgIGhhbmRsZV9mYXN0ZW9pX2lycSsweDEyMC8weDIyOA0KPiAg
IGdpY19oYW5kbGVfaXJxKzB4NjgvMHgxMDgNCj4gICAuLi4NCj4gICBrZXJuZWwgQlVHIGF0IGtl
cm5lbC9pcnEvc3B1cmlvdXMuYzoxODQNCj4gDQo+IFRvIHJlcHJvZHVjZSwgd3JpdGUgYSBib2d1
cyB2YWx1ZSBleGNlZWRpbmcgdGhlIGV2ZW50IGJ1ZmZlciBsZW5ndGgNCj4gZGlyZWN0bHkgdG8g
dGhlIEdFVk5UQ09VTlQgcmVnaXN0ZXI6DQo+IA0KPiAgIGRldm1lbSA8RFdDM19CQVNFICsgMHhj
NDBjPiA0IDB4MTAwNA0KPiANCj4gV3JpdGUgdGhlIGJvZ3VzIGNvdW50IGJhY2sgdG8gR0VWTlRD
T1VOVCB0byBjbGVhciB0aGUgSVJRIHNvdXJjZSwNCj4gY29uc2lzdGVudCB3aXRoIHRoZSBzdGFs
ZSBldmVudCBjbGVhcmluZyBwYXR0ZXJuIGluDQo+IGR3YzNfZXZlbnRfYnVmZmVyc19zZXR1cCgp
LCBhbmQgc2NoZWR1bGUgYSBzb2Z0IGRpc2Nvbm5lY3QgdmlhDQo+IHNvZnRjb25fd29yayB0byBy
ZWNvdmVyIHRoZSBjb250cm9sbGVyIHN0YXRlLg0KPiANCj4gRml4ZXM6IDYzY2NkMjZjZDFmNiAo
InVzYjogZHdjMzogZ2FkZ2V0OiBjaGVjayB0aGF0IGV2ZW50IGNvdW50IGRvZXMgbm90IGV4Y2Vl
ZCBldmVudCBidWZmZXIgbGVuZ3RoIikNCj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcNCj4g
U2lnbmVkLW9mZi1ieTogSmlhemkgTGl1IDxsaXVqaWF6aUBhbWF6b24uY29tPg0KPiAtLS0NCj4g
IGRyaXZlcnMvdXNiL2R3YzMvY29yZS5oICAgfCAgMiArKw0KPiAgZHJpdmVycy91c2IvZHdjMy9n
YWRnZXQuYyB8IDIzICsrKysrKysrKysrKysrKysrKysrKystDQo+ICAyIGZpbGVzIGNoYW5nZWQs
IDI0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2
ZXJzL3VzYi9kd2MzL2NvcmUuaCBiL2RyaXZlcnMvdXNiL2R3YzMvY29yZS5oDQo+IGluZGV4IDYw
OGRhZWI3ZWYxMC4uMDg4MWVkN2U5NTZlIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2Mz
L2NvcmUuaA0KPiArKysgYi9kcml2ZXJzL3VzYi9kd2MzL2NvcmUuaA0KPiBAQCAtMTAwNCw2ICsx
MDA0LDcgQEAgc3RydWN0IGR3YzNfZ2x1ZV9vcHMgew0KPiAgLyoqDQo+ICAgKiBzdHJ1Y3QgZHdj
MyAtIHJlcHJlc2VudGF0aW9uIG9mIG91ciBjb250cm9sbGVyDQo+ICAgKiBAZHJkX3dvcms6IHdv
cmtxdWV1ZSB1c2VkIGZvciByb2xlIHN3YXBwaW5nDQo+ICsgKiBAc29mdGNvbl93b3JrOiB3b3Jr
cXVldWUgdXNlZCBmb3Igc29mdCBjb25uZWN0L2Rpc2Nvbm5lY3QgcmVjb3ZlcnkNCg0KUmVuYW1l
IHRoaXMgdG8gZXJyX3JlY292ZXJ5X3dvcmsgYW5kIHVwZGF0ZSB0aGUgZGVzY3JpcHRpb24uDQoN
Cj4gICAqIEBlcDBfdHJiOiB0cmIgd2hpY2ggaXMgdXNlZCBmb3IgdGhlIGN0cmxfcmVxDQo+ICAg
KiBAYm91bmNlOiBhZGRyZXNzIG9mIGJvdW5jZSBidWZmZXINCj4gICAqIEBzZXR1cF9idWY6IHVz
ZWQgd2hpbGUgcHJlY2Vzc2luZyBTVEQgVVNCIHJlcXVlc3RzDQo+IEBAIC0xMTg5LDYgKzExOTAs
NyBAQCBzdHJ1Y3QgZHdjM19nbHVlX29wcyB7DQo+ICAgKi8NCj4gIHN0cnVjdCBkd2MzIHsNCj4g
IAlzdHJ1Y3Qgd29ya19zdHJ1Y3QJZHJkX3dvcms7DQo+ICsJc3RydWN0IHdvcmtfc3RydWN0CXNv
ZnRjb25fd29yazsNCj4gIAlzdHJ1Y3QgZHdjM190cmIJCSplcDBfdHJiOw0KPiAgCXZvaWQJCQkq
Ym91bmNlOw0KPiAgCXU4CQkJKnNldHVwX2J1ZjsNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi
L2R3YzMvZ2FkZ2V0LmMgYi9kcml2ZXJzL3VzYi9kd2MzL2dhZGdldC5jDQo+IGluZGV4IGZhMGYx
NmZmYWZlZi4uOWIyNDI1OTI3MmE0IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3VzYi9kd2MzL2dh
ZGdldC5jDQo+ICsrKyBiL2RyaXZlcnMvdXNiL2R3YzMvZ2FkZ2V0LmMNCj4gQEAgLTQ2NjksNyAr
NDY2OSwxOCBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgZHdjM19jaGVja19ldmVudF9idWYoc3RydWN0
IGR3YzNfZXZlbnRfYnVmZmVyICpldnQpDQo+ICAJaWYgKGNvdW50ID4gZXZ0LT5sZW5ndGgpIHsN
Cj4gIAkJZGV2X2Vycl9yYXRlbGltaXRlZChkd2MtPmRldiwgImludmFsaWQgY291bnQoJXUpID4g
ZXZ0LT5sZW5ndGgoJXUpXG4iLA0KPiAgCQkJY291bnQsIGV2dC0+bGVuZ3RoKTsNCg0KV2UgcHJv
YmFibHkgbm8gbG9uZ2VyIG5lZWQgdGhlIGRldl9lcnIgdG8gYmUgcmF0ZWxpbWl0ZWQuDQoNCj4g
LQkJcmV0dXJuIElSUV9OT05FOw0KPiArCQkvKg0KPiArCQkgKiBUaGUgRFdDMyBpbnRlcnJ1cHQg
aXMgbGV2ZWwtdHJpZ2dlcmVkLiBSZXR1cm5pbmcgSVJRX05PTkUNCg0KVGhpcyBjb21tZW50IGlz
IG91dCBvZiBjb250ZXh0IG5vdyB0aGF0IGl0J3Mgbm8gbG9uZ2VyIElSUV9OT05FLiBNb3N0IG9m
DQp0aGUgZGV0YWlscyBoZXJlIGFyZSBvbmx5IHJlbGV2YW50IGlmIHdlIHJldHVybiBJUlFfTk9O
RS4gV2hhdCB3ZSBuZWVkDQp0byBkb2N1bWVudCBoZXJlIHdoeSB0aGlzIGlzIGEgZmF0YWwgZXJy
b3IgYW5kIHJlcXVpcmUgcmVpbml0aWFsaXppbmcNCnRoZSBjb250cm9sbGVyLiBEb2N1bWVudCB0
aGF0IHRoZSBkcml2ZXIgYW5kIHRoZSBjb250cm9sbGVyIGFyZSBvdXQgb2YNCnN5bmMgdG8gd2hp
Y2ggZXZlbnQgaXMgY29uc3VtZWQuDQoNCj4gKwkJICogd2l0aG91dCBjbGVhcmluZyB0aGUgSVJR
IHNvdXJjZSBsZWF2ZXMgdGhlIGxpbmUgYXNzZXJ0ZWQsDQo+ICsJCSAqIGNhdXNpbmcgYSB0aWdo
dCBJUlEgc3Rvcm0gdGhhdCB0cmlnZ2VycyBzcHVyaW91cy5jOjE4NCBCVUcuDQo+ICsJCSAqIFdy
aXRlIHRoZSBib2d1cyBjb3VudCBiYWNrIHRvIEdFVk5UQ09VTlQgdG8gY2xlYXIgdGhlIHNvdXJj
ZSwNCj4gKwkJICogY29uc2lzdGVudCB3aXRoIHRoZSBzdGFsZSBldmVudCBjbGVhcmluZyBpbg0K
PiArCQkgKiBkd2MzX2V2ZW50X2J1ZmZlcnNfc2V0dXAoKSwgdGhlbiBzY2hlZHVsZSBhIHNvZnQg
ZGlzY29ubmVjdA0KPiArCQkgKiB0byByZWNvdmVyIHRoZSBjb250cm9sbGVyIHN0YXRlLg0KPiAr
CQkgKi8NCj4gKwkJZHdjM193cml0ZWwoZHdjLT5yZWdzLCBEV0MzX0dFVk5UQ09VTlQoMCksIGNv
dW50KTsNCj4gKwkJc2NoZWR1bGVfd29yaygmZHdjLT5zb2Z0Y29uX3dvcmspOw0KPiArCQlyZXR1
cm4gSVJRX0hBTkRMRUQ7DQo+ICAJfQ0KPiAgDQo+ICAJZXZ0LT5jb3VudCA9IGNvdW50Ow0KPiBA
QCAtNDcyOSw2ICs0NzQwLDE0IEBAIHN0YXRpYyB2b2lkIGR3Y19nYWRnZXRfcmVsZWFzZShzdHJ1
Y3QgZGV2aWNlICpkZXYpDQo+ICAJa2ZyZWUoZ2FkZ2V0KTsNCj4gIH0NCj4gIA0KPiArc3RhdGlj
IHZvaWQgZHdjM19zb2Z0Y29uX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0KPiArew0K
PiArCXN0cnVjdCBkd2MzICpkd2MgPSBjb250YWluZXJfb2Yod29yaywgc3RydWN0IGR3YzMsIHNv
ZnRjb25fd29yayk7DQo+ICsNCj4gKwlkZXZfZXJyKGR3Yy0+ZGV2LCAiZXZlbnQgYnVmZmVyIGVy
cm9yOiBwZXJmb3JtaW5nIHNvZnQgZGlzY29ubmVjdFxuIik7DQoNClJlbW92ZSB0aGlzIGRldl9l
cnIoKS4gVGhlIGVycm9yIG1lc3NhZ2Ugc2hvdWxkIGJlIGF0IHRoZSBjYWxsZXIgd2hlcmUNCnRo
ZSBzcGVjaWZpYyBmYWlsdXJlIGNvbmRpdGlvbiBpcyBrbm93biwgbm90IHRoZSBnZW5lcmljIHdv
cmsgaGFuZGxlci4NCg0KPiArCWR3YzNfZ2FkZ2V0X3NvZnRfZGlzY29ubmVjdChkd2MpOw0KDQpD
aGVjayBhbmQgZm9sbG93IHRoZSBkd2MzX2dhZGdldF9zdXNwZW5kKCkgYW5kIGR3YzNfZ2FkZ2V0
X3Jlc3VtZSgpDQpsb2dpYyBmb3Igc29mdC1kaXNjb25uZWN0IGFuZCBzb2Z0LWNvbm5lY3QgdG8g
bWFrZSBzdXJlIHRoZSBpbnRlcm5hbA0Kc3RhdGVzIGFyZSB1cGRhdGVkIGFuZCBub3RpZnkgdGhl
IGdhZGdldCBkcml2ZXJzIGNvcnJlY3RseS4NCg0KUGVyaGFwcyB5b3UgY2FuIGFsc28gcmVjb3Zl
ciB3aXRoIHNvZnQtY29ubmVjdCBhZnRlciBzb2Z0LWRpc2Nvbm5lY3QuDQoNCj4gK30NCj4gKw0K
PiAgLyoqDQo+ICAgKiBkd2MzX2dhZGdldF9pbml0IC0gaW5pdGlhbGl6ZXMgZ2FkZ2V0IHJlbGF0
ZWQgcmVnaXN0ZXJzDQo+ICAgKiBAZHdjOiBwb2ludGVyIHRvIG91ciBjb250cm9sbGVyIGNvbnRl
eHQgc3RydWN0dXJlDQo+IEBAIC00NzcyLDYgKzQ3OTEsNyBAQCBpbnQgZHdjM19nYWRnZXRfaW5p
dChzdHJ1Y3QgZHdjMyAqZHdjKQ0KPiAgCX0NCj4gIA0KPiAgCWluaXRfY29tcGxldGlvbigmZHdj
LT5lcDBfaW5fc2V0dXApOw0KPiArCUlOSVRfV09SSygmZHdjLT5zb2Z0Y29uX3dvcmssIGR3YzNf
c29mdGNvbl93b3JrKTsNCj4gIAlkd2MtPmdhZGdldCA9IGt6YWxsb2Nfb2JqKHN0cnVjdCB1c2Jf
Z2FkZ2V0KTsNCj4gIAlpZiAoIWR3Yy0+Z2FkZ2V0KSB7DQo+ICAJCXJldCA9IC1FTk9NRU07DQo+
IEBAIC00ODY4LDYgKzQ4ODgsNyBAQCB2b2lkIGR3YzNfZ2FkZ2V0X2V4aXQoc3RydWN0IGR3YzMg
KmR3YykNCj4gIAlpZiAoIWR3Yy0+Z2FkZ2V0KQ0KPiAgCQlyZXR1cm47DQo+ICANCj4gKwljYW5j
ZWxfd29ya19zeW5jKCZkd2MtPnNvZnRjb25fd29yayk7DQo+ICAJZHdjM19lbmFibGVfc3VzcGh5
KGR3YywgdHJ1ZSk7DQo+ICAJdXNiX2RlbF9nYWRnZXQoZHdjLT5nYWRnZXQpOw0KPiAgCWR3YzNf
Z2FkZ2V0X2ZyZWVfZW5kcG9pbnRzKGR3Yyk7DQo+IC0tIA0KPiAyLjUwLjEgKEFwcGxlIEdpdC0x
NTUpDQo+IA0KDQpUaGFua3MsDQpUaGluaA==