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: [v2] musb: fix remote wakeup racing with suspend From: =?utf-8?q?Daniel_Gl=C3=B6ckner?= Message-Id: <20180503144325.20053-1-dg@emlix.com> Date: Thu, 3 May 2018 16:43:25 +0200 To: linux-usb@vger.kernel.org Cc: Bin Liu , Greg Kroah-Hartman , =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= List-ID: SXQgaGFzIGJlZW4gb2JzZXJ2ZWQgdGhhdCB3cml0aW5nIDB4RjIgdG8gdGhlIHBvd2VyIHJlZ2lz dGVyIHdoaWxlIGl0CnJlYWRzIGFzIDB4RjQgcmVzdWx0cyBpbiB0aGUgcmVnaXN0ZXIgaGF2aW5n IHRoZSB2YWx1ZSAweEYwLCBpLmUuIGNsZWFyaW5nClJFU1VNRSBhbmQgc2V0dGluZyBTVVNQRU5E TSBpbiBvbmUgZ28gZG9lcyBub3Qgd29yay4gSXQgbWlnaHQgYWxzbyB2aW9sYXRlCnRoZSBVU0Ig c3BlYyB0byB0cmFuc2l0aW9uIGRpcmVjdGx5IGZyb20gcmVzdW1lIHRvIHN1c3BlbmQsIGVzcGVj aWFsbHkKd2hlbiBub3QgdGFraW5nIFRfRFJTTUROIGludG8gYWNjb3VudC4gQnV0IHRoaXMgaXMg d2hhdCBoYXBwZW5zIHdoZW4gYQpyZW1vdGUgd2FrZXVwIG9jY3VycyBiZXR3ZWVuIFNldFBvcnRG ZWF0dXJlIFVTQl9QT1JUX0ZFQVRfU1VTUEVORCBvbiB0aGUKcm9vdCBodWIgYW5kIG11c2JfYnVz X3N1c3BlbmQgYmVpbmcgY2FsbGVkLgoKVGhpcyBjb21taXQgcmV0dXJucyAtRUJVU1kgd2hlbiBt dXNiX2J1c19zdXNwZW5kIGlzIGNhbGxlZCB3aGlsZSByZW1vdGUKd2FrZXVwIGlzIHNpZ25hbGxl ZCBhbmQgdGh1cyBhdm9pZHMgdG8gcmVzZXQgdGhlIFJFU1VNRSBiaXQuIElnbm9yaW5nCnRoaXMg ZXJyb3Igd2hlbiBtdXNiX3BvcnRfc3VzcGVuZCBpcyBjYWxsZWQgZnJvbSBtdXNiX2h1Yl9jb250 cm9sIGlzIG9rLgoKU2lnbmVkLW9mZi1ieTogRGFuaWVsIEdsw7Zja25lciA8ZGdAZW1saXguY29t PgotLS0KIGRyaXZlcnMvdXNiL211c2IvbXVzYl9ob3N0LmMgICAgfCAgNSArKysrLQogZHJpdmVy cy91c2IvbXVzYi9tdXNiX2hvc3QuaCAgICB8ICA3ICsrKysrLS0KIGRyaXZlcnMvdXNiL211c2Iv bXVzYl92aXJ0aHViLmMgfCAyNSArKysrKysrKysrKysrKystLS0tLS0tLS0tCiAzIGZpbGVzIGNo YW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvdXNiL211c2IvbXVzYl9ob3N0LmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfaG9zdC5j CmluZGV4IDRmYTM3MmMuLjJhZTNkNTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL211c2IvbXVz Yl9ob3N0LmMKKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2hvc3QuYwpAQCAtMjUyMiw4ICsy NTIyLDExIEBAIHN0YXRpYyBpbnQgbXVzYl9idXNfc3VzcGVuZChzdHJ1Y3QgdXNiX2hjZCAqaGNk KQogewogCXN0cnVjdCBtdXNiCSptdXNiID0gaGNkX3RvX211c2IoaGNkKTsKIAl1OAkJZGV2Y3Rs OworCWludAkJcmV0OwogCi0JbXVzYl9wb3J0X3N1c3BlbmQobXVzYiwgdHJ1ZSk7CisJcmV0ID0g bXVzYl9wb3J0X3N1c3BlbmQobXVzYiwgdHJ1ZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsK IAogCWlmICghaXNfaG9zdF9hY3RpdmUobXVzYikpCiAJCXJldHVybiAwOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy91c2IvbXVzYi9tdXNiX2hvc3QuaCBiL2RyaXZlcnMvdXNiL211c2IvbXVzYl9ob3N0 LmgKaW5kZXggNzIzOTJiYi4uMjk5OTg0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy91c2IvbXVzYi9t dXNiX2hvc3QuaAorKysgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfaG9zdC5oCkBAIC02Nyw3ICs2 Nyw3IEBAIGV4dGVybiB2b2lkIG11c2JfaG9zdF9yeChzdHJ1Y3QgbXVzYiAqLCB1OCk7CiBleHRl cm4gdm9pZCBtdXNiX3Jvb3RfZGlzY29ubmVjdChzdHJ1Y3QgbXVzYiAqbXVzYik7CiBleHRlcm4g dm9pZCBtdXNiX2hvc3RfcmVzdW1lX3Jvb3RfaHViKHN0cnVjdCBtdXNiICptdXNiKTsKIGV4dGVy biB2b2lkIG11c2JfaG9zdF9wb2tlX3Jvb3RfaHViKHN0cnVjdCBtdXNiICptdXNiKTsKLWV4dGVy biB2b2lkIG11c2JfcG9ydF9zdXNwZW5kKHN0cnVjdCBtdXNiICptdXNiLCBib29sIGRvX3N1c3Bl bmQpOworZXh0ZXJuIGludCBtdXNiX3BvcnRfc3VzcGVuZChzdHJ1Y3QgbXVzYiAqbXVzYiwgYm9v bCBkb19zdXNwZW5kKTsKIGV4dGVybiB2b2lkIG11c2JfcG9ydF9yZXNldChzdHJ1Y3QgbXVzYiAq bXVzYiwgYm9vbCBkb19yZXNldCk7CiBleHRlcm4gdm9pZCBtdXNiX2hvc3RfZmluaXNoX3Jlc3Vt ZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspOwogI2Vsc2UKQEAgLTk5LDcgKzk5LDEwIEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCBtdXNiX3Jvb3RfZGlzY29ubmVjdChzdHJ1Y3QgbXVzYiAqbXVzYikJ e30KIHN0YXRpYyBpbmxpbmUgdm9pZCBtdXNiX2hvc3RfcmVzdW1lX3Jvb3RfaHViKHN0cnVjdCBt dXNiICptdXNiKQl7fQogc3RhdGljIGlubGluZSB2b2lkIG11c2JfaG9zdF9wb2xsX3JoX3N0YXR1 cyhzdHJ1Y3QgbXVzYiAqbXVzYikJe30KIHN0YXRpYyBpbmxpbmUgdm9pZCBtdXNiX2hvc3RfcG9r ZV9yb290X2h1YihzdHJ1Y3QgbXVzYiAqbXVzYikJe30KLXN0YXRpYyBpbmxpbmUgdm9pZCBtdXNi X3BvcnRfc3VzcGVuZChzdHJ1Y3QgbXVzYiAqbXVzYiwgYm9vbCBkb19zdXNwZW5kKSB7fQorc3Rh dGljIGlubGluZSBpbnQgbXVzYl9wb3J0X3N1c3BlbmQoc3RydWN0IG11c2IgKm11c2IsIGJvb2wg ZG9fc3VzcGVuZCkKK3sKKwlyZXR1cm4gMDsKK30KIHN0YXRpYyBpbmxpbmUgdm9pZCBtdXNiX3Bv cnRfcmVzZXQoc3RydWN0IG11c2IgKm11c2IsIGJvb2wgZG9fcmVzZXQpIHt9CiBzdGF0aWMgaW5s aW5lIHZvaWQgbXVzYl9ob3N0X2ZpbmlzaF9yZXN1bWUoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KSB7fQogI2VuZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfdmlydGh1Yi5j IGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX3ZpcnRodWIuYwppbmRleCA1MTY1ZDJiLi4yZjhkZDk4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfdmlydGh1Yi5jCisrKyBiL2RyaXZl cnMvdXNiL211c2IvbXVzYl92aXJ0aHViLmMKQEAgLTQ4LDE0ICs0OCwxNCBAQCB2b2lkIG11c2Jf aG9zdF9maW5pc2hfcmVzdW1lKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZtdXNiLT5sb2NrLCBmbGFncyk7CiB9CiAKLXZvaWQgbXVzYl9wb3J0X3N1 c3BlbmQoc3RydWN0IG11c2IgKm11c2IsIGJvb2wgZG9fc3VzcGVuZCkKK2ludCBtdXNiX3BvcnRf c3VzcGVuZChzdHJ1Y3QgbXVzYiAqbXVzYiwgYm9vbCBkb19zdXNwZW5kKQogewogCXN0cnVjdCB1 c2Jfb3RnCSpvdGcgPSBtdXNiLT54Y2Vpdi0+b3RnOwogCXU4CQlwb3dlcjsKIAl2b2lkIF9faW9t ZW0JKm1iYXNlID0gbXVzYi0+bXJlZ3M7CiAKIAlpZiAoIWlzX2hvc3RfYWN0aXZlKG11c2IpKQot CQlyZXR1cm47CisJCXJldHVybiAwOwogCiAJLyogTk9URTogIHRoaXMgZG9lc24ndCBuZWNlc3Nh cmlseSBwdXQgUEhZIGludG8gbG93IHBvd2VyIG1vZGUsCiAJICogdHVybmluZyBvZmYgaXRzIGNs b2NrOyB0aGF0J3MgYSBmdW5jdGlvbiBvZiBQSFkgaW50ZWdyYXRpb24gYW5kCkBAIC02NiwxNiAr NjYsMjAgQEAgdm9pZCBtdXNiX3BvcnRfc3VzcGVuZChzdHJ1Y3QgbXVzYiAqbXVzYiwgYm9vbCBk b19zdXNwZW5kKQogCWlmIChkb19zdXNwZW5kKSB7CiAJCWludCByZXRyaWVzID0gMTAwMDA7CiAK LQkJcG93ZXIgJj0gfk1VU0JfUE9XRVJfUkVTVU1FOwotCQlwb3dlciB8PSBNVVNCX1BPV0VSX1NV U1BFTkRNOwotCQltdXNiX3dyaXRlYihtYmFzZSwgTVVTQl9QT1dFUiwgcG93ZXIpOworCQlpZiAo cG93ZXIgJiBNVVNCX1BPV0VSX1JFU1VNRSkKKwkJCXJldHVybiAtRUJVU1k7CiAKLQkJLyogTmVl ZGVkIGZvciBPUFQgQSB0ZXN0cyAqLwotCQlwb3dlciA9IG11c2JfcmVhZGIobWJhc2UsIE1VU0Jf UE9XRVIpOwotCQl3aGlsZSAocG93ZXIgJiBNVVNCX1BPV0VSX1NVU1BFTkRNKSB7CisJCWlmICgh KHBvd2VyICYgTVVTQl9QT1dFUl9TVVNQRU5ETSkpIHsKKwkJCXBvd2VyIHw9IE1VU0JfUE9XRVJf U1VTUEVORE07CisJCQltdXNiX3dyaXRlYihtYmFzZSwgTVVTQl9QT1dFUiwgcG93ZXIpOworCisJ CQkvKiBOZWVkZWQgZm9yIE9QVCBBIHRlc3RzICovCiAJCQlwb3dlciA9IG11c2JfcmVhZGIobWJh c2UsIE1VU0JfUE9XRVIpOwotCQkJaWYgKHJldHJpZXMtLSA8IDEpCi0JCQkJYnJlYWs7CisJCQl3 aGlsZSAocG93ZXIgJiBNVVNCX1BPV0VSX1NVU1BFTkRNKSB7CisJCQkJcG93ZXIgPSBtdXNiX3Jl YWRiKG1iYXNlLCBNVVNCX1BPV0VSKTsKKwkJCQlpZiAocmV0cmllcy0tIDwgMSkKKwkJCQkJYnJl YWs7CisJCQl9CiAJCX0KIAogCQltdXNiX2RiZyhtdXNiLCAiUm9vdCBwb3J0IHN1c3BlbmRlZCwg cG93ZXIgJTAyeCIsIHBvd2VyKTsKQEAgLTExMSw2ICsxMTUsNyBAQCB2b2lkIG11c2JfcG9ydF9z dXNwZW5kKHN0cnVjdCBtdXNiICptdXNiLCBib29sIGRvX3N1c3BlbmQpCiAJCXNjaGVkdWxlX2Rl bGF5ZWRfd29yaygmbXVzYi0+ZmluaXNoX3Jlc3VtZV93b3JrLAogCQkJCSAgICAgIG1zZWNzX3Rv X2ppZmZpZXMoVVNCX1JFU1VNRV9USU1FT1VUKSk7CiAJfQorCXJldHVybiAwOwogfQogCiB2b2lk IG11c2JfcG9ydF9yZXNldChzdHJ1Y3QgbXVzYiAqbXVzYiwgYm9vbCBkb19yZXNldCkK