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: serial: ftdi_sio: clean up flow control management From: Greg Kroah-Hartman Message-Id: <20180518135531.GF24822@kroah.com> Date: Fri, 18 May 2018 15:55:31 +0200 To: Johan Hovold Cc: linux-usb@vger.kernel.org List-ID: T24gRnJpLCBNYXkgMTgsIDIwMTggYXQgMDM6MjU6NTBQTSArMDIwMCwgSm9oYW4gSG92b2xkIHdy b3RlOgo+IENsZWFuIHVwIHRoZSBzb21ld2hhdCBjb252b2x1dGVkIGhhcmR3YXJlLWFzc2lzdGVk IGZsb3cgY29udHJvbAo+IGhhbmRsaW5nLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEpvaGFuIEhvdm9s ZCA8am9oYW5Aa2VybmVsLm9yZz4KPiAtLS0KPiAgZHJpdmVycy91c2Ivc2VyaWFsL2Z0ZGlfc2lv LmMgfCA4MSArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hh bmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgNTggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdXNiL3NlcmlhbC9mdGRpX3Npby5jIGIvZHJpdmVycy91c2Ivc2VyaWFsL2Z0ZGlf c2lvLmMKPiBpbmRleCAzZDdmMTgxZTdlMmEuLmI1Y2VmMzIyODI2ZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL3VzYi9zZXJpYWwvZnRkaV9zaW8uYwo+ICsrKyBiL2RyaXZlcnMvdXNiL3NlcmlhbC9m dGRpX3Npby5jCj4gQEAgLTIxOTEsMTIgKzIxOTEsOCBAQCBzdGF0aWMgdm9pZCBmdGRpX3NldF90 ZXJtaW9zKHN0cnVjdCB0dHlfc3RydWN0ICp0dHksCj4gIAlzdHJ1Y3QgZnRkaV9wcml2YXRlICpw cml2ID0gdXNiX2dldF9zZXJpYWxfcG9ydF9kYXRhKHBvcnQpOwo+ICAJc3RydWN0IGt0ZXJtaW9z ICp0ZXJtaW9zID0gJnR0eS0+dGVybWlvczsKPiAgCXVuc2lnbmVkIGludCBjZmxhZyA9IHRlcm1p b3MtPmNfY2ZsYWc7Cj4gLQl1MTYgdmFsdWU7Cj4gLQo+IC0JLyogQWRkZWQgZm9yIHhvbi94b2Zm IHN1cHBvcnQgKi8KPiAtCXVuc2lnbmVkIGludCBpZmxhZyA9IHRlcm1pb3MtPmNfaWZsYWc7Cj4g LQl1bnNpZ25lZCBjaGFyIHZzdG9wOwo+IC0JdW5zaWduZWQgY2hhciB2c3RhcnQ7Cj4gKwl1MTYg dmFsdWUsIGluZGV4Owo+ICsJaW50IHJldDsKPiAgCj4gIAkvKiBGb3JjZSBiYXVkIHJhdGUgaWYg dGhpcyBkZXZpY2UgcmVxdWlyZXMgaXQsIHVubGVzcyBpdCBpcyBzZXQgdG8KPiAgCSAgIEIwLiAq Lwo+IEBAIC0yMzI1LDYxICsyMzIxLDMwIEBAIHN0YXRpYyB2b2lkIGZ0ZGlfc2V0X3Rlcm1pb3Mo c3RydWN0IHR0eV9zdHJ1Y3QgKnR0eSwKPiAgCQkJc2V0X21jdHJsKHBvcnQsIFRJT0NNX0RUUiB8 IFRJT0NNX1JUUyk7Cj4gIAl9Cj4gIAo+IC0JLyogU2V0IGZsb3cgY29udHJvbCAqLwo+IC0JLyog Tm90ZSBkZXZpY2UgYWxzbyBzdXBwb3J0cyBEVFIvQ0QgKHVnaCkgYW5kIFhvbi9Yb2ZmIGluIGhh cmR3YXJlICovCj4gIG5vX2NfY2ZsYWdfY2hhbmdlczoKPiAtCWlmIChjZmxhZyAmIENSVFNDVFMp IHsKPiAtCQlkZXZfZGJnKGRkZXYsICIlcyBTZXR0aW5nIHRvIENSVFNDVFMgZmxvdyBjb250cm9s XG4iLCBfX2Z1bmNfXyk7Cj4gLQkJaWYgKHVzYl9jb250cm9sX21zZyhkZXYsCj4gLQkJCQkgICAg dXNiX3NuZGN0cmxwaXBlKGRldiwgMCksCj4gLQkJCQkgICAgRlRESV9TSU9fU0VUX0ZMT1dfQ1RS TF9SRVFVRVNULAo+IC0JCQkJICAgIEZURElfU0lPX1NFVF9GTE9XX0NUUkxfUkVRVUVTVF9UWVBF LAo+IC0JCQkJICAgIDAgLCAoRlRESV9TSU9fUlRTX0NUU19IUyB8IHByaXYtPmludGVyZmFjZSks Cj4gLQkJCQkgICAgTlVMTCwgMCwgV0RSX1RJTUVPVVQpIDwgMCkgewo+IC0JCQlkZXZfZXJyKGRk ZXYsICJ1cmIgZmFpbGVkIHRvIHNldCB0byBydHMvY3RzIGZsb3cgY29udHJvbFxuIik7Cj4gLQkJ fQo+ICsJLyogU2V0IGhhcmR3YXJlLWFzc2lzdGVkIGZsb3cgY29udHJvbCAqLwo+ICsJdmFsdWUg PSAwOwo+ICsKPiArCWlmIChDX0NSVFNDVFModHR5KSkgewo+ICsJCWRldl9kYmcoJnBvcnQtPmRl diwgImVuYWJsaW5nIHJ0cy9jdHMgZmxvdyBjb250cm9sXG4iKTsKPiArCQlpbmRleCA9IEZURElf U0lPX1JUU19DVFNfSFM7Cj4gKwl9IGVsc2UgaWYgKElfSVhPTih0dHkpKSB7Cj4gKwkJZGV2X2Ri ZygmcG9ydC0+ZGV2LCAiZW5hYmxpbmcgeG9uL3hvZmYgZmxvdyBjb250cm9sXG4iKTsKPiArCQlp bmRleCA9IEZURElfU0lPX1hPTl9YT0ZGX0hTOwo+ICsJCXZhbHVlID0gU1RPUF9DSEFSKHR0eSkg PDwgOCB8IFNUQVJUX0NIQVIodHR5KTsKPiAgCX0gZWxzZSB7Cj4gLQkJLyoKPiAtCQkgKiBYb24v WG9mZiBjb2RlCj4gLQkJICovCj4gLQkJaWYgKGlmbGFnICYgSVhPTikgewo+IC0JCQlkZXZfZGJn KGRkZXYsICIlcyAgcmVxdWVzdCB0byBlbmFibGUgeG9ueG9mZiBpZmxhZz0lMDR4XG4iLAo+IC0J CQkJX19mdW5jX18sIGlmbGFnKTsKPiAtCQkJLyogVHJ5IHRvIGVuYWJsZSB0aGUgWE9OL1hPRkYg b24gdGhlIGZ0ZGlfc2lvCj4gLQkJCSAqIFNldCB0aGUgdnN0YXJ0IGFuZCB2c3RvcCAtLSBjb3Vs ZCBoYXZlIGJlZW4gZG9uZSB1cAo+IC0JCQkgKiBhYm92ZSB3aGVyZSBhIGxvdCBvZiBvdGhlciBk ZXJlZmVyZW5jaW5nIGlzIGRvbmUgYnV0Cj4gLQkJCSAqIHRoYXQgd291bGQgYmUgdmVyeSBpbmVm ZmljaWVudCBhcyB2c3RhcnQgYW5kIHZzdG9wCj4gLQkJCSAqIGFyZSBub3QgYWx3YXlzIG5lZWRl ZC4KPiAtCQkJICovCj4gLQkJCXZzdGFydCA9IHRlcm1pb3MtPmNfY2NbVlNUQVJUXTsKPiAtCQkJ dnN0b3AgPSB0ZXJtaW9zLT5jX2NjW1ZTVE9QXTsKPiAtCQkJdmFsdWUgPSAodnN0b3AgPDwgOCkg fCAodnN0YXJ0KTsKPiAtCj4gLQkJCWlmICh1c2JfY29udHJvbF9tc2coZGV2LAo+IC0JCQkJCSAg ICB1c2Jfc25kY3RybHBpcGUoZGV2LCAwKSwKPiAtCQkJCQkgICAgRlRESV9TSU9fU0VUX0ZMT1df Q1RSTF9SRVFVRVNULAo+IC0JCQkJCSAgICBGVERJX1NJT19TRVRfRkxPV19DVFJMX1JFUVVFU1Rf VFlQRSwKPiAtCQkJCQkgICAgdmFsdWUgLCAoRlRESV9TSU9fWE9OX1hPRkZfSFMKPiAtCQkJCQkJ CSB8IHByaXYtPmludGVyZmFjZSksCj4gLQkJCQkJICAgIE5VTEwsIDAsIFdEUl9USU1FT1VUKSA8 IDApIHsKPiAtCQkJCWRldl9lcnIoJnBvcnQtPmRldiwgInVyYiBmYWlsZWQgdG8gc2V0IHRvICIK PiAtCQkJCQkieG9uL3hvZmYgZmxvdyBjb250cm9sXG4iKTsKPiAtCQkJfQo+IC0JCX0gZWxzZSB7 Cj4gLQkJCS8qIGVsc2UgY2xhdXNlIHRvIG9ubHkgcnVuIGlmIGNmbGFnICEgQ1JUU0NUUyBhbmQg aWZsYWcKPiAtCQkJICogISBYT04uIENIRUNLTUUgQXNzdW1pbmcgWE9OL1hPRkYgaGFuZGxlZCBi eSB0dHkKPiAtCQkJICogc3RhY2sgLSBub3QgYnkgZGV2aWNlICovCj4gLQkJCWRldl9kYmcoZGRl diwgIiVzIFR1cm5pbmcgb2ZmIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIiwgX19mdW5jX18pOwo+ IC0JCQlpZiAodXNiX2NvbnRyb2xfbXNnKGRldiwKPiAtCQkJCQkgICAgdXNiX3NuZGN0cmxwaXBl KGRldiwgMCksCj4gLQkJCQkJICAgIEZURElfU0lPX1NFVF9GTE9XX0NUUkxfUkVRVUVTVCwKPiAt CQkJCQkgICAgRlRESV9TSU9fU0VUX0ZMT1dfQ1RSTF9SRVFVRVNUX1RZUEUsCj4gLQkJCQkJICAg IDAsIHByaXYtPmludGVyZmFjZSwKPiAtCQkJCQkgICAgTlVMTCwgMCwgV0RSX1RJTUVPVVQpIDwg MCkgewo+IC0JCQkJZGV2X2VycihkZGV2LCAidXJiIGZhaWxlZCB0byBjbGVhciBmbG93IGNvbnRy b2xcbiIpOwo+IC0JCQl9Cj4gLQkJfQo+ICsJCWRldl9kYmcoJnBvcnQtPmRldiwgImRpc2FibGlu ZyBmbG93IGNvbnRyb2xcbiIpOwo+ICsJCWluZGV4ID0gRlRESV9TSU9fRElTQUJMRV9GTE9XX0NU Ukw7Cj4gIAl9Cj4gKwo+ICsJaW5kZXggfD0gcHJpdi0+aW50ZXJmYWNlOwo+ICsKPiArCXJldCA9 IHVzYl9jb250cm9sX21zZyhkZXYsIHVzYl9zbmRjdHJscGlwZShkZXYsIDApLAo+ICsJCQlGVERJ X1NJT19TRVRfRkxPV19DVFJMX1JFUVVFU1QsCj4gKwkJCUZURElfU0lPX1NFVF9GTE9XX0NUUkxf UkVRVUVTVF9UWVBFLAo+ICsJCQl2YWx1ZSwgaW5kZXgsIE5VTEwsIDAsIFdEUl9USU1FT1VUKTsK PiArCWlmIChyZXQgPCAwKQo+ICsJCWRldl9lcnIoJnBvcnQtPmRldiwgImZhaWxlZCB0byBzZXQg ZmxvdyBjb250cm9sOiAlZFxuIiwgcmV0KTsKPiAgfQo+ICAKPiAgLyoKCldvdywgbXVjaCBzaW1w bGVyLCBuaWNlIHdvcmsuCgpSZXZpZXdlZC1ieTogR3JlZyBLcm9haC1IYXJ0bWFuIDxncmVna2hA bGludXhmb3VuZGF0aW9uLm9yZz4KLS0tClRvIHVuc3Vic2NyaWJlIGZyb20gdGhpcyBsaXN0OiBz ZW5kIHRoZSBsaW5lICJ1bnN1YnNjcmliZSBsaW51eC11c2IiIGluCnRoZSBib2R5IG9mIGEgbWVz c2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8gYXQg IGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbAo=