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: [RFT,1/2] xhci: Fix leaking USB3 shared_hcd at xhci removal From: Jack Pham Message-Id: <20180928181212.GD17520@jackp-linux.qualcomm.com> Date: Fri, 28 Sep 2018 11:12:12 -0700 To: Mathias Nyman Cc: peter.chen@nxp.com, linux-imx@nxp.com, linux-usb@vger.kernel.org, jun.li@nxp.com, joel@jms.id.au, mrana@codeaurora.org, Chunfeng Yun , Thierry Reding , Jianguo Sun , stable@vger.kernel.org List-ID: T24gVGh1LCBTZXAgMjcsIDIwMTggYXQgMDc6MjY6MjZQTSArMDMwMCwgTWF0aGlhcyBOeW1hbiB3 cm90ZToKPiBFbnN1cmUgdGhhdCB0aGUgc2hhcmVkX2hjZCBwb2ludGVyIGlzIHZhbGlkIHdoZW4g Y2FsbGluZyB1c2JfcHV0X2hjZCgpCj4gCj4gVGhlIHNoYXJlZF9oY2QgaXMgcmVtb3ZlZCBhbmQg ZnJlZWQgaW4geGhjaSBieSBmaXJzdCBjYWxsaW5nCj4gdXNiX3JlbW92ZV9oY2QoeGhjaS0+c2hh cmVkX2hjZCksIGFuZCBsYXRlcgo+IHVzYl9wdXRfaGNkKHhoY2ktPnNoYXJlZF9oY2QpCj4gCj4g QWZlciBjb21taXQgZmUxOTBlZDBkNjAyICgieGhjaTogRG8gbm90IGhhbHQgdGhlIGhvc3QgdW50 aWwgYm90aCBIQ0QgaGF2ZQo+IGRpc2Nvbm5lY3RlZCB0aGVpciBkZXZpY2VzLiIpIHRoZSBzaGFy ZWRfaGNkIHdhcyBuZXZlciBwcm9wZXJseSBwdXQgYXMKPiB4aGNpLT5zaGFyZWRfaGNkIHdhcyBz ZXQgdG8gTlVMTCBiZWZvcmUgdXNiX3B1dF9oY2QoeGhjaS0+c2hhcmVkX2hjZCkgd2FzCj4gY2Fs bGVkLgo+IAo+IHNoYXJlZF9oY2QgKFVTQjMpIGlzIHJlbW92ZWQgYmVmb3JlIHByaW1hcnkgaGNk IChVU0IyKS4KPiBXaGlsZSByZW1vdmluZyB0aGUgcHJpbWFyeSBoY2Qgd2UgbWlnaHQgbmVlZCB0 byBoYW5kbGUgeGhjaSBpbnRlcnJ1cHRzCj4gdG8gY2xlYW5seSByZW1vdmUgbGFzdCBVU0IyIGRl dmljZXMsIHRoZXJlZm9yZSB3ZSBuZWVkIHRvIHNldAo+IHhoY2ktPnNoYXJlZF9oY2QgdG8gTlVM TCBiZWZvcmUgcmVtb3ZpbmcgdGhlIHByaW1hcnkgaGNkIHRvIGxldCB4aGNpCj4gaW50ZXJydXB0 IGhhbmRsZXIga25vdyBzaGFyZWRfaGNkIGlzIG5vIGxvbmdlciBhdmFpbGFibGUuCj4gCj4geGhj aS1wbGF0LmMsIHhoY2ktaGlzdGIuYyBhbmQgeGhjaS1tdGsgZmlyc3QgY3JlYXRlIGJvdGggdGhl aXIgaGNkJ3MgYmVmb3JlCj4gYWRkaW5nIHRoZW0uIHNvIHRvIGtlZXAgdGhlIGNvcnJlY3QgcmV2 ZXJzZSByZW1vdmFsIG9yZGVyIHVzZSBhIHRlbXBvcmFyeQo+IHNoYXJlZF9oY2QgdmFyaWFibGUg Zm9yIHRoZW0uCj4gRm9yIG1vcmUgZGV0YWlscyBzZWUgY29tbWl0IDRhYzUzMDg3ZDZkNCAoInVz YjogeGhjaTogcGxhdDogQ3JlYXRlIGJvdGgKPiBIQ0RzIGJlZm9yZSBhZGRpbmcgdGhlbSIpCj4g Cj4gRml4ZXM6IGZlMTkwZWQwZDYwMiAoInhoY2k6IERvIG5vdCBoYWx0IHRoZSBob3N0IHVudGls IGJvdGggSENEIGhhdmUgZGlzY29ubmVjdGVkIHRoZWlyIGRldmljZXMuIikKPiBDYzogSm9lbCBT dGFubGV5IDxqb2VsQGptcy5pZC5hdT4KPiBDYzogQ2h1bmZlbmcgWXVuIDxjaHVuZmVuZy55dW5A bWVkaWF0ZWsuY29tPgo+IENjOiBUaGllcnJ5IFJlZGluZyA8dHJlZGluZ0BudmlkaWEuY29tPgo+ IENjOiBKaWFuZ3VvIFN1biA8c3Vuamlhbmd1bzFAaHVhd2VpLmNvbT4KPiBDYzogPHN0YWJsZUB2 Z2VyLmtlcm5lbC5vcmc+Cj4gUmVwb3J0ZWQtYnk6IEphY2sgUGhhbSA8amFja3BAY29kZWF1cm9y YS5vcmc+Cj4gU2lnbmVkLW9mZi1ieTogTWF0aGlhcyBOeW1hbiA8bWF0aGlhcy5ueW1hbkBsaW51 eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvdXNiL2hvc3QveGhjaS1oaXN0Yi5jIHwgNiAr KysrLS0KPiAgZHJpdmVycy91c2IvaG9zdC94aGNpLW10ay5jICAgfCA2ICsrKystLQo+ICBkcml2 ZXJzL3VzYi9ob3N0L3hoY2ktcGNpLmMgICB8IDEgKwo+ICBkcml2ZXJzL3VzYi9ob3N0L3hoY2kt cGxhdC5jICB8IDYgKysrKy0tCj4gIGRyaXZlcnMvdXNiL2hvc3QveGhjaS10ZWdyYS5jIHwgMSAr Cj4gIGRyaXZlcnMvdXNiL2hvc3QveGhjaS5jICAgICAgIHwgMiAtLQo+ICA2IGZpbGVzIGNoYW5n ZWQsIDE0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL2hvc3QveGhjaS1oaXN0Yi5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLWhpc3Ri LmMKPiBpbmRleCAyN2YwMDE2Li4zYzRhYmI1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2hv c3QveGhjaS1oaXN0Yi5jCj4gKysrIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLWhpc3RiLmMKPiBA QCAtMzI1LDE0ICszMjUsMTYgQEAgc3RhdGljIGludCB4aGNpX2hpc3RiX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpkZXYpCj4gIAlzdHJ1Y3QgeGhjaV9oY2RfaGlzdGIgKmhpc3RiID0g cGxhdGZvcm1fZ2V0X2RydmRhdGEoZGV2KTsKPiAgCXN0cnVjdCB1c2JfaGNkICpoY2QgPSBoaXN0 Yi0+aGNkOwo+ICAJc3RydWN0IHhoY2lfaGNkCSp4aGNpID0gaGNkX3RvX3hoY2koaGNkKTsKPiAr CXN0cnVjdCB1c2JfaGNkICpzaGFyZWRfaGNkID0geGhjaS0+c2hhcmVkX2hjZDsKPiAgCj4gIAl4 aGNpLT54aGNfc3RhdGUgfD0gWEhDSV9TVEFURV9SRU1PVklORzsKPiAgCj4gLQl1c2JfcmVtb3Zl X2hjZCh4aGNpLT5zaGFyZWRfaGNkKTsKPiArCXVzYl9yZW1vdmVfaGNkKHNoYXJlZF9oY2QpOwo+ ICsJeGhjaS0+c2hhcmVkX2hjZCA9IE5VTEw7Cj4gIAlkZXZpY2Vfd2FrZXVwX2Rpc2FibGUoJmRl di0+ZGV2KTsKPiAgCj4gIAl1c2JfcmVtb3ZlX2hjZChoY2QpOwo+IC0JdXNiX3B1dF9oY2QoeGhj aS0+c2hhcmVkX2hjZCk7Cj4gKwl1c2JfcHV0X2hjZChzaGFyZWRfaGNkKTsKPiAgCj4gIAl4aGNp X2hpc3RiX2hvc3RfZGlzYWJsZShoaXN0Yik7Cj4gIAl1c2JfcHV0X2hjZChoY2QpOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktbXRrLmMgYi9kcml2ZXJzL3VzYi9ob3N0L3ho Y2ktbXRrLmMKPiBpbmRleCA3MWQwZDMzLi42MDk4N2M3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv dXNiL2hvc3QveGhjaS1tdGsuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1tdGsuYwo+ IEBAIC01OTAsMTIgKzU5MCwxNCBAQCBzdGF0aWMgaW50IHhoY2lfbXRrX3JlbW92ZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpkZXYpCj4gIAlzdHJ1Y3QgeGhjaV9oY2RfbXRrICptdGsgPSBwbGF0 Zm9ybV9nZXRfZHJ2ZGF0YShkZXYpOwo+ICAJc3RydWN0IHVzYl9oY2QJKmhjZCA9IG10ay0+aGNk Owo+ICAJc3RydWN0IHhoY2lfaGNkCSp4aGNpID0gaGNkX3RvX3hoY2koaGNkKTsKPiArCXN0cnVj dCB1c2JfaGNkICAqc2hhcmVkX2hjZCA9IHhoY2ktPnNoYXJlZF9oY2Q7Cj4gIAo+IC0JdXNiX3Jl bW92ZV9oY2QoeGhjaS0+c2hhcmVkX2hjZCk7Cj4gKwl1c2JfcmVtb3ZlX2hjZChzaGFyZWRfaGNk KTsKPiArCXhoY2ktPnNoYXJlZF9oY2QgPSBOVUxMOwo+ICAJZGV2aWNlX2luaXRfd2FrZXVwKCZk ZXYtPmRldiwgZmFsc2UpOwo+ICAKPiAgCXVzYl9yZW1vdmVfaGNkKGhjZCk7Cj4gLQl1c2JfcHV0 X2hjZCh4aGNpLT5zaGFyZWRfaGNkKTsKPiArCXVzYl9wdXRfaGNkKHNoYXJlZF9oY2QpOwo+ICAJ dXNiX3B1dF9oY2QoaGNkKTsKPiAgCXhoY2lfbXRrX3NjaF9leGl0KG10ayk7Cj4gIAl4aGNpX210 a19jbGtzX2Rpc2FibGUobXRrKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC94aGNp LXBjaS5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXBjaS5jCj4gaW5kZXggNTFkZDhlMC4uOTJm ZDZiNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcGNpLmMKPiArKysgYi9k cml2ZXJzL3VzYi9ob3N0L3hoY2ktcGNpLmMKPiBAQCAtMzU2LDYgKzM1Niw3IEBAIHN0YXRpYyB2 b2lkIHhoY2lfcGNpX3JlbW92ZShzdHJ1Y3QgcGNpX2RldiAqZGV2KQo+ICAJaWYgKHhoY2ktPnNo YXJlZF9oY2QpIHsKPiAgCQl1c2JfcmVtb3ZlX2hjZCh4aGNpLT5zaGFyZWRfaGNkKTsKPiAgCQl1 c2JfcHV0X2hjZCh4aGNpLT5zaGFyZWRfaGNkKTsKPiArCQl4aGNpLT5zaGFyZWRfaGNkID0gTlVM TDsKPiAgCX0KPiAgCj4gIAkvKiBXb3JrYXJvdW5kIGZvciBzcHVyaW91cyB3YWtldXBzIGF0IHNo dXRkb3duIHdpdGggSFNXICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS1w bGF0LmMgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcGxhdC5jCj4gaW5kZXggOTRlOTM5Mi4uZTVk YThjZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcGxhdC5jCj4gKysrIGIv ZHJpdmVycy91c2IvaG9zdC94aGNpLXBsYXQuYwo+IEBAIC0zNTksMTQgKzM1OSwxNiBAQCBzdGF0 aWMgaW50IHhoY2lfcGxhdF9yZW1vdmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqZGV2KQo+ICAJ c3RydWN0IHhoY2lfaGNkCSp4aGNpID0gaGNkX3RvX3hoY2koaGNkKTsKPiAgCXN0cnVjdCBjbGsg KmNsayA9IHhoY2ktPmNsazsKPiAgCXN0cnVjdCBjbGsgKnJlZ19jbGsgPSB4aGNpLT5yZWdfY2xr Owo+ICsJc3RydWN0IHVzYl9oY2QgKnNoYXJlZF9oY2QgPSB4aGNpLT5zaGFyZWRfaGNkOwo+ICAK PiAgCXhoY2ktPnhoY19zdGF0ZSB8PSBYSENJX1NUQVRFX1JFTU9WSU5HOwo+ICAKPiAtCXVzYl9y ZW1vdmVfaGNkKHhoY2ktPnNoYXJlZF9oY2QpOwo+ICsJdXNiX3JlbW92ZV9oY2Qoc2hhcmVkX2hj ZCk7Cj4gKwl4aGNpLT5zaGFyZWRfaGNkID0gTlVMTDsKPiAgCXVzYl9waHlfc2h1dGRvd24oaGNk LT51c2JfcGh5KTsKPiAgCj4gIAl1c2JfcmVtb3ZlX2hjZChoY2QpOwo+IC0JdXNiX3B1dF9oY2Qo eGhjaS0+c2hhcmVkX2hjZCk7Cj4gKwl1c2JfcHV0X2hjZChzaGFyZWRfaGNkKTsKPiAgCj4gIAlj bGtfZGlzYWJsZV91bnByZXBhcmUoY2xrKTsKPiAgCWNsa19kaXNhYmxlX3VucHJlcGFyZShyZWdf Y2xrKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9zdC94aGNpLXRlZ3JhLmMgYi9kcml2 ZXJzL3VzYi9ob3N0L3hoY2ktdGVncmEuYwo+IGluZGV4IDRiNDYzZTUuLmIxY2NlOTggMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy91c2IvaG9zdC94aGNpLXRlZ3JhLmMKPiArKysgYi9kcml2ZXJzL3Vz Yi9ob3N0L3hoY2ktdGVncmEuYwo+IEBAIC0xMjQwLDYgKzEyNDAsNyBAQCBzdGF0aWMgaW50IHRl Z3JhX3h1c2JfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAo+ICAJdXNi X3JlbW92ZV9oY2QoeGhjaS0+c2hhcmVkX2hjZCk7Cj4gIAl1c2JfcHV0X2hjZCh4aGNpLT5zaGFy ZWRfaGNkKTsKPiArCXhoY2ktPnNoYXJlZF9oY2QgPSBOVUxMOwo+ICAJdXNiX3JlbW92ZV9oY2Qo dGVncmEtPmhjZCk7Cj4gIAl1c2JfcHV0X2hjZCh0ZWdyYS0+aGNkKTsKPiAgCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLmMKPiBp bmRleCAwNDIwZWVmLi5jOTI4ZGJiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2hvc3QveGhj aS5jCj4gKysrIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLmMKPiBAQCAtNzE5LDggKzcxOSw2IEBA IHN0YXRpYyB2b2lkIHhoY2lfc3RvcChzdHJ1Y3QgdXNiX2hjZCAqaGNkKQo+ICAKPiAgCS8qIE9u bHkgaGFsdCBob3N0IGFuZCBmcmVlIG1lbW9yeSBhZnRlciBib3RoIGhjZHMgYXJlIHJlbW92ZWQg Ki8KPiAgCWlmICghdXNiX2hjZF9pc19wcmltYXJ5X2hjZChoY2QpKSB7Cj4gLQkJLyogdXNiIGNv cmUgd2lsbCBmcmVlIHRoaXMgaGNkIHNob3J0bHksIHVuc2V0IHBvaW50ZXIgKi8KPiAtCQl4aGNp LT5zaGFyZWRfaGNkID0gTlVMTDsKPiAgCQltdXRleF91bmxvY2soJnhoY2ktPm11dGV4KTsKPiAg CQlyZXR1cm47Cj4gIAl9CgpUZXN0ZWQtYnk6IEphY2sgUGhhbSA8amFja3BAY29kZWF1cm9yYS5v cmc+Cg==