Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [2/5] USB: serial: clean up throttle handling From: Johan Hovold Message-Id: <20190425160540.10036-3-johan@kernel.org> Date: Thu, 25 Apr 2019 18:05:37 +0200 To: Alan Stern , Oliver Neukum , Greg Kroah-Hartman Cc: linux-usb@vger.kernel.org, Johan Hovold List-ID: Q2xlYW4gdXAgdGhlIHRocm90dGxlIGltcGxlbWVudGF0aW9uIGJ5IGRyb3BwaW5nIHRoZSByZWR1 bmRhbnQKdGhyb3R0bGVfcmVxIGZsYWcgd2hpY2ggd2FzIGEgcmVtbmFudCBmcm9tIGJhY2sgd2hl biB0aGVyZSB3YXMgb25seSBhCnNpbmdsZSByZWFkIFVSQi4KCkFsc28gY29udmVydCB0aGUgdGhy b3R0bGVkIGZsYWcgdG8gYW4gYXRvbWljIGJpdCBmbGFnLgoKU2lnbmVkLW9mZi1ieTogSm9oYW4g SG92b2xkIDxqb2hhbkBrZXJuZWwub3JnPgotLS0KIGRyaXZlcnMvdXNiL3NlcmlhbC9nZW5lcmlj LmMgfCAzNCArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL2xpbnV4 L3VzYi9zZXJpYWwuaCAgIHwgIDUgKy0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9zZXJpYWwvZ2Vu ZXJpYy5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2dlbmVyaWMuYwppbmRleCAwZmZmNDk2OGVhMWIu LjY3Y2VmM2VmMWU1ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Ivc2VyaWFsL2dlbmVyaWMuYwor KysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvZ2VuZXJpYy5jCkBAIC0xMDYsMTIgKzEwNiw4IEBAIHZv aWQgdXNiX3NlcmlhbF9nZW5lcmljX2RlcmVnaXN0ZXIodm9pZCkKIGludCB1c2Jfc2VyaWFsX2dl bmVyaWNfb3BlbihzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LCBzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0 ICpwb3J0KQogewogCWludCByZXN1bHQgPSAwOwotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlz cGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCXBvcnQtPnRocm90dGxlZCA9 IDA7Ci0JcG9ydC0+dGhyb3R0bGVfcmVxID0gMDsKLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZw b3J0LT5sb2NrLCBmbGFncyk7CisJY2xlYXJfYml0KFVTQl9TRVJJQUxfVEhST1RUTEVELCAmcG9y dC0+ZmxhZ3MpOwogCiAJaWYgKHBvcnQtPmJ1bGtfaW5fc2l6ZSkKIAkJcmVzdWx0ID0gdXNiX3Nl cmlhbF9nZW5lcmljX3N1Ym1pdF9yZWFkX3VyYnMocG9ydCwgR0ZQX0tFUk5FTCk7CkBAIC0zNzUs NyArMzcxLDYgQEAgdm9pZCB1c2Jfc2VyaWFsX2dlbmVyaWNfcmVhZF9idWxrX2NhbGxiYWNrKHN0 cnVjdCB1cmIgKnVyYikKIHsKIAlzdHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0ID0gdXJiLT5j b250ZXh0OwogCXVuc2lnbmVkIGNoYXIgKmRhdGEgPSB1cmItPnRyYW5zZmVyX2J1ZmZlcjsKLQl1 bnNpZ25lZCBsb25nIGZsYWdzOwogCWJvb2wgc3RvcHBlZCA9IGZhbHNlOwogCWludCBzdGF0dXMg PSB1cmItPnN0YXR1czsKIAlpbnQgaTsKQEAgLTQyOSwxNSArNDI0LDEwIEBAIHZvaWQgdXNiX3Nl cmlhbF9nZW5lcmljX3JlYWRfYnVsa19jYWxsYmFjayhzdHJ1Y3QgdXJiICp1cmIpCiAJaWYgKHN0 b3BwZWQpCiAJCXJldHVybjsKIAotCS8qIFRocm90dGxlIHRoZSBkZXZpY2UgaWYgcmVxdWVzdGVk IGJ5IHR0eSAqLwotCXNwaW5fbG9ja19pcnFzYXZlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0JcG9y dC0+dGhyb3R0bGVkID0gcG9ydC0+dGhyb3R0bGVfcmVxOwotCWlmICghcG9ydC0+dGhyb3R0bGVk KSB7Ci0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnBvcnQtPmxvY2ssIGZsYWdzKTsKLQkJdXNi X3NlcmlhbF9nZW5lcmljX3N1Ym1pdF9yZWFkX3VyYihwb3J0LCBpLCBHRlBfQVRPTUlDKTsKLQl9 IGVsc2UgewotCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwb3J0LT5sb2NrLCBmbGFncyk7Ci0J fQorCWlmICh0ZXN0X2JpdChVU0JfU0VSSUFMX1RIUk9UVExFRCwgJnBvcnQtPmZsYWdzKSkKKwkJ cmV0dXJuOworCisJdXNiX3NlcmlhbF9nZW5lcmljX3N1Ym1pdF9yZWFkX3VyYihwb3J0LCBpLCBH RlBfQVRPTUlDKTsKIH0KIEVYUE9SVF9TWU1CT0xfR1BMKHVzYl9zZXJpYWxfZ2VuZXJpY19yZWFk X2J1bGtfY2FsbGJhY2spOwogCkBAIC00ODUsMjMgKzQ3NSwxNiBAQCBFWFBPUlRfU1lNQk9MX0dQ TCh1c2Jfc2VyaWFsX2dlbmVyaWNfd3JpdGVfYnVsa19jYWxsYmFjayk7CiB2b2lkIHVzYl9zZXJp YWxfZ2VuZXJpY190aHJvdHRsZShzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5KQogewogCXN0cnVjdCB1 c2Jfc2VyaWFsX3BvcnQgKnBvcnQgPSB0dHktPmRyaXZlcl9kYXRhOwotCXVuc2lnbmVkIGxvbmcg ZmxhZ3M7CiAKLQlzcGluX2xvY2tfaXJxc2F2ZSgmcG9ydC0+bG9jaywgZmxhZ3MpOwotCXBvcnQt PnRocm90dGxlX3JlcSA9IDE7Ci0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcG9ydC0+bG9jaywg ZmxhZ3MpOworCXNldF9iaXQoVVNCX1NFUklBTF9USFJPVFRMRUQsICZwb3J0LT5mbGFncyk7CiB9 CiBFWFBPUlRfU1lNQk9MX0dQTCh1c2Jfc2VyaWFsX2dlbmVyaWNfdGhyb3R0bGUpOwogCiB2b2lk IHVzYl9zZXJpYWxfZ2VuZXJpY191bnRocm90dGxlKHN0cnVjdCB0dHlfc3RydWN0ICp0dHkpCiB7 CiAJc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCA9IHR0eS0+ZHJpdmVyX2RhdGE7Ci0JaW50 IHdhc190aHJvdHRsZWQ7CiAKLQlzcGluX2xvY2tfaXJxKCZwb3J0LT5sb2NrKTsKLQl3YXNfdGhy b3R0bGVkID0gcG9ydC0+dGhyb3R0bGVkOwotCXBvcnQtPnRocm90dGxlZCA9IHBvcnQtPnRocm90 dGxlX3JlcSA9IDA7Ci0Jc3Bpbl91bmxvY2tfaXJxKCZwb3J0LT5sb2NrKTsKKwljbGVhcl9iaXQo VVNCX1NFUklBTF9USFJPVFRMRUQsICZwb3J0LT5mbGFncyk7CiAKIAkvKgogCSAqIE1hdGNoZXMg dGhlIHNtcF9tYl9fYWZ0ZXJfYXRvbWljKCkgaW4KQEAgLTUwOSw4ICs0OTIsNyBAQCB2b2lkIHVz Yl9zZXJpYWxfZ2VuZXJpY191bnRocm90dGxlKHN0cnVjdCB0dHlfc3RydWN0ICp0dHkpCiAJICov CiAJc21wX21iKCk7CiAKLQlpZiAod2FzX3Rocm90dGxlZCkKLQkJdXNiX3NlcmlhbF9nZW5lcmlj X3N1Ym1pdF9yZWFkX3VyYnMocG9ydCwgR0ZQX0tFUk5FTCk7CisJdXNiX3NlcmlhbF9nZW5lcmlj X3N1Ym1pdF9yZWFkX3VyYnMocG9ydCwgR0ZQX0tFUk5FTCk7CiB9CiBFWFBPUlRfU1lNQk9MX0dQ TCh1c2Jfc2VyaWFsX2dlbmVyaWNfdW50aHJvdHRsZSk7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUv bGludXgvdXNiL3NlcmlhbC5oIGIvaW5jbHVkZS9saW51eC91c2Ivc2VyaWFsLmgKaW5kZXggMWMx OWY3N2VkNTQxLi5kOGJkYWI4ZjNjMjYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvdXNiL3Nl cmlhbC5oCisrKyBiL2luY2x1ZGUvbGludXgvdXNiL3NlcmlhbC5oCkBAIC0yOCw2ICsyOCw3IEBA CiAKIC8qIFVTQiBzZXJpYWwgZmxhZ3MgKi8KICNkZWZpbmUgVVNCX1NFUklBTF9XUklURV9CVVNZ CTAKKyNkZWZpbmUgVVNCX1NFUklBTF9USFJPVFRMRUQJMQogCiAvKioKICAqIHVzYl9zZXJpYWxf cG9ydDogc3RydWN0dXJlIGZvciB0aGUgc3BlY2lmaWMgcG9ydHMgb2YgYSBkZXZpY2UuCkBAIC02 Nyw4ICs2OCw2IEBACiAgKiBAZmxhZ3M6IHVzYiBzZXJpYWwgcG9ydCBmbGFncwogICogQHdyaXRl X3dhaXQ6IGEgd2FpdF9xdWV1ZV9oZWFkX3QgdXNlZCBieSB0aGUgcG9ydC4KICAqIEB3b3JrOiB3 b3JrIHF1ZXVlIGVudHJ5IGZvciB0aGUgbGluZSBkaXNjaXBsaW5lIHdha2luZyB1cC4KLSAqIEB0 aHJvdHRsZWQ6IG5vbnplcm8gaWYgdGhlIHJlYWQgdXJiIGlzIGluYWN0aXZlIHRvIHRocm90dGxl IHRoZSBkZXZpY2UKLSAqIEB0aHJvdHRsZV9yZXE6IG5vbnplcm8gaWYgdGhlIHR0eSB3YW50cyB0 byB0aHJvdHRsZSB1cwogICogQGRldjogcG9pbnRlciB0byB0aGUgc2VyaWFsIGRldmljZQogICoK ICAqIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgYnkgdGhlIHVzYi1zZXJpYWwgY29yZSBhbmQgZHJp dmVycyBmb3IgdGhlIHNwZWNpZmljCkBAIC0xMTUsOCArMTE0LDYgQEAgc3RydWN0IHVzYl9zZXJp YWxfcG9ydCB7CiAJdW5zaWduZWQgbG9uZwkJZmxhZ3M7CiAJd2FpdF9xdWV1ZV9oZWFkX3QJd3Jp dGVfd2FpdDsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QJd29yazsKLQljaGFyCQkJdGhyb3R0bGVkOwot CWNoYXIJCQl0aHJvdHRsZV9yZXE7CiAJdW5zaWduZWQgbG9uZwkJc3lzcnE7IC8qIHN5c3JxIHRp bWVvdXQgKi8KIAlzdHJ1Y3QgZGV2aWNlCQlkZXY7CiB9Owo=