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: [v6,10/22] usb: usbtmc: Add ioctl USBTMC_IOCTL_AUTO_ABORT From: Guido Kiener Message-Id: <20180912085112.4891-11-guido@kiener-muenchen.de> Date: Wed, 12 Sep 2018 10:51:00 +0200 To: gregkh@linuxfoundation.org, linux-usb@vger.kernel.org, guido.kiener@rohde-schwarz.com, pankaj.adhikari@ni.com, steve_bayless@keysight.com, dpenkler@gmail.com Cc: Guido Kiener List-ID: QWRkIGlvY3RsIFVTQlRNQ19JT0NUTF9BVVRPX0FCT1JUIHRvIGNvbmZpZ3VyZSBhdXRvX2Fib3J0 IGZvcgplYWNoIHNwZWNpZmljIGZpbGUgaGFuZGxlLgoKU2lnbmVkLW9mZi1ieTogR3VpZG8gS2ll bmVyIDxndWlkby5raWVuZXJAcm9oZGUtc2Nod2Fyei5jb20+ClJldmlld2VkLWJ5OiBTdGV2ZSBC YXlsZXNzIDxzdGV2ZV9iYXlsZXNzQGtleXNpZ2h0LmNvbT4KLS0tCiBkcml2ZXJzL3VzYi9jbGFz cy91c2J0bWMuYyAgIHwgMjMgKysrKysrKysrKysrKysrKy0tLS0tLS0KIGluY2x1ZGUvdWFwaS9s aW51eC91c2IvdG1jLmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyks IDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvY2xhc3MvdXNidG1jLmMg Yi9kcml2ZXJzL3VzYi9jbGFzcy91c2J0bWMuYwppbmRleCA0Y2RhNzRlOWUxMWIuLjNlZDIxNDZm YjY3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvY2xhc3MvdXNidG1jLmMKKysrIGIvZHJpdmVy cy91c2IvY2xhc3MvdXNidG1jLmMKQEAgLTEzNiw2ICsxMzYsNyBAQCBzdHJ1Y3QgdXNidG1jX2Zp bGVfZGF0YSB7CiAJdTggICAgICAgICAgICAgZW9tX3ZhbDsKIAl1OCAgICAgICAgICAgICB0ZXJt X2NoYXI7CiAJYm9vbCAgICAgICAgICAgdGVybV9jaGFyX2VuYWJsZWQ7CisJYm9vbCAgICAgICAg ICAgYXV0b19hYm9ydDsKIAogCXNwaW5sb2NrX3QgICAgIGVycl9sb2NrOyAvKiBsb2NrIGZvciBl cnJvcnMgKi8KIApAQCAtMjAxLDYgKzIwMiw3IEBAIHN0YXRpYyBpbnQgdXNidG1jX29wZW4oc3Ry dWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbHApCiAJZmlsZV9kYXRhLT50aW1lb3V0 ID0gVVNCVE1DX1RJTUVPVVQ7CiAJZmlsZV9kYXRhLT50ZXJtX2NoYXIgPSBkYXRhLT5UZXJtQ2hh cjsKIAlmaWxlX2RhdGEtPnRlcm1fY2hhcl9lbmFibGVkID0gZGF0YS0+VGVybUNoYXJFbmFibGVk OworCWZpbGVfZGF0YS0+YXV0b19hYm9ydCA9IGRhdGEtPmF1dG9fYWJvcnQ7CiAJZmlsZV9kYXRh LT5lb21fdmFsID0gMTsKIAogCUlOSVRfTElTVF9IRUFEKCZmaWxlX2RhdGEtPmZpbGVfZWxlbSk7 CkBAIC0xMzc2LDcgKzEzNzgsNyBAQCBzdGF0aWMgc3NpemVfdCB1c2J0bWNfcmVhZChzdHJ1Y3Qg ZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZiwKIAlyZXR2YWwgPSBzZW5kX3JlcXVlc3RfZGV2 X2RlcF9tc2dfaW4oZmlsZV9kYXRhLCBjb3VudCk7CiAKIAlpZiAocmV0dmFsIDwgMCkgewotCQlp ZiAoZGF0YS0+YXV0b19hYm9ydCkKKwkJaWYgKGZpbGVfZGF0YS0+YXV0b19hYm9ydCkKIAkJCXVz YnRtY19pb2N0bF9hYm9ydF9idWxrX291dChkYXRhKTsKIAkJZ290byBleGl0OwogCX0KQEAgLTE0 MDEsNyArMTQwMyw3IEBAIHN0YXRpYyBzc2l6ZV90IHVzYnRtY19yZWFkKHN0cnVjdCBmaWxlICpm aWxwLCBjaGFyIF9fdXNlciAqYnVmLAogCiAJCWlmIChyZXR2YWwgPCAwKSB7CiAJCQlkZXZfZGJn KGRldiwgIlVuYWJsZSB0byByZWFkIGRhdGEsIGVycm9yICVkXG4iLCByZXR2YWwpOwotCQkJaWYg KGRhdGEtPmF1dG9fYWJvcnQpCisJCQlpZiAoZmlsZV9kYXRhLT5hdXRvX2Fib3J0KQogCQkJCXVz YnRtY19pb2N0bF9hYm9ydF9idWxrX2luKGRhdGEpOwogCQkJZ290byBleGl0OwogCQl9CkBAIC0x NDExLDIxICsxNDEzLDIxIEBAIHN0YXRpYyBzc2l6ZV90IHVzYnRtY19yZWFkKHN0cnVjdCBmaWxl ICpmaWxwLCBjaGFyIF9fdXNlciAqYnVmLAogCQkJLyogU2FuaXR5IGNoZWNrcyBmb3IgdGhlIGhl YWRlciAqLwogCQkJaWYgKGFjdHVhbCA8IFVTQlRNQ19IRUFERVJfU0laRSkgewogCQkJCWRldl9l cnIoZGV2LCAiRGV2aWNlIHNlbnQgdG9vIHNtYWxsIGZpcnN0IHBhY2tldDogJXUgPCAldVxuIiwg YWN0dWFsLCBVU0JUTUNfSEVBREVSX1NJWkUpOwotCQkJCWlmIChkYXRhLT5hdXRvX2Fib3J0KQor CQkJCWlmIChmaWxlX2RhdGEtPmF1dG9fYWJvcnQpCiAJCQkJCXVzYnRtY19pb2N0bF9hYm9ydF9i dWxrX2luKGRhdGEpOwogCQkJCWdvdG8gZXhpdDsKIAkJCX0KIAogCQkJaWYgKGJ1ZmZlclswXSAh PSAyKSB7CiAJCQkJZGV2X2VycihkZXYsICJEZXZpY2Ugc2VudCByZXBseSB3aXRoIHdyb25nIE1z Z0lEOiAldSAhPSAyXG4iLCBidWZmZXJbMF0pOwotCQkJCWlmIChkYXRhLT5hdXRvX2Fib3J0KQor CQkJCWlmIChmaWxlX2RhdGEtPmF1dG9fYWJvcnQpCiAJCQkJCXVzYnRtY19pb2N0bF9hYm9ydF9i dWxrX2luKGRhdGEpOwogCQkJCWdvdG8gZXhpdDsKIAkJCX0KIAogCQkJaWYgKGJ1ZmZlclsxXSAh PSBkYXRhLT5iVGFnX2xhc3Rfd3JpdGUpIHsKIAkJCQlkZXZfZXJyKGRldiwgIkRldmljZSBzZW50 IHJlcGx5IHdpdGggd3JvbmcgYlRhZzogJXUgIT0gJXVcbiIsIGJ1ZmZlclsxXSwgZGF0YS0+YlRh Z19sYXN0X3dyaXRlKTsKLQkJCQlpZiAoZGF0YS0+YXV0b19hYm9ydCkKKwkJCQlpZiAoZmlsZV9k YXRhLT5hdXRvX2Fib3J0KQogCQkJCQl1c2J0bWNfaW9jdGxfYWJvcnRfYnVsa19pbihkYXRhKTsK IAkJCQlnb3RvIGV4aXQ7CiAJCQl9CkBAIC0xNDQwLDcgKzE0NDIsNyBAQCBzdGF0aWMgc3NpemVf dCB1c2J0bWNfcmVhZChzdHJ1Y3QgZmlsZSAqZmlscCwgY2hhciBfX3VzZXIgKmJ1ZiwKIAogCQkJ aWYgKG5fY2hhcmFjdGVycyA+IHRoaXNfcGFydCkgewogCQkJCWRldl9lcnIoZGV2LCAiRGV2aWNl IHdhbnRzIHRvIHJldHVybiBtb3JlIGRhdGEgdGhhbiByZXF1ZXN0ZWQ6ICV1ID4gJXp1XG4iLCBu X2NoYXJhY3RlcnMsIGNvdW50KTsKLQkJCQlpZiAoZGF0YS0+YXV0b19hYm9ydCkKKwkJCQlpZiAo ZmlsZV9kYXRhLT5hdXRvX2Fib3J0KQogCQkJCQl1c2J0bWNfaW9jdGxfYWJvcnRfYnVsa19pbihk YXRhKTsKIAkJCQlnb3RvIGV4aXQ7CiAJCQl9CkBAIC0xNTgyLDcgKzE1ODQsNyBAQCBzdGF0aWMg c3NpemVfdCB1c2J0bWNfd3JpdGUoc3RydWN0IGZpbGUgKmZpbHAsIGNvbnN0IGNoYXIgX191c2Vy ICpidWYsCiAJCWlmIChyZXR2YWwgPCAwKSB7CiAJCQlkZXZfZXJyKCZkYXRhLT5pbnRmLT5kZXYs CiAJCQkJIlVuYWJsZSB0byBzZW5kIGRhdGEsIGVycm9yICVkXG4iLCByZXR2YWwpOwotCQkJaWYg KGRhdGEtPmF1dG9fYWJvcnQpCisJCQlpZiAoZmlsZV9kYXRhLT5hdXRvX2Fib3J0KQogCQkJCXVz YnRtY19pb2N0bF9hYm9ydF9idWxrX291dChkYXRhKTsKIAkJCWdvdG8gZXhpdDsKIAkJfQpAQCAt MjA5MSw2ICsyMDkzLDcgQEAgc3RhdGljIGxvbmcgdXNidG1jX2lvY3RsKHN0cnVjdCBmaWxlICpm aWxlLCB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykKIAlzdHJ1Y3QgdXNidG1j X2ZpbGVfZGF0YSAqZmlsZV9kYXRhOwogCXN0cnVjdCB1c2J0bWNfZGV2aWNlX2RhdGEgKmRhdGE7 CiAJaW50IHJldHZhbCA9IC1FQkFEUlFDOworCV9fdTggdG1wX2J5dGU7CiAKIAlmaWxlX2RhdGEg PSBmaWxlLT5wcml2YXRlX2RhdGE7CiAJZGF0YSA9IGZpbGVfZGF0YS0+ZGF0YTsKQEAgLTIyMDcs NiArMjIxMCwxMiBAQCBzdGF0aWMgbG9uZyB1c2J0bWNfaW9jdGwoc3RydWN0IGZpbGUgKmZpbGUs IHVuc2lnbmVkIGludCBjbWQsIHVuc2lnbmVkIGxvbmcgYXJnKQogCQkJCSAgKF9fdTggX191c2Vy ICopYXJnKTsKIAkJYnJlYWs7CiAKKwljYXNlIFVTQlRNQ19JT0NUTF9BVVRPX0FCT1JUOgorCQly ZXR2YWwgPSBnZXRfdXNlcih0bXBfYnl0ZSwgKHVuc2lnbmVkIGNoYXIgX191c2VyICopYXJnKTsK KwkJaWYgKHJldHZhbCA9PSAwKQorCQkJZmlsZV9kYXRhLT5hdXRvX2Fib3J0ID0gISF0bXBfYnl0 ZTsKKwkJYnJlYWs7CisKIAljYXNlIFVTQlRNQ19JT0NUTF9DQU5DRUxfSU86CiAJCXJldHZhbCA9 IHVzYnRtY19pb2N0bF9jYW5jZWxfaW8oZmlsZV9kYXRhKTsKIAkJYnJlYWs7CmRpZmYgLS1naXQg YS9pbmNsdWRlL3VhcGkvbGludXgvdXNiL3RtYy5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3VzYi90 bWMuaAppbmRleCA1NWNhMzY1YjY2ZDQuLjRiMzYxMDhiOWNjYSAxMDA2NDQKLS0tIGEvaW5jbHVk ZS91YXBpL2xpbnV4L3VzYi90bWMuaAorKysgYi9pbmNsdWRlL3VhcGkvbGludXgvdXNiL3RtYy5o CkBAIC05OSw2ICs5OSw3IEBAIHN0cnVjdCB1c2J0bWNfbWVzc2FnZSB7CiAjZGVmaW5lIFVTQlRN QzQ4OF9JT0NUTF9XQUlUX1NSUQlfSU9XKFVTQlRNQ19JT0NfTlIsIDIzLCBfX3UzMikKIAogI2Rl ZmluZSBVU0JUTUNfSU9DVExfTVNHX0lOX0FUVFIJX0lPUihVU0JUTUNfSU9DX05SLCAyNCwgX191 OCkKKyNkZWZpbmUgVVNCVE1DX0lPQ1RMX0FVVE9fQUJPUlQJCV9JT1coVVNCVE1DX0lPQ19OUiwg MjUsIF9fdTgpCiAKIC8qIENhbmNlbCBhbmQgY2xlYW51cCBhc3luY2hyb25vdXMgY2FsbHMgKi8K ICNkZWZpbmUgVVNCVE1DX0lPQ1RMX0NBTkNFTF9JTwkJX0lPKFVTQlRNQ19JT0NfTlIsIDM1KQo=