Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [1/6] xhci: Fix leaking USB3 shared_hcd at xhci removal From: Mathias Nyman Message-Id: <1542010889-8716-2-git-send-email-mathias.nyman@linux.intel.com> Date: Mon, 12 Nov 2018 10:21:24 +0200 To: linux-usb@vger.kernel.org List-ID: RW5zdXJlIHRoYXQgdGhlIHNoYXJlZF9oY2QgcG9pbnRlciBpcyB2YWxpZCB3aGVuIGNhbGxpbmcg dXNiX3B1dF9oY2QoKQoKVGhlIHNoYXJlZF9oY2QgaXMgcmVtb3ZlZCBhbmQgZnJlZWQgaW4geGhj aSBieSBmaXJzdCBjYWxsaW5nCnVzYl9yZW1vdmVfaGNkKHhoY2ktPnNoYXJlZF9oY2QpLCBhbmQg bGF0ZXIKdXNiX3B1dF9oY2QoeGhjaS0+c2hhcmVkX2hjZCkKCkFmZXIgY29tbWl0IGZlMTkwZWQw ZDYwMiAoInhoY2k6IERvIG5vdCBoYWx0IHRoZSBob3N0IHVudGlsIGJvdGggSENEIGhhdmUKZGlz Y29ubmVjdGVkIHRoZWlyIGRldmljZXMuIikgdGhlIHNoYXJlZF9oY2Qgd2FzIG5ldmVyIHByb3Bl cmx5IHB1dCBhcwp4aGNpLT5zaGFyZWRfaGNkIHdhcyBzZXQgdG8gTlVMTCBiZWZvcmUgdXNiX3B1 dF9oY2QoeGhjaS0+c2hhcmVkX2hjZCkgd2FzCmNhbGxlZC4KCnNoYXJlZF9oY2QgKFVTQjMpIGlz IHJlbW92ZWQgYmVmb3JlIHByaW1hcnkgaGNkIChVU0IyKS4KV2hpbGUgcmVtb3ZpbmcgdGhlIHBy aW1hcnkgaGNkIHdlIG1pZ2h0IG5lZWQgdG8gaGFuZGxlIHhoY2kgaW50ZXJydXB0cwp0byBjbGVh bmx5IHJlbW92ZSBsYXN0IFVTQjIgZGV2aWNlcywgdGhlcmVmb3JlIHdlIG5lZWQgdG8gc2V0Cnho Y2ktPnNoYXJlZF9oY2QgdG8gTlVMTCBiZWZvcmUgcmVtb3ZpbmcgdGhlIHByaW1hcnkgaGNkIHRv IGxldCB4aGNpCmludGVycnVwdCBoYW5kbGVyIGtub3cgc2hhcmVkX2hjZCBpcyBubyBsb25nZXIg YXZhaWxhYmxlLgoKeGhjaS1wbGF0LmMsIHhoY2ktaGlzdGIuYyBhbmQgeGhjaS1tdGsgZmlyc3Qg Y3JlYXRlIGJvdGggdGhlaXIgaGNkJ3MgYmVmb3JlCmFkZGluZyB0aGVtLiBzbyB0byBrZWVwIHRo ZSBjb3JyZWN0IHJldmVyc2UgcmVtb3ZhbCBvcmRlciB1c2UgYSB0ZW1wb3JhcnkKc2hhcmVkX2hj ZCB2YXJpYWJsZSBmb3IgdGhlbS4KRm9yIG1vcmUgZGV0YWlscyBzZWUgY29tbWl0IDRhYzUzMDg3 ZDZkNCAoInVzYjogeGhjaTogcGxhdDogQ3JlYXRlIGJvdGgKSENEcyBiZWZvcmUgYWRkaW5nIHRo ZW0iKQoKRml4ZXM6IGZlMTkwZWQwZDYwMiAoInhoY2k6IERvIG5vdCBoYWx0IHRoZSBob3N0IHVu dGlsIGJvdGggSENEIGhhdmUgZGlzY29ubmVjdGVkIHRoZWlyIGRldmljZXMuIikKQ2M6IEpvZWwg U3RhbmxleSA8am9lbEBqbXMuaWQuYXU+CkNjOiBDaHVuZmVuZyBZdW4gPGNodW5mZW5nLnl1bkBt ZWRpYXRlay5jb20+CkNjOiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgpDYzog Smlhbmd1byBTdW4gPHN1bmppYW5ndW8xQGh1YXdlaS5jb20+CkNjOiA8c3RhYmxlQHZnZXIua2Vy bmVsLm9yZz4KUmVwb3J0ZWQtYnk6IEphY2sgUGhhbSA8amFja3BAY29kZWF1cm9yYS5vcmc+ClRl c3RlZC1ieTogSmFjayBQaGFtIDxqYWNrcEBjb2RlYXVyb3JhLm9yZz4KVGVzdGVkLWJ5OiBQZXRl ciBDaGVuIDxwZXRlci5jaGVuQG54cC5jb20+ClNpZ25lZC1vZmYtYnk6IE1hdGhpYXMgTnltYW4g PG1hdGhpYXMubnltYW5AbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvdXNiL2hvc3QveGhj aS1oaXN0Yi5jIHwgNiArKysrLS0KIGRyaXZlcnMvdXNiL2hvc3QveGhjaS1tdGsuYyAgIHwgNiAr KysrLS0KIGRyaXZlcnMvdXNiL2hvc3QveGhjaS1wY2kuYyAgIHwgMSArCiBkcml2ZXJzL3VzYi9o b3N0L3hoY2ktcGxhdC5jICB8IDYgKysrKy0tCiBkcml2ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEu YyB8IDEgKwogZHJpdmVycy91c2IvaG9zdC94aGNpLmMgICAgICAgfCAyIC0tCiA2IGZpbGVzIGNo YW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy91c2IvaG9zdC94aGNpLWhpc3RiLmMgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktaGlzdGIu YwppbmRleCAyN2YwMDE2Li4zYzRhYmI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3ho Y2ktaGlzdGIuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktaGlzdGIuYwpAQCAtMzI1LDE0 ICszMjUsMTYgQEAgc3RhdGljIGludCB4aGNpX2hpc3RiX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpkZXYpCiAJc3RydWN0IHhoY2lfaGNkX2hpc3RiICpoaXN0YiA9IHBsYXRmb3JtX2dl dF9kcnZkYXRhKGRldik7CiAJc3RydWN0IHVzYl9oY2QgKmhjZCA9IGhpc3RiLT5oY2Q7CiAJc3Ry dWN0IHhoY2lfaGNkCSp4aGNpID0gaGNkX3RvX3hoY2koaGNkKTsKKwlzdHJ1Y3QgdXNiX2hjZCAq c2hhcmVkX2hjZCA9IHhoY2ktPnNoYXJlZF9oY2Q7CiAKIAl4aGNpLT54aGNfc3RhdGUgfD0gWEhD SV9TVEFURV9SRU1PVklORzsKIAotCXVzYl9yZW1vdmVfaGNkKHhoY2ktPnNoYXJlZF9oY2QpOwor CXVzYl9yZW1vdmVfaGNkKHNoYXJlZF9oY2QpOworCXhoY2ktPnNoYXJlZF9oY2QgPSBOVUxMOwog CWRldmljZV93YWtldXBfZGlzYWJsZSgmZGV2LT5kZXYpOwogCiAJdXNiX3JlbW92ZV9oY2QoaGNk KTsKLQl1c2JfcHV0X2hjZCh4aGNpLT5zaGFyZWRfaGNkKTsKKwl1c2JfcHV0X2hjZChzaGFyZWRf aGNkKTsKIAogCXhoY2lfaGlzdGJfaG9zdF9kaXNhYmxlKGhpc3RiKTsKIAl1c2JfcHV0X2hjZCho Y2QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC94aGNpLW10ay5jIGIvZHJpdmVycy91 c2IvaG9zdC94aGNpLW10ay5jCmluZGV4IDcxZDBkMzMuLjYwOTg3YzcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvdXNiL2hvc3QveGhjaS1tdGsuYworKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktbXRr LmMKQEAgLTU5MCwxMiArNTkwLDE0IEBAIHN0YXRpYyBpbnQgeGhjaV9tdGtfcmVtb3ZlKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKmRldikKIAlzdHJ1Y3QgeGhjaV9oY2RfbXRrICptdGsgPSBwbGF0 Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOwogCXN0cnVjdCB1c2JfaGNkCSpoY2QgPSBtdGstPmhjZDsK IAlzdHJ1Y3QgeGhjaV9oY2QJKnhoY2kgPSBoY2RfdG9feGhjaShoY2QpOworCXN0cnVjdCB1c2Jf aGNkICAqc2hhcmVkX2hjZCA9IHhoY2ktPnNoYXJlZF9oY2Q7CiAKLQl1c2JfcmVtb3ZlX2hjZCh4 aGNpLT5zaGFyZWRfaGNkKTsKKwl1c2JfcmVtb3ZlX2hjZChzaGFyZWRfaGNkKTsKKwl4aGNpLT5z aGFyZWRfaGNkID0gTlVMTDsKIAlkZXZpY2VfaW5pdF93YWtldXAoJmRldi0+ZGV2LCBmYWxzZSk7 CiAKIAl1c2JfcmVtb3ZlX2hjZChoY2QpOwotCXVzYl9wdXRfaGNkKHhoY2ktPnNoYXJlZF9oY2Qp OworCXVzYl9wdXRfaGNkKHNoYXJlZF9oY2QpOwogCXVzYl9wdXRfaGNkKGhjZCk7CiAJeGhjaV9t dGtfc2NoX2V4aXQobXRrKTsKIAl4aGNpX210a19jbGtzX2Rpc2FibGUobXRrKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1wY2kuYyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1w Y2kuYwppbmRleCAwMWM1NzA1Li4xZmI0NDhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0 L3hoY2ktcGNpLmMKKysrIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXBjaS5jCkBAIC0zODAsNiAr MzgwLDcgQEAgc3RhdGljIHZvaWQgeGhjaV9wY2lfcmVtb3ZlKHN0cnVjdCBwY2lfZGV2ICpkZXYp CiAJaWYgKHhoY2ktPnNoYXJlZF9oY2QpIHsKIAkJdXNiX3JlbW92ZV9oY2QoeGhjaS0+c2hhcmVk X2hjZCk7CiAJCXVzYl9wdXRfaGNkKHhoY2ktPnNoYXJlZF9oY2QpOworCQl4aGNpLT5zaGFyZWRf aGNkID0gTlVMTDsKIAl9CiAKIAkvKiBXb3JrYXJvdW5kIGZvciBzcHVyaW91cyB3YWtldXBzIGF0 IHNodXRkb3duIHdpdGggSFNXICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2kt cGxhdC5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXBsYXQuYwppbmRleCAzMmI1NTc0Li5lZjA5 Y2IwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcGxhdC5jCisrKyBiL2RyaXZl cnMvdXNiL2hvc3QveGhjaS1wbGF0LmMKQEAgLTM2MiwxNCArMzYyLDE2IEBAIHN0YXRpYyBpbnQg eGhjaV9wbGF0X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0IHho Y2lfaGNkCSp4aGNpID0gaGNkX3RvX3hoY2koaGNkKTsKIAlzdHJ1Y3QgY2xrICpjbGsgPSB4aGNp LT5jbGs7CiAJc3RydWN0IGNsayAqcmVnX2NsayA9IHhoY2ktPnJlZ19jbGs7CisJc3RydWN0IHVz Yl9oY2QgKnNoYXJlZF9oY2QgPSB4aGNpLT5zaGFyZWRfaGNkOwogCiAJeGhjaS0+eGhjX3N0YXRl IHw9IFhIQ0lfU1RBVEVfUkVNT1ZJTkc7CiAKLQl1c2JfcmVtb3ZlX2hjZCh4aGNpLT5zaGFyZWRf aGNkKTsKKwl1c2JfcmVtb3ZlX2hjZChzaGFyZWRfaGNkKTsKKwl4aGNpLT5zaGFyZWRfaGNkID0g TlVMTDsKIAl1c2JfcGh5X3NodXRkb3duKGhjZC0+dXNiX3BoeSk7CiAKIAl1c2JfcmVtb3ZlX2hj ZChoY2QpOwotCXVzYl9wdXRfaGNkKHhoY2ktPnNoYXJlZF9oY2QpOworCXVzYl9wdXRfaGNkKHNo YXJlZF9oY2QpOwogCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGNsayk7CiAJY2xrX2Rpc2FibGVf dW5wcmVwYXJlKHJlZ19jbGspOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC94aGNpLXRl Z3JhLmMgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEuYwppbmRleCA2YjVkYjM0Li45Mzhm ZjA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEuYworKysgYi9kcml2 ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEuYwpAQCAtMTMwMyw2ICsxMzAzLDcgQEAgc3RhdGljIGlu dCB0ZWdyYV94dXNiX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCiAJdXNi X3JlbW92ZV9oY2QoeGhjaS0+c2hhcmVkX2hjZCk7CiAJdXNiX3B1dF9oY2QoeGhjaS0+c2hhcmVk X2hjZCk7CisJeGhjaS0+c2hhcmVkX2hjZCA9IE5VTEw7CiAJdXNiX3JlbW92ZV9oY2QodGVncmEt PmhjZCk7CiAJdXNiX3B1dF9oY2QodGVncmEtPmhjZCk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv dXNiL2hvc3QveGhjaS5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLmMKaW5kZXggMDQyMGVlZi4u YzkyOGRiYiAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvaG9zdC94aGNpLmMKKysrIGIvZHJpdmVy cy91c2IvaG9zdC94aGNpLmMKQEAgLTcxOSw4ICs3MTksNiBAQCBzdGF0aWMgdm9pZCB4aGNpX3N0 b3Aoc3RydWN0IHVzYl9oY2QgKmhjZCkKIAogCS8qIE9ubHkgaGFsdCBob3N0IGFuZCBmcmVlIG1l bW9yeSBhZnRlciBib3RoIGhjZHMgYXJlIHJlbW92ZWQgKi8KIAlpZiAoIXVzYl9oY2RfaXNfcHJp bWFyeV9oY2QoaGNkKSkgewotCQkvKiB1c2IgY29yZSB3aWxsIGZyZWUgdGhpcyBoY2Qgc2hvcnRs eSwgdW5zZXQgcG9pbnRlciAqLwotCQl4aGNpLT5zaGFyZWRfaGNkID0gTlVMTDsKIAkJbXV0ZXhf dW5sb2NrKCZ4aGNpLT5tdXRleCk7CiAJCXJldHVybjsKIAl9Cg==