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: [1/3] usb: host: xhci: fix oops when removing hcd From: Jack Pham Message-Id: <20180924163746.GD13306@jackp-linux.qualcomm.com> Date: Mon, 24 Sep 2018 09:37:46 -0700 To: Peter Chen Cc: mathias.nyman@intel.com, linux-usb@vger.kernel.org, linux-imx@nxp.com, jun.li@nxp.com, Joel Stanley , Mayank Rana List-ID: SGkgUGV0ZXIsCgpPbiBGcmksIFNlcCAyMSwgMjAxOCBhdCAwOTo0ODo0M0FNICswODAwLCBQZXRl ciBDaGVuIHdyb3RlOgo+IFR5cGUtQy10by1BIGNhYmxlLCBhbmQgdGhlIFVTQjMgSENEIGhhcyBh bHJlYWR5IGJlZW4gTlVMTCBhdCB0aGF0IHRpbWUuCj4gVGhlIG9vcHMgbG9nIGxpa2UgYmVsb3c6 Cj4gCj4gWzY4MS43ODIyODhdIHhoY2ktaGNkIHhoY2ktaGNkLjEuYXV0bzogcmVtb3ZlLCBzdGF0 ZSAxCj4gWzY4MS43ODc0OTBdIHVzYiB1c2I0OiBVU0IgZGlzY29ubmVjdCwgZGV2aWNlIG51bWJl ciAxCj4gWzY4MS43OTI4MDhdIHVzYiA0LTE6IFVTQiBkaXNjb25uZWN0LCBkZXZpY2UgbnVtYmVy IDIKPiBbNjgxLjgxODA4OV0geGhjaS1oY2QgeGhjaS1oY2QuMS5hdXRvOiBVU0IgYnVzIDQgZGVy ZWdpc3RlcmVkCj4gWzY4MS44MjM4MDNdIFVuYWJsZSB0byBoYW5kbGUga2VybmVsIE5VTEwgcG9p bnRlciBkZXJlZmVyZW5jZSBhdCB2aXJ0dWFsIGFkZHJlc3MgMDAwMDAwYTAKPiBbNjgxLjgyMzgw Nl0gTWVtIGFib3J0IGluZm86Cj4gWzY4MS44MjM4MDldICAgRXhjZXB0aW9uIGNsYXNzID0gREFC VCAoY3VycmVudCBFTCksIElMID0gMzIgYml0cwo+IFs2ODEuODIzODExXSAgIFNFVCA9IDAsIEZu ViA9IDAKPiBbNjgxLjgyMzgxM10gICBFQSA9IDAsIFMxUFRXID0gMAo+IFs2ODEuODIzODE0XSBE YXRhIGFib3J0IGluZm86Cj4gWzY4MS44MjM4MTZdICAgSVNWID0gMCwgSVNTID0gMHgwMDAwMDAw NAo+IFs2ODEuODIzODE4XSAgIENNID0gMCwgV25SID0gMAo+IFs2ODEuODIzODIyXSB1c2VyIHBn dGFibGU6IDRrIHBhZ2VzLCA0OC1iaXQgVkFzLCBwZ2QgPSBmZmZmODAwMGFlM2ZkMDAwCj4gWzY4 MS44MjM4MjRdIFswMDAwMDAwMDAwMDAwMGEwXSAqcGdkPTAwMDAwMDAwMDAwMDAwMDAKPiBbNjgx LjgyMzgyOV0gSW50ZXJuYWwgZXJyb3I6IE9vcHM6IDk2MDAwMDA0IFsjMV0gUFJFRU1QVCBTTVAK PiBbNjgxLjgyMzgzMl0gTW9kdWxlcyBsaW5rZWQgaW46IDgwMjFxIGdhcnAgc3RwIG1ycCBjcmMz Ml9jZSBxY2E2MTc0KE8pIGNyY3QxMGRpZl9jZSBnYWxjb3JlKE8pCj4gWzY4MS44MjM4NDldIENQ VTogMCBQSUQ6IDk0IENvbW06IGt3b3JrZXIvMDoxIFRhaW50ZWQ6IEcgICAgICAgICAgIE8gICAg NC4xNC42Mi1pbXhfNC4xNC55K2djZDYzZGVmICMxCj4gWzY4MS44MjM4NTFdIEhhcmR3YXJlIG5h bWU6IEZyZWVzY2FsZSBpLk1YOE1RIEVWSyAoRFQpCj4gWzY4MS44MjM4NjJdIFdvcmtxdWV1ZTog ZXZlbnRzX2ZyZWV6YWJsZSBfX2R3YzNfc2V0X21vZGUKPiBbNjgxLjgyMzg2NV0gdGFzazogZmZm ZjgwMDBiOGExODAwMCB0YXNrLnN0YWNrOiBmZmZmMDAwMDBhMDEwMDAwCj4gWzY4MS44MjM4NzJd IFBDIGlzIGF0IHhoY2lfaXJxKzB4NWZjLzB4MTRiOAo+IFs2ODEuODIzODc1XSBMUiBpcyBhdCB4 aGNpX2lycSsweDNjLzB4MTRiOAoKPHNuaXA+Cgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9o b3N0L3hoY2ktcmluZy5jIGIvZHJpdmVycy91c2IvaG9zdC94aGNpLXJpbmcuYwo+IGluZGV4IGYw YTk5YWEwYWM1OC4uMmRjNTE3NmI3OWQwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2hvc3Qv eGhjaS1yaW5nLmMKPiArKysgYi9kcml2ZXJzL3VzYi9ob3N0L3hoY2ktcmluZy5jCj4gQEAgLTI2 ODAsNyArMjY4MCw4IEBAIGlycXJldHVybl90IHhoY2lfaXJxKHN0cnVjdCB1c2JfaGNkICpoY2Qp Cj4gIAl9Cj4gIAo+ICAJaWYgKHhoY2ktPnhoY19zdGF0ZSAmIFhIQ0lfU1RBVEVfRFlJTkcgfHwK PiAtCSAgICB4aGNpLT54aGNfc3RhdGUgJiBYSENJX1NUQVRFX0hBTFRFRCkgewo+ICsJICAgIHho Y2ktPnhoY19zdGF0ZSAmIFhIQ0lfU1RBVEVfSEFMVEVEIHx8Cj4gKwkgICAgeGhjaS0+eGhjX3N0 YXRlICYgWEhDSV9TVEFURV9SRU1PVklORykgewo+ICAJCXhoY2lfZGJnKHhoY2ksICJ4SENJIGR5 aW5nLCBpZ25vcmluZyBpbnRlcnJ1cHQuICIKPiAgCQkJCSJTaG91bGRuJ3QgSVJRcyBiZSBkaXNh YmxlZD9cbiIpOwo+ICAJCS8qIENsZWFyIHRoZSBldmVudCBoYW5kbGVyIGJ1c3kgZmxhZyAoUlcx Qyk7CgpXZSBhbHNvIG5vdGljZWQgdGhlIHNhbWUgY3Jhc2ggYXMgeW91IGZvdW5kLCBhbmQgdHJp ZWQgdG8gZml4IGl0IGluIGEKc2ltaWxhciB3YXksIGJ1dCBub3RpY2VkIHRoYXQgdGhpcyBzdGls bCBhbGxvd3MgYSBtZW1vcnkgbGVhayB0byBoYXBwZW4uCgpJdCBzZWVtcyBmcm9tIGNvbW1pdCBm ZTE5MGVkMGQ2MDJhICgieGhjaTogRG8gbm90IGhhbHQgdGhlIGhvc3QgdW50aWwKYm90aCBIQ0Qg aGF2ZSBkaXNjb25uZWN0ZWQgdGhlaXIgZGV2aWNlcy4iKSB0aGlzIHdhcyBhZGRlZCB0bwp4aGNp X3N0b3AoKSwgYW5kIGlzIHRoZSByZWFzb24gd2UgZW5jb3VudGVyIHRoZSBOVUxMIHBvaW50ZXIg aW4KeGhjaV9pcnEoKSB3aGVuIGl0IHRyaWVzIHRvIGFjY2VzcyB4aGNpLT5zaGFyZWRfaGNkLgoK CSsgICAgICAgLyogT25seSBoYWx0IGhvc3QgYW5kIGZyZWUgbWVtb3J5IGFmdGVyIGJvdGggaGNk cyBhcmUgcmVtb3ZlZCAqLwoJCWlmICghdXNiX2hjZF9pc19wcmltYXJ5X2hjZChoY2QpKSB7Cgkr ICAgICAgICAgICAgICAgLyogdXNiIGNvcmUgd2lsbCBmcmVlIHRoaXMgaGNkIHNob3J0bHksIHVu c2V0IHBvaW50ZXIgKi8KCSsgICAgICAgICAgICAgICB4aGNpLT5zaGFyZWRfaGNkID0gTlVMTDsK CQkJbXV0ZXhfdW5sb2NrKCZ4aGNpLT5tdXRleCk7CgkJCXJldHVybjsKCQl9CgpXaGlsZSB5b3Vy IGZpeCB3aWxsIHNpbXBseSBhYm9ydCB0aGUgeGhjaV9pcnEoKSBmdW5jdGlvbiBpZiBpdAplbmNv dW50ZXJzIFhIQ0lfU1RBVEVfUkVNT1ZJTkcsIGR1cmluZyB4aGNpX3BsYXRfcmVtb3ZlKCk6CgoJ c3RhdGljIGludCB4aGNpX3BsYXRfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKmRldikK CXsKCQlzdHJ1Y3QgdXNiX2hjZCAgKmhjZCA9IHBsYXRmb3JtX2dldF9kcnZkYXRhKGRldik7CgkJ c3RydWN0IHhoY2lfaGNkICp4aGNpID0gaGNkX3RvX3hoY2koaGNkKTsKCQlzdHJ1Y3QgY2xrICpj bGsgPSB4aGNpLT5jbGs7CgkJc3RydWN0IGNsayAqcmVnX2NsayA9IHhoY2ktPnJlZ19jbGs7CgoJ CXhoY2ktPnhoY19zdGF0ZSB8PSBYSENJX1NUQVRFX1JFTU9WSU5HOwoKCQl1c2JfcmVtb3ZlX2hj ZCh4aGNpLT5zaGFyZWRfaGNkKTsKCQleXl5eXl5eXl4gY2FsbHMgeGhjaV9zdG9wKCkgYW5kIHNl dHMgc2hhcmVkX2hjZD1OVUxMCgkJdXNiX3BoeV9zaHV0ZG93bihoY2QtPnVzYl9waHkpOwoKCQl1 c2JfcmVtb3ZlX2hjZChoY2QpOwoJCXVzYl9wdXRfaGNkKHhoY2ktPnNoYXJlZF9oY2QpOwoJCV5e Xl5eXl5eXl5eIHNoYXJlZF9oY2Q9PU5VTEwsIHNvIHRoaXMgaXMgYSBuby1vcAoKU2luY2UgdXNi X3B1dF9oY2QoKSBkb2Vzbid0IGdldCBjYWxsZWQgZm9yIHNoYXJlZF9oY2QsIHdlIGVuZCB1cAp3 aXRoIG9uZSBhZGRpdGlvbmFsIGtyZWYgY291bnQgYW5kIGhlbmNlIGEgbGVhay4KCldvbmRlcmlu ZyBpZiB3ZSBuZWVkIHRvIGFsc28gcmVtb3ZlIHRoZSB4aGNpLT5zaGFyZWRfaGNkID0gTlVMTCBm cm9tCnhoY2lfc3RvcCgpLCBpbiBhZGRpdGlvbiB0byB5b3VyIHBhdGNoZXMuIFRob3VnaHRzPwoK VGhhbmtzLApKYWNrCg==