Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [5/5] USB: cdc-acm: clean up throttle handling From: Johan Hovold Message-Id: <20190425160540.10036-6-johan@kernel.org> Date: Thu, 25 Apr 2019 18:05:40 +0200 To: Alan Stern , Oliver Neukum , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, Johan Hovold List-ID: Q2xlYW4gdXAgdGhlIHRocm90dGxlIGltcGxlbWVudGF0aW9uIGJ5IGRyb3BwaW5nIHRoZSByZWR1 bmRhbnQKdGhyb3R0bGVfcmVxIGZsYWcgd2hpY2ggd2FzIGEgcmVtbmFudCBmcm9tIGJhY2sgd2hl biBVU0Igc2VyaWFsIGhhZCBvbmx5CmEgc2luZ2xlIHJlYWQgVVJCLCBzb21ldGhpbmcgd2hpY2gg d2FzIGxhdGVyIGNhcnJpZWQgb3ZlciB0byBjZGMtYWNtLgoKQWxzbyBjb252ZXJ0IHRoZSB0aHJv dHRsZWQgZmxhZyB0byBhbiBhdG9taWMgYml0IGZsYWcuCgpTaWduZWQtb2ZmLWJ5OiBKb2hhbiBI b3ZvbGQgPGpvaGFuQGtlcm5lbC5vcmc+Ci0tLQogZHJpdmVycy91c2IvY2xhc3MvY2RjLWFjbS5j IHwgMzMgKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL3VzYi9jbGFz cy9jZGMtYWNtLmggfCAgMyArLS0KIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAy NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9jbGFzcy9jZGMtYWNtLmMg Yi9kcml2ZXJzL3VzYi9jbGFzcy9jZGMtYWNtLmMKaW5kZXggYzAzYWE4NTUwOTgwLi4xODNiNDE3 NTNjOTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2NsYXNzL2NkYy1hY20uYworKysgYi9kcml2 ZXJzL3VzYi9jbGFzcy9jZGMtYWNtLmMKQEAgLTQ2OCw3ICs0NjgsNiBAQCBzdGF0aWMgdm9pZCBh Y21fcmVhZF9idWxrX2NhbGxiYWNrKHN0cnVjdCB1cmIgKnVyYikKIHsKIAlzdHJ1Y3QgYWNtX3Ji ICpyYiA9IHVyYi0+Y29udGV4dDsKIAlzdHJ1Y3QgYWNtICphY20gPSByYi0+aW5zdGFuY2U7Ci0J dW5zaWduZWQgbG9uZyBmbGFnczsKIAlpbnQgc3RhdHVzID0gdXJiLT5zdGF0dXM7CiAJYm9vbCBz dG9wcGVkID0gZmFsc2U7CiAJYm9vbCBzdGFsbGVkID0gZmFsc2U7CkBAIC01MjUsMTUgKzUyNCwx MCBAQCBzdGF0aWMgdm9pZCBhY21fcmVhZF9idWxrX2NhbGxiYWNrKHN0cnVjdCB1cmIgKnVyYikK IAkJcmV0dXJuOwogCX0KIAotCS8qIHRocm90dGxlIGRldmljZSBpZiByZXF1ZXN0ZWQgYnkgdHR5 ICovCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmFjbS0+cmVhZF9sb2NrLCBmbGFncyk7Ci0JYWNtLT50 aHJvdHRsZWQgPSBhY20tPnRocm90dGxlX3JlcTsKLQlpZiAoIWFjbS0+dGhyb3R0bGVkKSB7Ci0J CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFjbS0+cmVhZF9sb2NrLCBmbGFncyk7Ci0JCWFjbV9z dWJtaXRfcmVhZF91cmIoYWNtLCByYi0+aW5kZXgsIEdGUF9BVE9NSUMpOwotCX0gZWxzZSB7Ci0J CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmFjbS0+cmVhZF9sb2NrLCBmbGFncyk7Ci0JfQorCWlm ICh0ZXN0X2JpdChBQ01fVEhST1RUTEVELCAmYWNtLT5mbGFncykpCisJCXJldHVybjsKKworCWFj bV9zdWJtaXRfcmVhZF91cmIoYWNtLCByYi0+aW5kZXgsIEdGUF9BVE9NSUMpOwogfQogCiAvKiBk YXRhIGludGVyZmFjZSB3cm90ZSB0aG9zZSBvdXRnb2luZyBieXRlcyAqLwpAQCAtNjcwLDEwICs2 NjQsNyBAQCBzdGF0aWMgaW50IGFjbV9wb3J0X2FjdGl2YXRlKHN0cnVjdCB0dHlfcG9ydCAqcG9y dCwgc3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSkKIAkvKgogCSAqIFVudGhyb3R0bGUgZGV2aWNlIGlu IGNhc2UgdGhlIFRUWSB3YXMgY2xvc2VkIHdoaWxlIHRocm90dGxlZC4KIAkgKi8KLQlzcGluX2xv Y2tfaXJxKCZhY20tPnJlYWRfbG9jayk7Ci0JYWNtLT50aHJvdHRsZWQgPSAwOwotCWFjbS0+dGhy b3R0bGVfcmVxID0gMDsKLQlzcGluX3VubG9ja19pcnEoJmFjbS0+cmVhZF9sb2NrKTsKKwljbGVh cl9iaXQoQUNNX1RIUk9UVExFRCwgJmFjbS0+ZmxhZ3MpOwogCiAJcmV0dmFsID0gYWNtX3N1Ym1p dF9yZWFkX3VyYnMoYWNtLCBHRlBfS0VSTkVMKTsKIAlpZiAocmV0dmFsKQpAQCAtODQxLDI3ICs4 MzIsMTkgQEAgc3RhdGljIHZvaWQgYWNtX3R0eV90aHJvdHRsZShzdHJ1Y3QgdHR5X3N0cnVjdCAq dHR5KQogewogCXN0cnVjdCBhY20gKmFjbSA9IHR0eS0+ZHJpdmVyX2RhdGE7CiAKLQlzcGluX2xv Y2tfaXJxKCZhY20tPnJlYWRfbG9jayk7Ci0JYWNtLT50aHJvdHRsZV9yZXEgPSAxOwotCXNwaW5f dW5sb2NrX2lycSgmYWNtLT5yZWFkX2xvY2spOworCXNldF9iaXQoQUNNX1RIUk9UVExFRCwgJmFj bS0+ZmxhZ3MpOwogfQogCiBzdGF0aWMgdm9pZCBhY21fdHR5X3VudGhyb3R0bGUoc3RydWN0IHR0 eV9zdHJ1Y3QgKnR0eSkKIHsKIAlzdHJ1Y3QgYWNtICphY20gPSB0dHktPmRyaXZlcl9kYXRhOwot CXVuc2lnbmVkIGludCB3YXNfdGhyb3R0bGVkOwogCi0Jc3Bpbl9sb2NrX2lycSgmYWNtLT5yZWFk X2xvY2spOwotCXdhc190aHJvdHRsZWQgPSBhY20tPnRocm90dGxlZDsKLQlhY20tPnRocm90dGxl ZCA9IDA7Ci0JYWNtLT50aHJvdHRsZV9yZXEgPSAwOwotCXNwaW5fdW5sb2NrX2lycSgmYWNtLT5y ZWFkX2xvY2spOworCWNsZWFyX2JpdChBQ01fVEhST1RUTEVELCAmYWNtLT5mbGFncyk7CiAKIAkv KiBNYXRjaGVzIHRoZSBzbXBfbWJfX2FmdGVyX2F0b21pYygpIGluIGFjbV9yZWFkX2J1bGtfY2Fs bGJhY2soKS4gKi8KIAlzbXBfbWIoKTsKIAotCWlmICh3YXNfdGhyb3R0bGVkKQotCQlhY21fc3Vi bWl0X3JlYWRfdXJicyhhY20sIEdGUF9LRVJORUwpOworCWFjbV9zdWJtaXRfcmVhZF91cmJzKGFj bSwgR0ZQX0tFUk5FTCk7CiB9CiAKIHN0YXRpYyBpbnQgYWNtX3R0eV9icmVha19jdGwoc3RydWN0 IHR0eV9zdHJ1Y3QgKnR0eSwgaW50IHN0YXRlKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY2xh c3MvY2RjLWFjbS5oIGIvZHJpdmVycy91c2IvY2xhc3MvY2RjLWFjbS5oCmluZGV4IDUxNWFhZDA4 NDdlZS4uY2ExYzAyNjM4MmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9jbGFzcy9jZGMtYWNt LmgKKysrIGIvZHJpdmVycy91c2IvY2xhc3MvY2RjLWFjbS5oCkBAIC0xMDgsNiArMTA4LDcgQEAg c3RydWN0IGFjbSB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKICMJCWRlZmluZSBFVkVOVF9UVFlf V0FLRVVQCTAKICMJCWRlZmluZSBFVkVOVF9SWF9TVEFMTAkxCisjCQlkZWZpbmUgQUNNX1RIUk9U VExFRAkyCiAJc3RydWN0IHVzYl9jZGNfbGluZV9jb2RpbmcgbGluZTsJCS8qIGJpdHMsIHN0b3As IHBhcml0eSAqLwogCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwkJCS8qIHdvcmsgcXVldWUgZW50 cnkgZm9yIGxpbmUgZGlzY2lwbGluZSB3YWtpbmcgdXAgKi8KIAl1bnNpZ25lZCBpbnQgY3RybGlu OwkJCQkvKiBpbnB1dCBjb250cm9sIGxpbmVzIChEQ0QsIERTUiwgUkksIGJyZWFrLCBvdmVycnVu cykgKi8KQEAgLTEyMiw4ICsxMjMsNiBAQCBzdHJ1Y3QgYWNtIHsKIAl1bnNpZ25lZCBpbnQgY3Ry bF9jYXBzOwkJCQkvKiBjb250cm9sIGNhcGFiaWxpdGllcyBmcm9tIHRoZSBjbGFzcyBzcGVjaWZp YyBoZWFkZXIgKi8KIAl1bnNpZ25lZCBpbnQgc3VzcF9jb3VudDsJCQkvKiBudW1iZXIgb2Ygc3Vz cGVuZGVkIGludGVyZmFjZXMgKi8KIAl1bnNpZ25lZCBpbnQgY29tYmluZWRfaW50ZXJmYWNlczox OwkJLyogY29udHJvbCBhbmQgZGF0YSBjb2xsYXBzZWQgKi8KLQl1bnNpZ25lZCBpbnQgdGhyb3R0 bGVkOjE7CQkJLyogYWN0dWFsbHkgdGhyb3R0bGVkICovCi0JdW5zaWduZWQgaW50IHRocm90dGxl X3JlcToxOwkJCS8qIHRocm90dGxlIHJlcXVlc3RlZCAqLwogCXU4IGJJbnRlcnZhbDsKIAlzdHJ1 Y3QgdXNiX2FuY2hvciBkZWxheWVkOwkJCS8qIHdyaXRlcyBxdWV1ZWQgZm9yIGEgZGV2aWNlIGFi b3V0IHRvIGJlIHdva2VuICovCiAJdW5zaWduZWQgbG9uZyBxdWlya3M7Cg==