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: [03/12] usb: usbtmc: Add ioctls to set/get usb timeout From: Greg Kroah-Hartman Message-Id: <20180518132040.GA11225@kroah.com> Date: Fri, 18 May 2018 15:20:40 +0200 To: Guido Kiener Cc: linux-usb@vger.kernel.org, guido.kiener@rohde-schwarz.com, pankaj.adhikari@ni.com, steve_bayless@keysight.com, dpenkler@gmail.com List-ID: T24gVGh1LCBNYXkgMTcsIDIwMTggYXQgMDc6MDM6MjdQTSArMDIwMCwgR3VpZG8gS2llbmVyIHdy b3RlOgo+IEFkZCBpb2N0bHMgVVNCVE1DX0lPQ1RMX0dFVF9USU1FT1VUIC8gVVNCVE1DX0lPQ1RM X1NFVF9USU1FT1VUIHRvCj4gZ2V0L3NldCBJL08gdGltZW91dCBmb3Igc3BlY2lmaWMgZmlsZSBo YW5kbGUuCj4gCj4gRGlmZmVyZW50IG9wZXJhdGlvbnMgb24gYW4gaW5zdHJ1bWVudCBjYW4gdGFr ZSBkaWZmZXJlbnQgbGVuZ3RocyBvZgo+IHRpbWUgdGh1cyBpdCBpcyBpbXBvcnRhbnQgdG8gYmUg YWJsZSB0byBzZXQgdGhlIHRpbWVvdXQgc2xpZ2h0bHkKPiBsb25nZXIgdGhhbiB0aGUgZXhwZWN0 ZWQgZHVyYXRpb24gb2YgZWFjaCBvcGVyYXRpb24gdG8gb3B0aW1pc2UgdGhlCj4gcmVzcG9uc2l2 ZW5lc3Mgb2YgdGhlIGFwcGxpY2F0aW9uLiBBcyB0aGUgaW5zdHJ1bWVudCBtYXkgYmUgc2hhcmVk IGJ5Cj4gbXVsdGlwbGUgYXBwbGljYXRpb25zIHRoZSB0aW1lb3V0IHNob3VsZCBiZSBzZXR0YWJs ZSBvbiBhIHBlciBmaWxlCj4gZGVzY3JpcHRvciBiYXNpcy4KPiAKPiBUZXN0ZWQtYnk6IERhdmUg UGVua2xlciA8ZHBlbmtsZXJAZ21haWwuY29tPgo+IFJldmlld2VkLWJ5OiBTdGV2ZSBCYXlsZXNz IDxzdGV2ZV9iYXlsZXNzQGtleXNpZ2h0LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIFBlbmts ZXIgPGRwZW5rbGVyQGdtYWlsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBHdWlkbyBLaWVuZXIgPGd1 aWRvLmtpZW5lckByb2hkZS1zY2h3YXJ6LmNvbT4KPiAtLS0KPiAgZHJpdmVycy91c2IvY2xhc3Mv dXNidG1jLmMgICB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+ICBp bmNsdWRlL3VhcGkvbGludXgvdXNiL3RtYy5oIHwgIDIgKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCA1 NiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3VzYi9jbGFzcy91c2J0bWMuYyBiL2RyaXZlcnMvdXNiL2NsYXNzL3VzYnRtYy5jCj4gaW5kZXgg NTc1NDM1NDQyOWQ4Li5hZDc4NzIwMDM0MjAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvY2xh c3MvdXNidG1jLmMKPiArKysgYi9kcml2ZXJzL3VzYi9jbGFzcy91c2J0bWMuYwo+IEBAIC0zMCw2 ICszMCw4IEBACj4gICAqLwo+ICAjZGVmaW5lIFVTQlRNQ19TSVpFX0lPQlVGRkVSCTIwNDgKPiAg Cj4gKy8qIE1pbmltdW0gVVNCIHRpbWVvdXQgKGluIG1pbGxpc2Vjb25kcykgKi8KPiArI2RlZmlu ZSBVU0JUTUNfTUlOX1RJTUVPVVQJMTAwCj4gIC8qIERlZmF1bHQgVVNCIHRpbWVvdXQgKGluIG1p bGxpc2Vjb25kcykgKi8KPiAgI2RlZmluZSBVU0JUTUNfVElNRU9VVAkJNTAwMAo+ICAKPiBAQCAt MTE2LDYgKzExOCw3IEBAIHN0cnVjdCB1c2J0bWNfZmlsZV9kYXRhIHsKPiAgCXN0cnVjdCB1c2J0 bWNfZGV2aWNlX2RhdGEgKmRhdGE7Cj4gIAlzdHJ1Y3QgbGlzdF9oZWFkIGZpbGVfZWxlbTsKPiAg Cj4gKwl1MzIgICAgICAgICAgICB0aW1lb3V0Owo+ICAJdTggICAgICAgICAgICAgc3JxX2J5dGU7 Cj4gIAlhdG9taWNfdCAgICAgICBzcnFfYXNzZXJ0ZWQ7Cj4gIAo+IEBAIC0xNjMsNiArMTY2LDcg QEAgc3RhdGljIGludCB1c2J0bWNfb3BlbihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdHJ1Y3QgZmls ZSAqZmlscCkKPiAgCWZpbGVfZGF0YS0+ZGF0YSA9IGRhdGE7Cj4gIAo+ICAJLyogY29weSBkZWZh dWx0IHZhbHVlcyBmcm9tIGRldmljZSBzZXR0aW5ncyAqLwo+ICsJZmlsZV9kYXRhLT50aW1lb3V0 ID0gVVNCVE1DX1RJTUVPVVQ7Cj4gIAlmaWxlX2RhdGEtPlRlcm1DaGFyID0gZGF0YS0+VGVybUNo YXI7Cj4gIAlmaWxlX2RhdGEtPlRlcm1DaGFyRW5hYmxlZCA9IGRhdGEtPlRlcm1DaGFyRW5hYmxl ZDsKPiAgCWZpbGVfZGF0YS0+YXV0b19hYm9ydCA9IGRhdGEtPmF1dG9fYWJvcnQ7Cj4gQEAgLTQ3 OCw3ICs0ODIsNyBAQCBzdGF0aWMgaW50IHVzYnRtYzQ4OF9pb2N0bF9yZWFkX3N0YihzdHJ1Y3Qg dXNidG1jX2ZpbGVfZGF0YSAqZmlsZV9kYXRhLAo+ICAJCXJ2ID0gd2FpdF9ldmVudF9pbnRlcnJ1 cHRpYmxlX3RpbWVvdXQoCj4gIAkJCWRhdGEtPndhaXRxLAo+ICAJCQlhdG9taWNfcmVhZCgmZGF0 YS0+aWluX2RhdGFfdmFsaWQpICE9IDAsCj4gLQkJCVVTQlRNQ19USU1FT1VUKTsKPiArCQkJZmls ZV9kYXRhLT50aW1lb3V0KTsKPiAgCQlpZiAocnYgPCAwKSB7Cj4gIAkJCWRldl9kYmcoZGV2LCAi d2FpdCBpbnRlcnJ1cHRlZCAlZFxuIiwgcnYpOwo+ICAJCQlnb3RvIGV4aXQ7Cj4gQEAgLTYxMyw3 ICs2MTcsOCBAQCBzdGF0aWMgaW50IHNlbmRfcmVxdWVzdF9kZXZfZGVwX21zZ19pbihzdHJ1Y3Qg dXNidG1jX2ZpbGVfZGF0YSAqZmlsZV9kYXRhLAo+ICAJcmV0dmFsID0gdXNiX2J1bGtfbXNnKGRh dGEtPnVzYl9kZXYsCj4gIAkJCSAgICAgIHVzYl9zbmRidWxrcGlwZShkYXRhLT51c2JfZGV2LAo+ ICAJCQkJCSAgICAgIGRhdGEtPmJ1bGtfb3V0KSwKPiAtCQkJICAgICAgYnVmZmVyLCBVU0JUTUNf SEVBREVSX1NJWkUsICZhY3R1YWwsIFVTQlRNQ19USU1FT1VUKTsKPiArCQkJICAgICAgYnVmZmVy LCBVU0JUTUNfSEVBREVSX1NJWkUsCj4gKwkJCSAgICAgICZhY3R1YWwsIGZpbGVfZGF0YS0+dGlt ZW91dCk7Cj4gIAo+ICAJLyogU3RvcmUgYlRhZyAoaW4gY2FzZSB3ZSBuZWVkIHRvIGFib3J0KSAq Lwo+ICAJZGF0YS0+YlRhZ19sYXN0X3dyaXRlID0gZGF0YS0+YlRhZzsKPiBAQCAtNjgxLDcgKzY4 Niw3IEBAIHN0YXRpYyBzc2l6ZV90IHVzYnRtY19yZWFkKHN0cnVjdCBmaWxlICpmaWxwLCBjaGFy IF9fdXNlciAqYnVmLAo+ICAJCQkJICAgICAgdXNiX3JjdmJ1bGtwaXBlKGRhdGEtPnVzYl9kZXYs Cj4gIAkJCQkJCSAgICAgIGRhdGEtPmJ1bGtfaW4pLAo+ICAJCQkJICAgICAgYnVmZmVyLCBVU0JU TUNfU0laRV9JT0JVRkZFUiwgJmFjdHVhbCwKPiAtCQkJCSAgICAgIFVTQlRNQ19USU1FT1VUKTsK PiArCQkJCSAgICAgIGZpbGVfZGF0YS0+dGltZW91dCk7Cj4gIAo+ICAJCWRldl9kYmcoZGV2LCAi dXNiX2J1bGtfbXNnOiByZXR2YWwoJXUpLCBkb25lKCV6dSksIHJlbWFpbmluZyglenUpLCBhY3R1 YWwoJWQpXG4iLCByZXR2YWwsIGRvbmUsIHJlbWFpbmluZywgYWN0dWFsKTsKPiAgCj4gQEAgLTg1 NCw3ICs4NTksNyBAQCBzdGF0aWMgc3NpemVfdCB1c2J0bWNfd3JpdGUoc3RydWN0IGZpbGUgKmZp bHAsIGNvbnN0IGNoYXIgX191c2VyICpidWYsCj4gIAkJCQkJICAgICAgdXNiX3NuZGJ1bGtwaXBl KGRhdGEtPnVzYl9kZXYsCj4gIAkJCQkJCQkgICAgICBkYXRhLT5idWxrX291dCksCj4gIAkJCQkJ ICAgICAgYnVmZmVyLCBuX2J5dGVzLAo+IC0JCQkJCSAgICAgICZhY3R1YWwsIFVTQlRNQ19USU1F T1VUKTsKPiArCQkJCQkgICAgICAmYWN0dWFsLCBmaWxlX2RhdGEtPnRpbWVvdXQpOwo+ICAJCQlp ZiAocmV0dmFsICE9IDApCj4gIAkJCQlicmVhazsKPiAgCQkJbl9ieXRlcyAtPSBhY3R1YWw7Cj4g QEAgLTEyMTEsNiArMTIxNiw0MSBAQCBzdGF0aWMgaW50IHVzYnRtY19pb2N0bF9pbmRpY2F0b3Jf cHVsc2Uoc3RydWN0IHVzYnRtY19kZXZpY2VfZGF0YSAqZGF0YSkKPiAgCXJldHVybiBydjsKPiAg fQo+ICAKPiArLyoKPiArICogR2V0IHRoZSB1c2IgdGltZW91dCB2YWx1ZQo+ICsgKi8KPiArc3Rh dGljIGludCB1c2J0bWNfaW9jdGxfZ2V0X3RpbWVvdXQoc3RydWN0IHVzYnRtY19maWxlX2RhdGEg KmZpbGVfZGF0YSwKPiArCQkJCXZvaWQgX191c2VyICphcmcpCj4gK3sKPiArCV9fdTMyIHRpbWVv dXQ7Cj4gKwo+ICsJdGltZW91dCA9IGZpbGVfZGF0YS0+dGltZW91dDsKPiArCj4gKwlyZXR1cm4g cHV0X3VzZXIodGltZW91dCwgKF9fdTMyIF9fdXNlciAqKWFyZyk7Cj4gK30KPiArCj4gKy8qCj4g KyAqIFNldCB0aGUgdXNiIHRpbWVvdXQgdmFsdWUKPiArICovCj4gK3N0YXRpYyBpbnQgdXNidG1j X2lvY3RsX3NldF90aW1lb3V0KHN0cnVjdCB1c2J0bWNfZmlsZV9kYXRhICpmaWxlX2RhdGEsCj4g KwkJCQl2b2lkIF9fdXNlciAqYXJnKQo+ICt7Cj4gKwlfX3UzMiB0aW1lb3V0Owo+ICsKPiArCWlm IChnZXRfdXNlcih0aW1lb3V0LCAoX191MzIgX191c2VyICopYXJnKSkKPiArCQlyZXR1cm4gLUVG QVVMVDsKPiArCj4gKwkvKiBOb3RlIHRoYXQgdGltZW91dCA9IDAgbWVhbnMKPiArCSAqIE1BWF9T Q0hFRFVMRV9USU1FT1VUIGluIHVzYl9jb250cm9sX21zZwo+ICsJICovCj4gKwlpZiAodGltZW91 dCA8IFVTQlRNQ19NSU5fVElNRU9VVCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlmaWxl X2RhdGEtPnRpbWVvdXQgPSB0aW1lb3V0Owo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICBz dGF0aWMgbG9uZyB1c2J0bWNfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGludCBj bWQsIHVuc2lnbmVkIGxvbmcgYXJnKQo+ICB7Cj4gIAlzdHJ1Y3QgdXNidG1jX2ZpbGVfZGF0YSAq ZmlsZV9kYXRhOwo+IEBAIC0xMjUxLDYgKzEyOTEsMTYgQEAgc3RhdGljIGxvbmcgdXNidG1jX2lv Y3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFy ZykKPiAgCQlyZXR2YWwgPSB1c2J0bWNfaW9jdGxfYWJvcnRfYnVsa19pbihkYXRhKTsKPiAgCQli cmVhazsKPiAgCj4gKwljYXNlIFVTQlRNQ19JT0NUTF9HRVRfVElNRU9VVDoKPiArCQlyZXR2YWwg PSB1c2J0bWNfaW9jdGxfZ2V0X3RpbWVvdXQoZmlsZV9kYXRhLAo+ICsJCQkJCQkgICh2b2lkIF9f dXNlciAqKWFyZyk7Cj4gKwkJYnJlYWs7Cj4gKwo+ICsJY2FzZSBVU0JUTUNfSU9DVExfU0VUX1RJ TUVPVVQ6Cj4gKwkJcmV0dmFsID0gdXNidG1jX2lvY3RsX3NldF90aW1lb3V0KGZpbGVfZGF0YSwK PiArCQkJCQkJICAodm9pZCBfX3VzZXIgKilhcmcpOwo+ICsJCWJyZWFrOwo+ICsKPiAgCWNhc2Ug VVNCVE1DNDg4X0lPQ1RMX0dFVF9DQVBTOgo+ICAJCXJldHZhbCA9IGNvcHlfdG9fdXNlcigodm9p ZCBfX3VzZXIgKilhcmcsCj4gIAkJCQkmZGF0YS0+dXNiNDg4X2NhcHMsCj4gZGlmZiAtLWdpdCBh L2luY2x1ZGUvdWFwaS9saW51eC91c2IvdG1jLmggYi9pbmNsdWRlL3VhcGkvbGludXgvdXNiL3Rt Yy5oCj4gaW5kZXggMDNmNmFkYzhmMzViLi5kNmRlMTkyMTUwZjQgMTAwNjQ0Cj4gLS0tIGEvaW5j bHVkZS91YXBpL2xpbnV4L3VzYi90bWMuaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9saW51eC91c2Iv dG1jLmgKPiBAQCAtNDYsNiArNDYsOCBAQAo+ICAjZGVmaW5lIFVTQlRNQ19JT0NUTF9BQk9SVF9C VUxLX0lOCV9JTyhVU0JUTUNfSU9DX05SLCA0KQo+ICAjZGVmaW5lIFVTQlRNQ19JT0NUTF9DTEVB Ul9PVVRfSEFMVAlfSU8oVVNCVE1DX0lPQ19OUiwgNikKPiAgI2RlZmluZSBVU0JUTUNfSU9DVExf Q0xFQVJfSU5fSEFMVAlfSU8oVVNCVE1DX0lPQ19OUiwgNykKPiArI2RlZmluZSBVU0JUTUNfSU9D VExfR0VUX1RJTUVPVVQJX0lPUihVU0JUTUNfSU9DX05SLCA5LCB1bnNpZ25lZCBpbnQpCj4gKyNk ZWZpbmUgVVNCVE1DX0lPQ1RMX1NFVF9USU1FT1VUCV9JT1coVVNCVE1DX0lPQ19OUiwgMTAsIHVu c2lnbmVkIGludCkKCldoYXQgaXMgdGhlICJzaXplIiBvZiB1bnNpZ25lZCBpbnQgaW4gMzIgdnMu IDY0IGJpdCBrZXJuZWxzPyAgU2hvdWxkbid0CnRoaXMgYmUgX191MzI/Cgp0aGFua3MsCgpncmVn IGstaAotLS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVu c3Vic2NyaWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9t b0B2Z2VyLmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2Vy bmVsLm9yZy9tYWpvcmRvbW8taW5mby5odG1sCg==