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: Roger Quadros Message-Id: <1516626103-1969-3-git-send-email-rogerq@ti.com> Date: Mon, 22 Jan 2018 15:01:43 +0200 To: balbi@kernel.org Cc: linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Roger Quadros List-ID: QWRkaW5nL3JlbW92aW5nIGhvc3QvZ2FkZ2V0IGNvbnRyb2xsZXIgYmVmb3JlIC5wbV9jb21wbGV0 ZSgpCmNhdXNlcyBhIGxvY2stdXAuIExldCdzIHByZXZlbnQgYW55IGR1YWwtcm9sZSBzdGF0ZSBj aGFuZ2UKYmV0d2VlbiAucG1fcHJlcGFyZSgpIGFuZCAucG1fY29tcGxldGUoKSB0byBmaXggdGhp cy4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFF1YWRyb3MgPHJvZ2VycUB0aS5jb20+Ci0tLQogZHJp dmVycy91c2IvZHdjMy9jb3JlLmMgfCAzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL3VzYi9kd2MzL2NvcmUuaCB8ICA1ICsrKysrCiBkcml2ZXJzL3VzYi9kd2MzL2Ry ZC5jICB8IDEwICsrKysrKy0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9kd2MzL2NvcmUuYyBiL2Ry aXZlcnMvdXNiL2R3YzMvY29yZS5jCmluZGV4IDQyMzc5Y2MuLjg1Mzg4ZGQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvdXNiL2R3YzMvY29yZS5jCisrKyBiL2RyaXZlcnMvdXNiL2R3YzMvY29yZS5jCkBA IC0xNDE0LDYgKzE0MTQsMzMgQEAgc3RhdGljIGludCBkd2MzX3J1bnRpbWVfaWRsZShzdHJ1Y3Qg ZGV2aWNlICpkZXYpCiAjZW5kaWYgLyogQ09ORklHX1BNICovCiAKICNpZmRlZiBDT05GSUdfUE1f U0xFRVAKK3N0YXRpYyBpbnQgZHdjM19wcmVwYXJlKHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlz dHJ1Y3QgZHdjMwkqZHdjID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJdW5zaWduZWQgbG9uZwlm bGFnczsKKworCWlmIChkd2MtPmRyX21vZGUgPT0gVVNCX0RSX01PREVfT1RHKSB7CisJCXNwaW5f bG9ja19pcnFzYXZlKCZkd2MtPmxvY2ssIGZsYWdzKTsKKwkJZHdjLT5kcl9rZWVwX3JvbGUgPSB0 cnVlOworCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkd2MtPmxvY2ssIGZsYWdzKTsKKwl9CisK KwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZHdjM19jb21wbGV0ZShzdHJ1Y3QgZGV2aWNl ICpkZXYpCit7CisJc3RydWN0IGR3YzMJKmR3YyA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVu c2lnbmVkIGxvbmcJZmxhZ3M7CisKKwlpZiAoZHdjLT5kcl9tb2RlID09IFVTQl9EUl9NT0RFX09U RykgeworCQlzcGluX2xvY2tfaXJxc2F2ZSgmZHdjLT5sb2NrLCBmbGFncyk7CisJCWR3Yy0+ZHJf a2VlcF9yb2xlID0gZmFsc2U7CisJCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmR3Yy0+bG9jaywg ZmxhZ3MpOworCQlkd2MzX2RyZF91cGRhdGUoZHdjKTsKKwl9Cit9CisKIHN0YXRpYyBpbnQgZHdj M19zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHdjMwkqZHdjID0gZGV2 X2dldF9kcnZkYXRhKGRldik7CkBAIC0xNDUxLDYgKzE0NzgsMTAgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkZXZfcG1fb3BzIGR3YzNfZGV2X3BtX29wcyA9IHsKIAlTRVRfU1lTVEVNX1NMRUVQX1BN X09QUyhkd2MzX3N1c3BlbmQsIGR3YzNfcmVzdW1lKQogCVNFVF9SVU5USU1FX1BNX09QUyhkd2Mz X3J1bnRpbWVfc3VzcGVuZCwgZHdjM19ydW50aW1lX3Jlc3VtZSwKIAkJCWR3YzNfcnVudGltZV9p ZGxlKQorI2lmZGVmIENPTkZJR19QTV9TTEVFUAorCS5wcmVwYXJlID0gZHdjM19wcmVwYXJlLAor CS5jb21wbGV0ZSA9IGR3YzNfY29tcGxldGUsCisjZW5kaWYKIH07CiAKICNpZmRlZiBDT05GSUdf T0YKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2R3YzMvY29yZS5oIGIvZHJpdmVycy91c2IvZHdj My9jb3JlLmgKaW5kZXggNGE0YTRjOS4uZjVlYjQ3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2Iv ZHdjMy9jb3JlLmgKKysrIGIvZHJpdmVycy91c2IvZHdjMy9jb3JlLmgKQEAgLTc4Niw2ICs3ODYs NyBAQCBzdHJ1Y3QgZHdjM19zY3JhdGNocGFkX2FycmF5IHsKICAqIEBkcl9tb2RlOiByZXF1ZXN0 ZWQgbW9kZSBvZiBvcGVyYXRpb24KICAqIEBjdXJyZW50X2RyX3JvbGU6IGN1cnJlbnQgcm9sZSBv ZiBvcGVyYXRpb24gd2hlbiBpbiBkdWFsLXJvbGUgbW9kZQogICogQGRlc2lyZWRfZHJfcm9sZTog ZGVzaXJlZCByb2xlIG9mIG9wZXJhdGlvbiB3aGVuIGluIGR1YWwtcm9sZSBtb2RlCisgKiBAZHJf a2VlcF9yb2xlOiBrZWVwIHRoZSBjdXJyZW50IGR1YWwtcm9sZSBpcnJlc3BlY3RpdmUgb2YgSUQg Y2hhbmdlcwogICogQGVkZXY6IGV4dGNvbiBoYW5kbGUKICAqIEBlZGV2X25iOiBleHRjb24gbm90 aWZpZXIKICAqIEBoc3BoeV9tb2RlOiBVVE1JIHBoeSBtb2RlLCBvbmUgb2YgZm9sbG93aW5nOgpA QCAtOTAxLDYgKzkwMiw3IEBAIHN0cnVjdCBkd2MzIHsKIAllbnVtIHVzYl9kcl9tb2RlCWRyX21v ZGU7CiAJdTMyCQkJY3VycmVudF9kcl9yb2xlOwogCXUzMgkJCWRlc2lyZWRfZHJfcm9sZTsKKwli b29sCQkJZHJfa2VlcF9yb2xlOwogCXN0cnVjdCBleHRjb25fZGV2CSplZGV2OwogCXN0cnVjdCBu b3RpZmllcl9ibG9jawllZGV2X25iOwogCWVudW0gdXNiX3BoeV9pbnRlcmZhY2UJaHNwaHlfbW9k ZTsKQEAgLTEyMjcsMTEgKzEyMjksMTQgQEAgc3RhdGljIGlubGluZSBpbnQgZHdjM19zZW5kX2dh ZGdldF9nZW5lcmljX2NvbW1hbmQoc3RydWN0IGR3YzMgKmR3YywKICNpZiBJU19FTkFCTEVEKENP TkZJR19VU0JfRFdDM19EVUFMX1JPTEUpCiBpbnQgZHdjM19kcmRfaW5pdChzdHJ1Y3QgZHdjMyAq ZHdjKTsKIHZvaWQgZHdjM19kcmRfZXhpdChzdHJ1Y3QgZHdjMyAqZHdjKTsKK3ZvaWQgZHdjM19k cmRfdXBkYXRlKHN0cnVjdCBkd2MzICpkd2MpOwogI2Vsc2UKIHN0YXRpYyBpbmxpbmUgaW50IGR3 YzNfZHJkX2luaXQoc3RydWN0IGR3YzMgKmR3YykKIHsgcmV0dXJuIDA7IH0KIHN0YXRpYyBpbmxp bmUgdm9pZCBkd2MzX2RyZF9leGl0KHN0cnVjdCBkd2MzICpkd2MpCiB7IH0KK3N0YXRpYyBpbmxp bmUgdm9pZCBkd2MzX2RyZF91cGRhdGUoc3RydWN0IGR3YzMgKmR3Yyk7Cit7IH0KICNlbmRpZgog CiAvKiBwb3dlciBtYW5hZ2VtZW50IGludGVyZmFjZSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy91 c2IvZHdjMy9kcmQuYyBiL2RyaXZlcnMvdXNiL2R3YzMvZHJkLmMKaW5kZXggY2M4YWI5YS4uMTc3 YThiZSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvZHdjMy9kcmQuYworKysgYi9kcml2ZXJzL3Vz Yi9kd2MzL2RyZC5jCkBAIC0xMyw3ICsxMyw3IEBACiAjaW5jbHVkZSAiY29yZS5oIgogI2luY2x1 ZGUgImdhZGdldC5oIgogCi1zdGF0aWMgdm9pZCBkd2MzX2RyZF91cGRhdGUoc3RydWN0IGR3YzMg KmR3YykKK3ZvaWQgZHdjM19kcmRfdXBkYXRlKHN0cnVjdCBkd2MzICpkd2MpCiB7CiAJaW50IGlk OwogCkBAIC0zMSw5ICszMSwxMSBAQCBzdGF0aWMgaW50IGR3YzNfZHJkX25vdGlmaWVyKHN0cnVj dCBub3RpZmllcl9ibG9jayAqbmIsCiB7CiAJc3RydWN0IGR3YzMgKmR3YyA9IGNvbnRhaW5lcl9v ZihuYiwgc3RydWN0IGR3YzMsIGVkZXZfbmIpOwogCi0JZHdjM19zZXRfbW9kZShkd2MsIGV2ZW50 ID8KLQkJICAgICAgRFdDM19HQ1RMX1BSVENBUF9IT1NUIDoKLQkJICAgICAgRFdDM19HQ1RMX1BS VENBUF9ERVZJQ0UpOworCWlmICghZHdjLT5kcl9rZWVwX3JvbGUpIHsKKwkJZHdjM19zZXRfbW9k ZShkd2MsIGV2ZW50ID8KKwkJCSAgICAgIERXQzNfR0NUTF9QUlRDQVBfSE9TVCA6CisJCQkgICAg ICBEV0MzX0dDVExfUFJUQ0FQX0RFVklDRSk7CisJfQogCiAJcmV0dXJuIE5PVElGWV9ET05FOwog fQo=