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: [2/2] usb: dwc3: drd: Fix lock-up on ID change during system suspend/resume From: Manu Gautam Message-Id: <522f639a-466f-ae72-745e-61cbcc6fbfc7@codeaurora.org> Date: Tue, 23 Jan 2018 09:15:08 +0530 To: Roger Quadros , balbi@kernel.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org List-ID: SGksCgoKT24gMS8yMi8yMDE4IDY6MzEgUE0sIFJvZ2VyIFF1YWRyb3Mgd3JvdGU6Cj4gQWRkaW5n L3JlbW92aW5nIGhvc3QvZ2FkZ2V0IGNvbnRyb2xsZXIgYmVmb3JlIC5wbV9jb21wbGV0ZSgpCj4g Y2F1c2VzIGEgbG9jay11cC4gTGV0J3MgcHJldmVudCBhbnkgZHVhbC1yb2xlIHN0YXRlIGNoYW5n ZQo+IGJldHdlZW4gLnBtX3ByZXBhcmUoKSBhbmQgLnBtX2NvbXBsZXRlKCkgdG8gZml4IHRoaXMu CgpXaGF0IGtpbmQgb2YgbG9jay11cCBhcmUgeW91IHNlZWluZz8gU29tZSBoYXJkd2FyZSBsb2Nr dXAgb3Igc29mdHdhcmUgZGVhZGxvY2s/CklNTyB1c2luZyBhIGZyZWV6YWJsZV93cSBmb3IgZHJk X3dvcmsgc2hvdWxkIGFkZHJlc3MgdGhhdD8KCgo+Cj4gU2lnbmVkLW9mZi1ieTogUm9nZXIgUXVh ZHJvcyA8cm9nZXJxQHRpLmNvbT4KPiAtLS0KPiAgZHJpdmVycy91c2IvZHdjMy9jb3JlLmMgfCAz MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIGRyaXZlcnMvdXNiL2R3YzMvY29y ZS5oIHwgIDUgKysrKysKPiAgZHJpdmVycy91c2IvZHdjMy9kcmQuYyAgfCAxMCArKysrKystLS0t Cj4gIDMgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9kd2MzL2NvcmUuYyBiL2RyaXZlcnMvdXNiL2R3YzMv Y29yZS5jCj4gaW5kZXggNDIzNzljYy4uODUzODhkZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3Vz Yi9kd2MzL2NvcmUuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2R3YzMvY29yZS5jCj4gQEAgLTE0MTQs NiArMTQxNCwzMyBAQCBzdGF0aWMgaW50IGR3YzNfcnVudGltZV9pZGxlKHN0cnVjdCBkZXZpY2Ug KmRldikKPiAgI2VuZGlmIC8qIENPTkZJR19QTSAqLwo+ICAKPiAgI2lmZGVmIENPTkZJR19QTV9T TEVFUAo+ICtzdGF0aWMgaW50IGR3YzNfcHJlcGFyZShzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gK3sK PiArCXN0cnVjdCBkd2MzCSpkd2MgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiArCXVuc2lnbmVk IGxvbmcJZmxhZ3M7Cj4gKwo+ICsJaWYgKGR3Yy0+ZHJfbW9kZSA9PSBVU0JfRFJfTU9ERV9PVEcp IHsKPiArCQlzcGluX2xvY2tfaXJxc2F2ZSgmZHdjLT5sb2NrLCBmbGFncyk7Cj4gKwkJZHdjLT5k cl9rZWVwX3JvbGUgPSB0cnVlOwo+ICsJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR3Yy0+bG9j aywgZmxhZ3MpOwo+ICsJfQo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBkd2MzX2NvbXBsZXRlKHN0cnVjdCBkZXZpY2UgKmRldikKPiArewo+ICsJc3RydWN0IGR3YzMJ KmR3YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsJdW5zaWduZWQgbG9uZwlmbGFnczsKPiAr Cj4gKwlpZiAoZHdjLT5kcl9tb2RlID09IFVTQl9EUl9NT0RFX09URykgewo+ICsJCXNwaW5fbG9j a19pcnFzYXZlKCZkd2MtPmxvY2ssIGZsYWdzKTsKPiArCQlkd2MtPmRyX2tlZXBfcm9sZSA9IGZh bHNlOwo+ICsJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR3Yy0+bG9jaywgZmxhZ3MpOwo+ICsJ CWR3YzNfZHJkX3VwZGF0ZShkd2MpOwo+ICsJfQo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGR3YzNf c3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkd2MzCSpkd2MgPSBk ZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiBAQCAtMTQ1MSw2ICsxNDc4LDEwIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZGV2X3BtX29wcyBkd2MzX2Rldl9wbV9vcHMgPSB7Cj4gIAlTRVRfU1lTVEVNX1NM RUVQX1BNX09QUyhkd2MzX3N1c3BlbmQsIGR3YzNfcmVzdW1lKQo+ICAJU0VUX1JVTlRJTUVfUE1f T1BTKGR3YzNfcnVudGltZV9zdXNwZW5kLCBkd2MzX3J1bnRpbWVfcmVzdW1lLAo+ICAJCQlkd2Mz X3J1bnRpbWVfaWRsZSkKPiArI2lmZGVmIENPTkZJR19QTV9TTEVFUAo+ICsJLnByZXBhcmUgPSBk d2MzX3ByZXBhcmUsCj4gKwkuY29tcGxldGUgPSBkd2MzX2NvbXBsZXRlLAo+ICsjZW5kaWYKPiAg fTsKPiAgCj4gICNpZmRlZiBDT05GSUdfT0YKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdj My9jb3JlLmggYi9kcml2ZXJzL3VzYi9kd2MzL2NvcmUuaAo+IGluZGV4IDRhNGE0YzkuLmY1ZWI0 NzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91c2IvZHdjMy9jb3JlLmgKPiArKysgYi9kcml2ZXJz L3VzYi9kd2MzL2NvcmUuaAo+IEBAIC03ODYsNiArNzg2LDcgQEAgc3RydWN0IGR3YzNfc2NyYXRj aHBhZF9hcnJheSB7Cj4gICAqIEBkcl9tb2RlOiByZXF1ZXN0ZWQgbW9kZSBvZiBvcGVyYXRpb24K PiAgICogQGN1cnJlbnRfZHJfcm9sZTogY3VycmVudCByb2xlIG9mIG9wZXJhdGlvbiB3aGVuIGlu IGR1YWwtcm9sZSBtb2RlCj4gICAqIEBkZXNpcmVkX2RyX3JvbGU6IGRlc2lyZWQgcm9sZSBvZiBv cGVyYXRpb24gd2hlbiBpbiBkdWFsLXJvbGUgbW9kZQo+ICsgKiBAZHJfa2VlcF9yb2xlOiBrZWVw IHRoZSBjdXJyZW50IGR1YWwtcm9sZSBpcnJlc3BlY3RpdmUgb2YgSUQgY2hhbmdlcwo+ICAgKiBA ZWRldjogZXh0Y29uIGhhbmRsZQo+ICAgKiBAZWRldl9uYjogZXh0Y29uIG5vdGlmaWVyCj4gICAq IEBoc3BoeV9tb2RlOiBVVE1JIHBoeSBtb2RlLCBvbmUgb2YgZm9sbG93aW5nOgo+IEBAIC05MDEs NiArOTAyLDcgQEAgc3RydWN0IGR3YzMgewo+ICAJZW51bSB1c2JfZHJfbW9kZQlkcl9tb2RlOwo+ ICAJdTMyCQkJY3VycmVudF9kcl9yb2xlOwo+ICAJdTMyCQkJZGVzaXJlZF9kcl9yb2xlOwo+ICsJ Ym9vbAkJCWRyX2tlZXBfcm9sZTsKPiAgCXN0cnVjdCBleHRjb25fZGV2CSplZGV2Owo+ICAJc3Ry dWN0IG5vdGlmaWVyX2Jsb2NrCWVkZXZfbmI7Cj4gIAllbnVtIHVzYl9waHlfaW50ZXJmYWNlCWhz cGh5X21vZGU7Cj4gQEAgLTEyMjcsMTEgKzEyMjksMTQgQEAgc3RhdGljIGlubGluZSBpbnQgZHdj M19zZW5kX2dhZGdldF9nZW5lcmljX2NvbW1hbmQoc3RydWN0IGR3YzMgKmR3YywKPiAgI2lmIElT X0VOQUJMRUQoQ09ORklHX1VTQl9EV0MzX0RVQUxfUk9MRSkKPiAgaW50IGR3YzNfZHJkX2luaXQo c3RydWN0IGR3YzMgKmR3Yyk7Cj4gIHZvaWQgZHdjM19kcmRfZXhpdChzdHJ1Y3QgZHdjMyAqZHdj KTsKPiArdm9pZCBkd2MzX2RyZF91cGRhdGUoc3RydWN0IGR3YzMgKmR3Yyk7Cj4gICNlbHNlCj4g IHN0YXRpYyBpbmxpbmUgaW50IGR3YzNfZHJkX2luaXQoc3RydWN0IGR3YzMgKmR3YykKPiAgeyBy ZXR1cm4gMDsgfQo+ICBzdGF0aWMgaW5saW5lIHZvaWQgZHdjM19kcmRfZXhpdChzdHJ1Y3QgZHdj MyAqZHdjKQo+ICB7IH0KPiArc3RhdGljIGlubGluZSB2b2lkIGR3YzNfZHJkX3VwZGF0ZShzdHJ1 Y3QgZHdjMyAqZHdjKTsKPiAreyB9Cj4gICNlbmRpZgo+ICAKPiAgLyogcG93ZXIgbWFuYWdlbWVu dCBpbnRlcmZhY2UgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZHdjMy9kcmQuYyBiL2Ry aXZlcnMvdXNiL2R3YzMvZHJkLmMKPiBpbmRleCBjYzhhYjlhLi4xNzdhOGJlIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvdXNiL2R3YzMvZHJkLmMKPiArKysgYi9kcml2ZXJzL3VzYi9kd2MzL2RyZC5j Cj4gQEAgLTEzLDcgKzEzLDcgQEAKPiAgI2luY2x1ZGUgImNvcmUuaCIKPiAgI2luY2x1ZGUgImdh ZGdldC5oIgo+ICAKPiAtc3RhdGljIHZvaWQgZHdjM19kcmRfdXBkYXRlKHN0cnVjdCBkd2MzICpk d2MpCj4gK3ZvaWQgZHdjM19kcmRfdXBkYXRlKHN0cnVjdCBkd2MzICpkd2MpCj4gIHsKPiAgCWlu dCBpZDsKPiAgCj4gQEAgLTMxLDkgKzMxLDExIEBAIHN0YXRpYyBpbnQgZHdjM19kcmRfbm90aWZp ZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYiwKPiAgewo+ICAJc3RydWN0IGR3YzMgKmR3YyA9 IGNvbnRhaW5lcl9vZihuYiwgc3RydWN0IGR3YzMsIGVkZXZfbmIpOwo+ICAKPiAtCWR3YzNfc2V0 X21vZGUoZHdjLCBldmVudCA/Cj4gLQkJICAgICAgRFdDM19HQ1RMX1BSVENBUF9IT1NUIDoKPiAt CQkgICAgICBEV0MzX0dDVExfUFJUQ0FQX0RFVklDRSk7Cj4gKwlpZiAoIWR3Yy0+ZHJfa2VlcF9y b2xlKSB7Cj4gKwkJZHdjM19zZXRfbW9kZShkd2MsIGV2ZW50ID8KPiArCQkJICAgICAgRFdDM19H Q1RMX1BSVENBUF9IT1NUIDoKPiArCQkJICAgICAgRFdDM19HQ1RMX1BSVENBUF9ERVZJQ0UpOwo+ ICsJfQo+ICAKPiAgCXJldHVybiBOT1RJRllfRE9ORTsKPiAgfQo=