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: [v2] usb: host: xhci: Support running urb giveback in tasklet context From: Suwan Kim Message-Id: <20190401141611.10087-1-suwan.kim027@gmail.com> Date: Mon, 1 Apr 2019 23:16:11 +0900 To: mathias.nyman@linux.intel.com Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, gregkh@linuxfoundation.org, Suwan Kim List-ID: UGF0Y2ggIlVTQjogSENEOiBzdXBwb3J0IGdpdmViYWNrIG9mIFVSQiBpbiB0YXNrbGV0IGNvbnRl eHQiWzFdCmludHJvZHVjZWQgZ2l2ZWJhY2sgb2YgdXJiIGluIHRhc2tsZXQgY29udGV4dC4gWzFd IFRoaXMgcGF0Y2ggd2FzCmFwcGxpZWQgdG8gZWhjaSBidXQgbm90IHhoY2kuIFsyXSBUaGlzIHBh dGNoIHNpZ25pZmljYW50bHkgcmVkdWNlcwp0aGUgaGFyZCBpcnEgdGltZSBvZiB4aGNpLiBFc3Bl Y2lhbGx5IGZvciB1dmMgZHJpdmVyLCB0aGUgaGFyZCBpcnEKaW5jbHVkaW5nIHRoZSB1dmMgY29t cGxldGlvbiBmdW5jdGlvbiBydW5zIHF1aXRlIGxvbmcgYnV0IGFwcGx5aW5nCnRoaXMgcGF0Y2gg cmVkdWNlcyB0aGUgaGFyZCBpcnEgdGltZSBvZiB4aGNpLgoKSSBoYXZlIHRlc3RlZCBmb3VyIFNT IGRldmljZXMgdG8gY2hlY2sgaWYgcGVyZm9ybWFuY2UgZGVncmFkYXRpb24Kb2NjdXJzIHdoZW4g dXJiIGNvbXBsZXRpb24gZnVuY3Rpb25zIHJ1biBpbiB0aGUgdGFza2xldCBjb250ZXh0LgoKQXMg YSByZXN1bHQgb2YgdGhlIHRlc3QsIGFsbCBkZXZpY2VzIHdvcmtzIHdlbGwgYW5kIHNob3dzIHZl cnkKc2ltaWxhciBwZXJmb3JtYW5jZSB3aXRoIHRoZSB1cHN0cmVhbSBrZXJuZWwuIE1vcmVvdmVy LCB1c2IgZXRoZXJuZXQKYWRhcHRlciBzaG93IGJldHRlciBwZXJmb3JtYW5jZSB0aGFuIHRoZSB1 cHN0cmVhbSBrZXJuZWwgYWJvdXQgNSUgZm9yClJYIGFuZCAyJSBmb3IgVFguIEZvdXIgU1MgZGV2 aWNlcyBpcyBhcyBmb2xsb3dzLgoKU1MgZGV2aWNlcyBmb3IgdGVzdAoKMS4gV0QgTXkgUGFzc3Bv cnQgMlRCIChleHRlcm5hbCBoYXJkIGRyaXZlKQoyLiBTYW5kaXNrIFVsdHJhIEZsYWlyIFVTQiAz LjAgMzJHQgozLiBMb2dpdGVjaCBCcmlvIHdlYmNhbQo0LiBJcHRpbWUgMWdpZ2FiaXQgZXRoZXJu ZXQgYWRhcHRlciAoTWVkaWF0ZWsgUlRMODE1MykKClRlc3QgZGVzY3JpcHRpb24KCjEuIE1hc3Mg c3RvcmFnZSAoaGFyZCBkcml2ZSkgcGVyZm9ybWFuY2UgdGVzdAotIHJ1biBiZWxvdyBjb21tYW5k IDEwIHRpbWVzIGFuZCBjb21wdXRlIHRoZSBhdmVyYWdlIHBlcmZvcm1hbmNlCgogICAgZGQgaWY9 L2Rldi9zZE4gaWZsYWc9ZGlyZWN0IG9mPS9kZXYvbnVsbCBicz0xRyBjb3VudD0xCgoyLiBNYXNz IHN0b3JhZ2UgKGZsYXNoIG1lbW9yeSkgcGVyZm9ybWFuY2UgdGVzdAotIHJ1biBiZWxvdyBjb21t YW5kIDEwIHRpbWVzIGFuZCBjb21wdXRlIHRoZSBhdmVyYWdlIHBlcmZvcm1hbmNlCgogICAgZGQg aWY9L2Rldi9zZE4gaWZsYWc9ZGlyZWN0IG9mPS9kZXYvbnVsbCBicz0xRyBjb3VudD0xCgozLiBX ZWJjYW0gc3RyZWFtaW5nIHBlcmZvcm1hbmNlIHRlc3QKLSBydW4gc2ltcGxlIGNhcHR1cmUgcHJv Z3JhbSBhbmQgZ2V0IHRoZSBhdmVyYWdlIGZyYW1lIHJhdGUgcGVyIHNlY29uZAotIGNhcHR1cmUg MTUwMCBmcmFtZXMKLSBwcm9ncmFtIGxpbmsKCiAgICBodHRwczovL2dpdGh1Yi5jb20vYXNmYWNh L1dlYmNhbS1wZXJmb3JtYW5jZS1hbmFseXppbmctdG9vbAoKLSB2aWRlbyByZXNvbHV0aW9uIDog NDA5NiBYIDIxNjAgKDRLKSBhdCAzMCBvciAyNCBmcHMKLSBkZXZpY2UgKExvZ2l0ZWNoIEJyaW8p IHNwZWMgdXJsIGZvciB0aGUgaGlnaGVzdCByZXNvbHV0aW9uIGFuZCBmcHMKCiAgICBodHRwczov L3N1cHBvcnQubG9naXRlY2guY29tL2VuX2diL3Byb2R1Y3QvYnJpby1zdHJlYW0vc3BlY3MKCjQu IFVTQiBFdGhlcm5ldCBhZGFwdGVyIHBlcmZvcm1hbmNlIHRlc3QKLSBkaXJlY3RseSBjb25uZWN0 IHR3byBsaW51eCBtYWNoaW5lcyB3aXRoIGV0aGVybmV0IGNhYmxlCi0gcnVuIHBrdGdlbiBvZiBs aW51eCBrZXJuZWwgYW5kIHNlbmQgMTUwMCBieXRlcyBwYWNrZXRzCi0gcnVuIHZuc3RhdCB0byBt ZWFzdXJlIHRoZSBuZXR3b3JrIGJhbmR3aWR0aCBmb3IgMTgwIHNlY29uZHMKClRlc3QgbWFjaGlu ZQoKLSBDUFUgOiBJbnRlbCBpNS03NjAwIEAgMy41R0h6CgpUZXN0IHJlc3VsdHMKCjEuIE1hc3Mg c3RvcmFnZSAoaGFyZCBkcml2ZSkgcGVyZm9ybWFuY2UgdGVzdAoKICAgICAgICAgICAgV0QgTXkg UGFzc3BvcnQgMlRCIChleHRlcm5hbCBoYXJkIGRyaXZlKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgeGhjaSB3 aXRob3V0IHRhc2tsZXQgICAgICAgIHwgICAgICAgICAgeGhjaSB3aXRoIHRhc2tsZXQKLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICAgICAgICAgMTAzLjY2N01CL3MgICAgICAgICAgICB8ICAgICAgICAgICAgMTAzLjY5 Mk1CL3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCjIuIE1hc3Mgc3RvcmFnZSAoZmxhc2ggbWVtb3J5KSBwZXJmb3Jt YW5jZSB0ZXN0CgogICAgICAgICAgICAgICBTYW5kaXNrIFVsdHJhIEZsYWlyIFVTQiAzLjAgMzJH QgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQogICAgeGhjaSB3aXRob3V0IHRhc2tsZXQgICAgICAgIHwgICAgICAgICAg eGhjaSB3aXRoIHRhc2tsZXQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICAgMTI5LjcyN01CL3MgICAgICAg ICAgICB8ICAgICAgICAgICAgMTMwLjJNQi9zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgozLiBXZWJjYW0gc3RyZWFt aW5nIHBlcmZvcm1hbmNlIHRlc3QKCiAgICAgICAgICAgICAgICAgICAgIExvZ2l0ZWNoIEJyaW8g d2ViY2FtCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAgICB4aGNpIHdpdGhvdXQgdGFza2xldCAgICAgICAgfCAgICAg ICAgICB4aGNpIHdpdGggdGFza2xldAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICAgMjYuNDQ1MSBmcHMg ICAgICAgICAgIHwgICAgICAgICAgICAyNi4zOTQ5IGZwcwotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKNC4gVVNCIEV0 aGVybmV0IGFkYXB0ZXIgcGVyZm9ybWFuY2UgdGVzdAoKICAgICAgSXB0aW1lIDFnaWdhYml0IGV0 aGVybmV0IGFkYXB0ZXIgKE1lZGlhdGVrIFJUTDgxNTMpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICB4aGNpIHdp dGhvdXQgdGFza2xldCAgICAgICAgfCAgICAgICAgICB4aGNpIHdpdGggdGFza2xldAotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQpSWCAgICAgIDkzMy44NiBNYml0L3MgICAgICAgICAgIHwgICAgICAgICAgICA5ODMuODYg TWJpdC9zCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tClRYICAgICAgODMwLjE4IE1iaXQvcyAgICAgICAgICAgfCAgICAg ICAgICAgIDg4Mi43NSBNYml0L3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KClsxXSwgaHR0cHM6Ly9naXQua2VybmVs Lm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8/ aWQ9OTRkZmQ3ZWRmZDVjOWI2MDVjYWY3YjU2MmRlN2E4MTNkMjE2ZTAxMQpbMl0sIGh0dHBzOi8v Z2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4Lmdp dC9jb21taXQvP2lkPTQyOGFhYzhhODEwNThlMjMwMzY3N2E4ZmJmMjY2NzAyMjllNTFkM2EKClNp Z25lZC1vZmYtYnk6IFN1d2FuIEtpbSA8c3V3YW4ua2ltMDI3QGdtYWlsLmNvbT4KLS0tCnYyIGNo YW5nZToKICAgICAgICAtIEFkZCBTUyBkZXZpY2UgdGVzdCByZXN1bHRzIGFuZCByZXdyaXRlIHRo ZSBkZXNjcmlwdGlvbgotLS0KIGRyaXZlcnMvdXNiL2hvc3QveGhjaS1yaW5nLmMgfCAyIC0tCiBk cml2ZXJzL3VzYi9ob3N0L3hoY2kuYyAgICAgIHwgMiArLQogMiBmaWxlcyBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0 L3hoY2ktcmluZy5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXJpbmcuYwppbmRleCA0MGZhMjVj NGQwNDEuLjBlZGU1MjY1ZTZlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC94aGNpLXJp bmcuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcmluZy5jCkBAIC02NDQsMTAgKzY0NCw4 IEBAIHN0YXRpYyB2b2lkIHhoY2lfZ2l2ZWJhY2tfdXJiX2luX2lycShzdHJ1Y3QgeGhjaV9oY2Qg KnhoY2ksCiAJfQogCXhoY2lfdXJiX2ZyZWVfcHJpdih1cmJfcHJpdik7CiAJdXNiX2hjZF91bmxp bmtfdXJiX2Zyb21fZXAoaGNkLCB1cmIpOwotCXNwaW5fdW5sb2NrKCZ4aGNpLT5sb2NrKTsKIAl0 cmFjZV94aGNpX3VyYl9naXZlYmFjayh1cmIpOwogCXVzYl9oY2RfZ2l2ZWJhY2tfdXJiKGhjZCwg dXJiLCBzdGF0dXMpOwotCXNwaW5fbG9jaygmeGhjaS0+bG9jayk7CiB9CiAKIHN0YXRpYyB2b2lk IHhoY2lfdW5tYXBfdGRfYm91bmNlX2J1ZmZlcihzdHJ1Y3QgeGhjaV9oY2QgKnhoY2ksCmRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2kuYyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5j CmluZGV4IDdmYTU4Yzk5ZjEyNi4uYmIyMTJiNDY2OWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Vz Yi9ob3N0L3hoY2kuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2kuYwpAQCAtNTE0MSw3ICs1 MTQxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBoY19kcml2ZXIgeGhjaV9oY19kcml2ZXIgPSB7 CiAJICogZ2VuZXJpYyBoYXJkd2FyZSBsaW5rYWdlCiAJICovCiAJLmlycSA9CQkJeGhjaV9pcnEs Ci0JLmZsYWdzID0JCUhDRF9NRU1PUlkgfCBIQ0RfVVNCMyB8IEhDRF9TSEFSRUQsCisJLmZsYWdz ID0JCUhDRF9NRU1PUlkgfCBIQ0RfVVNCMyB8IEhDRF9TSEFSRUQgfCBIQ0RfQkgsCiAKIAkvKgog CSAqIGJhc2ljIGxpZmVjeWNsZSBvcGVyYXRpb25zCg==