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: drivers: usb: serial: ftdi_sio.c error flagging From: David Mosberger Message-Id: <20190308163017.5F7567002BC@egauge.net> Date: Fri, 8 Mar 2019 09:30:17 -0700 (MST) To: johan@kernel.org Cc: linux-serial@vger.kernel.orglinux-serial@vger.kernel.org, linux-usb@vger.kernel.org List-ID: Sm9oYW4sCgpTb21lIG9mIG91ciBjdXN0b21lcnMgYXJlIGV4cGVyaWVuY2luZyBjb21tdW5pY2F0 aW9uIGlzc3VlcyBvbiBSUzQ4NQp0aGF0IGNvdWxkIGJlIHNvbHZlZCBxdWl0ZSBuaWNlbHkgYnkg dHVybmluZyBvbiB0ZXJtaW9zLlBBUk1SSy4gIEknZApiZSBoYXBweSB0byBnbyBpbnRvIGRldGFp bHMsIGJ1dCBJIGRvbid0IHRoaW5rIHRoZXkncmUgbmVjZXNzYXJ5IGZvcgp0aGUgZGlzY3Vzc2lv biBiZWxvdy4KClRoZSBwcm9ibGVtIHdlIGVuY291bnRlcmVkIGlzIHRoYXQgdGhlIGVycm9yIGZs YWdnaW5nIHByb2R1Y2VkIGJ5CmZ0ZGlfc2lvLmMgb3Zlci1tYXJrcyBlcnJvcnMgdG8gdGhlIHBv aW50IHRoYXQgUEFSTVJLIGJlY29tZXMgdW51c2FibGUKKGluIG91ciBjYXNlcywgZXZlcnl0aGlu ZyBlbmRzIHVwIGJlaW5nIGZsYWdnZWQgYXMgZXJyb3JzLCBldmVuIHRoZQphY3R1YWwsIGdvb2Qg ZGF0YSkuCgpUaGUgaXNzdWUgaW4gcGFydGljdWxhciBpcyB0aGF0IHRoZSBkcml2ZXIgbWFya3Mg KmFsbCogY2hhcmFjdGVycwpyZWNlaXZlZCBpbiBhIHNpbmdsZSBVU0IgcGFja2V0IHdpdGggYW4g ZXJyb3IgZmxhZyBiYXNlZCBvbiB3aGV0aGVyIGEKQlJFQUssIGZyYW1lIGVycm9yLCBvciBwYXJp dHkgZXJyb3IgY29uZGl0aW9uIGlzIHJlcG9ydGVkIGJ5IHRoYXQgVVNCCnBhY2tldC4gIEluIGFj dHVhbGl0eSwgdGhlIEZUREkgY2hpcCdzIGVycm9yIGNvbmRpdGlvbiBzZWVtcyB0byBhcHBseQp0 byB0aGUgbGFzdCBieXRlIGluIHRoZSByZWNlaXZlZCBwYWNrZXQgKEkgdGVzdGVkIHdpdGggYW4g RlQyMzBYCmNoaXApLiAgVW5mb3J0dW5hdGVseSwgaXQncyBtb3JlIGNvbXBsaWNhdGVkIHRoYW4g dGhhdC4gIEkgd2FzIHVuYWJsZQp0byBmaW5kIGFueSB1c2VmdWwgZG9jdW1lbnRhdGlvbiBvbiB0 aGUgVVNCIHBhY2tldHMgdGhlIEZUREkgY2hpcHMKZ2VuZXJhdGUsIGJ1dCBmcm9tIHRyaWFsIGFu ZCBlcnJvciwgdGhlIEJSRUFLIGNvbmRpdGlvbiBoYW5kbGluZyBzZWVtcwp0byB3b3JrIHNvbWV0 aGluZyBsaWtlIHRoaXM6CgoJV2hlbiBhIGJyZWFrIGNvbmRpdGlvbiBpcyByZXBvcnRlZCAoRlRE SV9SU19CSSBpcyBzZXQpLCB0aGUKCWxhc3QgYnl0ZSByZWNlaXZlZCBNQVkgYmUgYSBCUkVBSy4g IFRvIGNvbmZpcm0sIHdhaXQgZm9yIHRoZQoJbmV4dCBzdGF0dXMgcGFja2V0LiAgSUYgdGhhdCBz dGF0dXMgcGFja2V0IGhhcyBubyBkYXRhIEFORAoJRlRESV9SU19CSSBpcyBzdGlsbCBzZXQsIHRo ZW4gdGhlIHByZXZpb3VzIGNoYXJhY3RlciB3YXMKCWluZGVlZCBhIEJSRUFLLiAgT3RoZXJ3aXNl LCB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIHdhcyBhCglub3JtYWwgZGF0YSBieXRlLgoKVGhpcyBz ZWVtcyByYXRoZXIgYnl6YW50aW5lLCBidXQgaW4gbXkgdGVzdGluZywgaXQncyBiZWVuIHRoZSBv bmx5CmFsZ29yaXRobSB0aGF0IHdhcyBhYmxlIHRvIGFjY3VyYXRlbHkgaWRlbnRpZnkgQlJFQUtz LgoKSSBhdHRhY2hlZCBzb21lIGNvZGUgdGhhdCB3b3JrZWQgZm9yIHRoZSB0ZXN0IGNhc2VzIEkg dHJpZWQuICBPZgpjb3Vyc2UsIEknbSBub3Qgb3Zlcmx5IGNvbmZpZGVudCB0aGF0IHRoaXMgd2ls bCB3b3JrIGluIGFsbCBjYXNlcy4KCkFzIGZvciBwYXJpdHkgZXJyb3JzOiBJIGhhdmUgbm90IGJl ZW4gYWJsZSB0byBmaWd1cmUgb3V0IGhvdyB0byBtYXJrCkFMTCBwYXJpdHkgZXJyb3JzIGNoYXJh Y3RlcnMgd2l0aG91dCBhbHNvIHNvbWV0aW1lcyBhY2NpZGVudGFsbHkKbWFya2luZyBjb3JyZWN0 bHkgcmVjZWl2ZWQgYnl0ZXMgYXMgZXJyb25lb3VzLgoKTXkgc2Vuc2UgaXMgdGhhdCB0aGUgRlRE SSBjaGlwcyBzaW1wbHkgY2FuJ3QgcmVsaWFibHkgZmxhZyBhbGwgZXJyb3IKY2hhcmFjdGVycyAo YW5kIG9ubHkgZXJyb3IgY2hhcmFjdGVycykgYW5kIHdlJ3JlIHByb2JhYmx5IG5vdCBnb2luZyB0 bwp1c2UgUEFSTVJLIHRvIHRyeSB0byBoYW5kbGUgdGhlIGNvbW11bmljYXRpb25zIGlzc3VlIG1l bnRpb25lZCBhdCB0aGUKb3V0c2V0LCBzbyBJJ20gb24gdGhlIGZlbmNlIHdoZXRoZXIgaXMgd29y dGh3aGlsZSB0byBhcHBseSBhIHBhdGNoCmFsb25nIHRoZSBsaW5lcyBvZiB0aGUgYmVsb3cuICBI b3dldmVyLCBJJ2Qgc3VnZ2VzdCB0aGF0IGF0IGxlYXN0IGEKY29tbWVudCBiZSBhZGRlZCBpbiB0 aGUgZHJpdmVyIG1ha2luZyBpdCBjbGVhciB0aGF0IHRoZSBlcnJvciBmbGFnZ2luZwppcyBub3Qg YWNjdXJhdGUgYXMgaW1wbGVtZW50ZWQgYW5kIHRoYXQgaXQgd2lsbCBtYXJrIHRvbyBtYW55CmNo YXJhY3RlcnMgYXMgZXJyb25lb3VzLCBidXQgdGhhdCwgcGVyaGFwcywgaXQncyB0aGUgYmVzdCB0 aGF0IGNhbiBiZQpkb25lLgoKVGhvdWdodHM/CgogIC0tZGF2aWQKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9mdGRpX3Npby5j CmluZGV4IDJlMmY3MzYzODRhYi4uYWNhMjYxMzIyNWYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Vz Yi9zZXJpYWwvZnRkaV9zaW8uYworKysgYi9kcml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYwpA QCAtNjUsNiArNjUsOCBAQCBzdHJ1Y3QgZnRkaV9wcml2YXRlIHsKIAlpbnQgZmxhZ3M7CQkvKiBz b21lIEFTWU5DX3h4eHggZmxhZ3MgYXJlIHN1cHBvcnRlZCAqLwogCXVuc2lnbmVkIGxvbmcgbGFz dF9kdHJfcnRzOwkvKiBzYXZlZCBtb2RlbSBjb250cm9sIG91dHB1dHMgKi8KIAljaGFyIHByZXZf c3RhdHVzOyAgICAgICAgLyogVXNlZCBmb3IgVElPQ01JV0FJVCAqLworCWNoYXIgcHJldl9lcnJz OworCWNoYXIgaGVsZDsKIAljaGFyIHRyYW5zbWl0X2VtcHR5OwkvKiBJZiB0cmFuc21pdHRlciBp cyBlbXB0eSBvciBub3QgKi8KIAlfX3UxNiBpbnRlcmZhY2U7CS8qIEZUMjIzMkMsIEZUMjIzMkgg b3IgRlQ0MjMySCBwb3J0IGludGVyZmFjZQogCQkJCSAgICgwIGZvciBGVDIzMi8yNDUpICovCkBA IC0yMDQ1LDYgKzIwNDcsNyBAQCBzdGF0aWMgaW50IGZ0ZGlfcHJvY2Vzc19wYWNrZXQoc3RydWN0 IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwKIAlpbnQgaTsKIAljaGFyIHN0YXR1czsKIAljaGFyIGZs YWc7CisJY2hhciBlcnJzOwogCWNoYXIgKmNoOwogCiAJaWYgKGxlbiA8IDIpIHsKQEAgLTIwODYs NiArMjA4OSwyMSBAQCBzdGF0aWMgaW50IGZ0ZGlfcHJvY2Vzc19wYWNrZXQoc3RydWN0IHVzYl9z ZXJpYWxfcG9ydCAqcG9ydCwKIAllbHNlCiAJCXByaXYtPnRyYW5zbWl0X2VtcHR5ID0gMDsKIAor CWlmIChwcml2LT5wcmV2X2VycnMpIHsKKwkJZXJycyA9IHByaXYtPnByZXZfZXJycyAmIHBhY2tl dFsxXTsKKwkJZmxhZyA9IFRUWV9OT1JNQUw7CisJCWlmICgobGVuIDw9IDIpICYmIChlcnJzICYg RlRESV9SU19CSSkpIHsKKwkJCXByaW50aygiQlJFQUtcbiIpOworCQkJZmxhZyA9IFRUWV9CUkVB SzsKKwkJCXBvcnQtPmljb3VudC5icmsrKzsKKwkJCXVzYl9zZXJpYWxfaGFuZGxlX2JyZWFrKHBv cnQpOworCQl9CisJCXByaW50aygiJXM6IGZsYWc9JWQgZGF0YT0lMDJ4XG4iLCBfX2Z1bmNfXywg ZmxhZywgcHJpdi0+aGVsZCk7CisJCXR0eV9pbnNlcnRfZmxpcF9jaGFyKCZwb3J0LT5wb3J0LCBw cml2LT5oZWxkLCBmbGFnKTsKKwkJKytwb3J0LT5pY291bnQucng7CisJCXByaXYtPnByZXZfZXJy cyA9IDA7CisJfQorCiAJbGVuIC09IDI7CiAJaWYgKCFsZW4pCiAJCXJldHVybiAwOwkvKiBzdGF0 dXMgb25seSAqLwpAQCAtMjA5NCwxOCArMjExMiwyMiBAQCBzdGF0aWMgaW50IGZ0ZGlfcHJvY2Vz c19wYWNrZXQoc3RydWN0IHVzYl9zZXJpYWxfcG9ydCAqcG9ydCwKIAkgKiBCcmVhayBhbmQgZXJy b3Igc3RhdHVzIG11c3Qgb25seSBiZSBwcm9jZXNzZWQgZm9yIHBhY2tldHMgd2l0aAogCSAqIGRh dGEgcGF5bG9hZCB0byBhdm9pZCBvdmVyLXJlcG9ydGluZy4KIAkgKi8KKwllcnJzID0gcGFja2V0 WzFdICYgRlRESV9SU19FUlJfTUFTSzsKIAlmbGFnID0gVFRZX05PUk1BTDsKLQlpZiAocGFja2V0 WzFdICYgRlRESV9SU19FUlJfTUFTSykgewotCQkvKiBCcmVhayB0YWtlcyBwcmVjZWRlbmNlIG92 ZXIgcGFyaXR5LCB3aGljaCB0YWtlcyBwcmVjZWRlbmNlCi0JCSAqIG92ZXIgZnJhbWluZyBlcnJv cnMgKi8KLQkJaWYgKHBhY2tldFsxXSAmIEZURElfUlNfQkkpIHsKLQkJCWZsYWcgPSBUVFlfQlJF QUs7Ci0JCQlwb3J0LT5pY291bnQuYnJrKys7Ci0JCQl1c2Jfc2VyaWFsX2hhbmRsZV9icmVhayhw b3J0KTsKLQkJfSBlbHNlIGlmIChwYWNrZXRbMV0gJiBGVERJX1JTX1BFKSB7CisJY2ggPSBwYWNr ZXQgKyAyOworCWlmIChlcnJzKSB7CisJCWlmIChlcnJzICYgRlRESV9SU19CSSkgeworCQkJcHJp di0+cHJldl9lcnJzID0gZXJyczsKKwkJCXByaXYtPmhlbGQgPSBjaFtsZW4gLSAxXTsKKwkJCWlm ICgtLWxlbiA9PSAwKQorCQkJCXJldHVybiAwOworCQl9CisJCWlmIChlcnJzICYgRlRESV9SU19Q RSkgeworCQkJcHJpbnRrKCJQQVJJVFlcbiIpOwogCQkJZmxhZyA9IFRUWV9QQVJJVFk7CiAJCQlw b3J0LT5pY291bnQucGFyaXR5Kys7Ci0JCX0gZWxzZSBpZiAocGFja2V0WzFdICYgRlRESV9SU19G RSkgeworCQl9IGVsc2UgaWYgKGVycnMgJiBGVERJX1JTX0ZFKSB7CisJCQlwcmludGsoIkZSQU1F XG4iKTsKIAkJCWZsYWcgPSBUVFlfRlJBTUU7CiAJCQlwb3J0LT5pY291bnQuZnJhbWUrKzsKIAkJ fQpAQCAtMjExNiw4ICsyMTM4LDE5IEBAIHN0YXRpYyBpbnQgZnRkaV9wcm9jZXNzX3BhY2tldChz dHJ1Y3QgdXNiX3NlcmlhbF9wb3J0ICpwb3J0LAogCQl9CiAJfQogCisKIAlwb3J0LT5pY291bnQu cnggKz0gbGVuOwotCWNoID0gcGFja2V0ICsgMjsKKworCXsKKwkJY2hhciBidWZbMTI4XSwgKmRz dCA9IGJ1ZiwgKmVuZCA9ICZidWZbMTI4XTsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgaSA8 IGxlbjsgKytpKSB7CisJCQlzbnByaW50ZiAoZHN0LCBlbmQgLSBkc3QsICIgJTAyeCIsIGNoW2ld KTsKKwkJCWRzdCArPSAzOworCQl9CisJCXByaW50aygiJXM6IGZsYWc9JWQgZGF0YT1bJXMgXVxu IiwgX19mdW5jX18sIGZsYWcsIGJ1Zik7CisJfQogCiAJaWYgKHBvcnQtPnBvcnQuY29uc29sZSAm JiBwb3J0LT5zeXNycSkgewogCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyssIGNoKyspIHsK