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: usb HC busted? From: Mathias Nyman Message-Id: Date: Thu, 19 Jul 2018 18:42:19 +0300 To: Sudip Mukherjee Cc: Alan Stern , Greg KH , Andy Shevchenko , Andy Shevchenko , Mathias Nyman , linux-usb@vger.kernel.org, lukaszx.szulc@intel.com, Christoph Hellwig , Marek Szyprowski , iommu@lists.linux-foundation.org List-ID: Pj4gQXMgZmlyc3QgYWlkIEkgY291bGQgdHJ5IHRvIGltcGxlbWVudCBjaGVja3MgdGhhdCBtYWtl IHN1cmUgdGhlIGZsdXNoZWQgVVJCcwo+PiB0cmIgcG9pbnRlcnMgcmVhbGx5IGFyZSBvbiB0aGUg Y3VycmVudCBlbmRwb2ludCByaW5nLCBhbmQgYWxzbyBhZGQgc29tZSB3YXJuaW5nCj4+IGlmIHdl IGFyZSB3ZSBhcmUgZHJvcHBpbmcgZW5kcG9pbnRzIHdpdGggVVJCcyBzdGlsbCBxdWV1ZWQuCj4g Cj4gWWVzLCBwbGVhc2UuIEkgdGhpbmsgeW91ciBmaXJzdC1haWQgd2lsbCBiZSBhIG11Y2ggYmV0 dGVyIG9wdGlvbiB0aGFuCj4gdGhlIGhhY2t5IHBhdGNoIEkgYW0gdXNpbmcgYXRtLgo+IAoKQXR0 YWNoZWQgYSBwYXRjaCB0aGF0IGNoZWNrcyBjYW5jZWxlZCBVUkIgdGQvdHJiIHBvaW50ZXJzLgpJ IGhhdmVuJ3QgdGVzdGVkIGl0IGF0IGFsbCAod2VsbCBjb21waWxlcyBhbmQgYm9vdHMsIGJ1dCBu ZXcgY29kZSBuZXZlciBleGVyY2lzZWQpCgpEb2VzIGl0IHdvcmsgZm9yIHlvdT8KCj4+Cj4+IEJ1 dCB3ZSBuZWVkIHRvIGZpeCB0aGlzIHByb3Blcmx5IGFzIHdlbGwuCj4+IHhoY2kgbmVlZHMgdG8g YmUgbW9yZSBpbiBzeW5jIHdpdGggdXNiIGNvcmUgaW4gdXNiX3NldF9pbnRlcmZhY2UoKSwgY3Vy cmVudGx5IHhoY2kKPj4gaGFzIHRoZSBhbHRzc2V0dGluZyB1cCBhbmQgcnVubmluZyB3aGVuIHVz YiBjb3JlIGhhc24ndCBldmVudCBzdGFydGVkIGZsdXNoaW5nIGVuZHBvaW50cy4KPiAKPiBJIGFt IGFibGUgdG8gcmVwcm9kdWNlIHRoaXMgb24gYWxtb3N0IGFsbCBjeWNsZXMsIHNvIEkgY2FuIGFs d2F5cyB0ZXN0Cj4gdGhlIGZpeCBmb3IgeW91IGFmdGVyIHlvdSBhcmUgZnVsbHkgYmFjayBmcm9t IHlvdXIgaG9saWRheS4KCk5pY2UsIHRoYW5rcwoKLU1hdGhpYXMKCkZyb20gYTdkNGFmMzEyOWE5 MTgxMWM5NWVhNjQyZjZjOTE2YjFjMWNhNmQ0NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogTWF0aGlhcyBOeW1hbiA8bWF0aGlhcy5ueW1hbkBsaW51eC5pbnRlbC5jb20+CkRhdGU6IFRo dSwgMTkgSnVsIDIwMTggMTg6MDY6MTggKzAzMDAKU3ViamVjdDogW1BBVENIXSB4aGNpOiB3aGVu IGRlcXVlaW5nIGEgVVJCIG1ha2Ugc3VyZSBpdCBleGlzdHMgb24gdGhlIGN1cnJlbnQKIGVuZHBv aW50IHJpbmcuCgpJZiB0aGUgZW5kcG9pbnQgcmluZyBoYXMgYmVlbiByZWFsbG9jYXRlZCBzaW5j ZSB0aGUgVVJCIHdhcyBlbnF1ZXVlZCwKdGhlbiBVUkIgbWF5IGNvbnRhaW4gVEQgYW5kIFRSQiBw b2ludGVycyB0byBhIGFscmVhZHkgZnJlZWQgcmluZy4KSWYgdGhpcyB0aGUgY2FzZSB0aGVuIG1h bnVhbGx0IHJldHVybiB0aGUgVVJCLCBhbmQgZG9uJ3QgdHJ5IHRvIHN0b3AKdGhlIHJpbmcuIEl0 IHdvdWxkIGJlIHVzZWxlc3MuCgpUaGlzIGNhbiBoYXBwZW5lZCBpZiBlbmRwb2ludCBpcyBub3Qg Zmx1c2hlZCBiZWZvcmUgaXQgaXMgZHJvcHBlZCBhbmQKcmUtYWRkZWQsIHdoaWNoIGlzIHRoZSBj YXNlIGluIHVzYl9zZXRfaW50ZXJmYWNlKCkgYXMgeGhjaSBkb2VzCnRoaW5ncyBpbiBhbiBvZGQg b3JkZXIuCgpTaWduZWQtb2ZmLWJ5OiBNYXRoaWFzIE55bWFuIDxtYXRoaWFzLm55bWFuQGxpbnV4 LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL3VzYi9ob3N0L3hoY2kuYyB8IDQzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNl cnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9ob3N0 L3hoY2kuYyBiL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5jCmluZGV4IDcxMWRhMzMuLjViZWRhYjcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2hvc3QveGhjaS5jCisrKyBiL2RyaXZlcnMvdXNiL2hv c3QveGhjaS5jCkBAIC0zNyw2ICszNywyMSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IHF1aXJrczsK IG1vZHVsZV9wYXJhbShxdWlya3MsIHVpbnQsIFNfSVJVR08pOwogTU9EVUxFX1BBUk1fREVTQyhx dWlya3MsICJCaXQgZmxhZ3MgZm9yIHF1aXJrcyB0byBiZSBlbmFibGVkIGFzIGRlZmF1bHQiKTsK IAorc3RhdGljIGJvb2wgdGRfb25fcmluZyhzdHJ1Y3QgeGhjaV90ZCAqdGQsIHN0cnVjdCB4aGNp X3JpbmcgKnJpbmcpCit7CisJc3RydWN0IHhoY2lfc2VnbWVudCAqc2VnID0gcmluZy0+Zmlyc3Rf c2VnOworCisJaWYgKCF0ZCB8fCAhdGQtPnN0YXJ0X3NlZykKKwkJcmV0dXJuIGZhbHNlOworCWRv IHsKKwkJaWYgKHNlZyA9PSB0ZC0+c3RhcnRfc2VnKQorCQkJcmV0dXJuIHRydWU7CisJCXNlZyA9 IHNlZy0+bmV4dDsKKwl9IHdoaWxlIChzZWcgJiYgc2VnICE9IHJpbmctPmZpcnN0X3NlZyk7CisK KwlyZXR1cm4gZmFsc2U7Cit9CisKIC8qIFRPRE86IGNvcGllZCBmcm9tIGVoY2ktaGNkLmMgLSBj YW4gdGhpcyBiZSByZWZhY3RvcmVkPyAqLwogLyoKICAqIHhoY2lfaGFuZHNoYWtlIC0gc3BpbiBy ZWFkaW5nIGhjIHVudGlsIGhhbmRzaGFrZSBjb21wbGV0ZXMgb3IgZmFpbHMKQEAgLTE0NjcsMTkg KzE0ODIsMTYgQEAgc3RhdGljIGludCB4aGNpX3VyYl9kZXF1ZXVlKHN0cnVjdCB1c2JfaGNkICpo Y2QsIHN0cnVjdCB1cmIgKnVyYiwgaW50IHN0YXR1cykKIAkJZ290byBkb25lOwogCX0KIAorCS8q IGNoZWNrIHJpbmcgaXMgbm90IHJlLWFsbG9jYXRlZCBzaW5jZSBVUkIgd2FzIGVucXVldWVkICov CisJaWYgKCF0ZF9vbl9yaW5nKCZ1cmJfcHJpdi0+dGRbMF0sIGVwX3JpbmcpKSB7CisJCXhoY2lf ZXJyKHhoY2ksICJDYW5jZWxlZCBVUkIgdGQgbm90IGZvdW5kIG9uIGVuZHBvaW50IHJpbmciKTsK KwkJZ290byBlcnJfdW5saW5rX2dpdmViYWNrOworCX0KKwogCWlmICh4aGNpLT54aGNfc3RhdGUg JiBYSENJX1NUQVRFX0hBTFRFRCkgewogCQl4aGNpX2RiZ190cmFjZSh4aGNpLCB0cmFjZV94aGNp X2RiZ19jYW5jZWxfdXJiLAotCQkJCSJIQyBoYWx0ZWQsIGZyZWVpbmcgVEQgbWFudWFsbHkuIik7 Ci0JCWZvciAoaSA9IHVyYl9wcml2LT5udW1fdGRzX2RvbmU7Ci0JCSAgICAgaSA8IHVyYl9wcml2 LT5udW1fdGRzOwotCQkgICAgIGkrKykgewotCQkJdGQgPSAmdXJiX3ByaXYtPnRkW2ldOwotCQkJ aWYgKCFsaXN0X2VtcHR5KCZ0ZC0+dGRfbGlzdCkpCi0JCQkJbGlzdF9kZWxfaW5pdCgmdGQtPnRk X2xpc3QpOwotCQkJaWYgKCFsaXN0X2VtcHR5KCZ0ZC0+Y2FuY2VsbGVkX3RkX2xpc3QpKQotCQkJ CWxpc3RfZGVsX2luaXQoJnRkLT5jYW5jZWxsZWRfdGRfbGlzdCk7Ci0JCX0KLQkJZ290byBlcnJf Z2l2ZWJhY2s7CisJCQkgICAgICAgIkhDIGhhbHRlZCwgZnJlZWluZyBURCBtYW51YWxseS4iKTsK KwkJZ290byBlcnJfdW5saW5rX2dpdmViYWNrOwogCX0KIAogCWkgPSB1cmJfcHJpdi0+bnVtX3Rk c19kb25lOwpAQCAtMTUxOSw2ICsxNTMxLDE1IEBAIHN0YXRpYyBpbnQgeGhjaV91cmJfZGVxdWV1 ZShzdHJ1Y3QgdXNiX2hjZCAqaGNkLCBzdHJ1Y3QgdXJiICp1cmIsIGludCBzdGF0dXMpCiAJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmeGhjaS0+bG9jaywgZmxhZ3MpOwogCXJldHVybiByZXQ7CiAK K2Vycl91bmxpbmtfZ2l2ZWJhY2s6CisJZm9yIChpID0gdXJiX3ByaXYtPm51bV90ZHNfZG9uZTsg aSA8IHVyYl9wcml2LT5udW1fdGRzOyBpKyspIHsKKwkJdGQgPSAmdXJiX3ByaXYtPnRkW2ldOwor CQlpZiAoIWxpc3RfZW1wdHkoJnRkLT50ZF9saXN0KSkKKwkJCWxpc3RfZGVsX2luaXQoJnRkLT50 ZF9saXN0KTsKKwkJaWYgKCFsaXN0X2VtcHR5KCZ0ZC0+Y2FuY2VsbGVkX3RkX2xpc3QpKQorCQkJ bGlzdF9kZWxfaW5pdCgmdGQtPmNhbmNlbGxlZF90ZF9saXN0KTsKKwl9CisKIGVycl9naXZlYmFj azoKIAlpZiAodXJiX3ByaXYpCiAJCXhoY2lfdXJiX2ZyZWVfcHJpdih1cmJfcHJpdik7Ci0tIAoy LjcuNAoK