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: Sudip Mukherjee Message-Id: <20180717114104.irgdb5rmg2qxclgp@debian> Date: Tue, 17 Jul 2018 12:41:04 +0100 To: Mathias Nyman Cc: 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: SGkgTWF0aGlhcywKCk9uIFNhdCwgSnVuIDMwLCAyMDE4IGF0IDEwOjA3OjA0UE0gKzAxMDAsIFN1 ZGlwIE11a2hlcmplZSB3cm90ZToKPiBIaSBNYXRoaWFzLAo+IAo+IE9uIEZyaSwgSnVuIDI5LCAy MDE4IGF0IDAyOjQxOjEzUE0gKzAzMDAsIE1hdGhpYXMgTnltYW4gd3JvdGU6Cj4gPiBPbiAyNy4w Ni4yMDE4IDE0OjU5LCBTdWRpcCBNdWtoZXJqZWUgd3JvdGU6Cj4gPiA+ID4gPiBDYW4geW91IHNo YXJlIGEgYml0IG1vcmUgZGV0YWlscyBvbiB0aGUgcGxhdGZvcm0geW91IGFyZSB1c2luZywgYW5k IHdoYXQgdHlwZXMgb2YgdGVzdCB5b3UgYXJlIHJ1bm5pbmcuCj4gPiA+ID4gCjxzbmlwPgo+IFRo ZW4gdG8gdHJhY2sgd2hhdCBpcyBnb2luZyBvbiwgSSBhZGRlZCB0aGUgc2x1YiBkZWJ1Z2dpbmcg YW5kIDooCj4gSSBoYXZlIGF0dGFjaGVkIHBhcnQgb2YgZG1lc2cgZm9yIHlvdSB0byBjaGVjay4K PiBXaWxsIGFwcHJlY2lhdGUgeW91ciBoZWxwIGluIGZpbmRpbmcgb3V0IHRoZSBwcm9ibGVtLgoK SSBkaWQgc29tZSBtb3JlIGRlYnVnZ2luZy4gVGVzdGVkIHdpdGggYSBLQVNBTiBlbmFibGVkIGtl cm5lbCBhbmQgdGhhdApzaG93cyB0aGUgcHJvYmxlbS4gVGhlIHJlcG9ydCBpcyBhdHRhY2hlZC4K ClRvIG15IHVuZGVyc3RhbmRpbmc6CgpidHVzYl93b3JrKCkgaXMgY2FsbGluZyB1c2Jfc2V0X2lu dGVyZmFjZSgpIHdpdGggYWx0ZXJuYXRlID0gMC4gd2hpY2gKYWdhaW4gY2FsbHMgdXNiX2hjZF9h bGxvY19iYW5kd2lkdGgoKSBhbmQgdGhhdCBmcmVlcyB0aGUgcmluZ3MgYnkKeGhjaV9mcmVlX2Vu ZHBvaW50X3JpbmcoKS4gQnV0IHRoZW4gdXNiX3NldF9pbnRlcmZhY2UoKSBjb250aW51ZXMgYW5k CmNhbGxzIHVzYl9kaXNhYmxlX2ludGVyZmFjZSgpIC0+IHVzYl9oY2RfZmx1c2hfZW5kcG9pbnQo KS0+dW5saW5rMSgpLT4KeGhjaV91cmJfZGVxdWV1ZSgpIHdoaWNoIGF0IHRoZSBlbmQgZ2l2ZXMg dGhlIGNvbW1hbmQgdG8gc3RvcCBlbmRwb2ludC4KCkluIGFsbCB0aGUgY3ljbGVzIEkgaGF2ZSB0 ZXN0ZWQgSSBzZWUgdGhhdCBvbmx5IGluIHRoZSBmYWlsIGNhc2UKaGFuZGxlX2NtZF9jb21wbGV0 aW9uKCkgZ2V0cyBjYWxsZWQsIGJ1dCBpbiB0aGUgY3ljbGVzIHdoZXJlIHRoZSBlcnJvcgppcyBu b3QgdGhlcmUgaGFuZGxlX2NtZF9jb21wbGV0aW9uKCkgaXMgbm90IGNhbGxlZCB3aXRoIHRoYXQg Y29tbWFuZC4KCkkgYW0gbm90IHN1cmUgd2hhdCBpcyBoYXBwZW5pbmcsIGFuZCB5b3UgYXJlIHRo ZSBiZXN0IHBlcnNvbiB0byB1bmRlcnN0YW5kCndoYXQgaXMgaGFwcGVuaW5nLiA6KQoKQnV0IGZv ciBub3cgKHVudGlsbCB5b3UgYXJlIGJhY2sgZnJvbSBob2xpZGF5IGFuZCBzdWdnZXN0IGEgcHJv cGVyIHNvbHV0aW9uKSwKSSBtYWRlIGEgaGFja3kgcGF0Y2ggKGF0dGFjaGVkKSB3aGljaCBpcyB3 b3JraW5nIGFuZCBJIGRvbm90IGdldCBhbnkKY29ycnVwdGlvbiBhZnRlciB0aGF0LiBCb3RoIEtB U0FOIGFuZCBzbHViIGRlYnVnIGFyZSBhbHNvIGhhcHB5LgoKU28sIG5vdyB3YWl0aW5nIGZvciB5 b3UgdG8gYW5hbHl6ZSB3aGF0IGlzIGdvaW5nIG9uIGFuZCBzdWdnZXN0IGEgcHJvcGVyCmZpeC4K ClRoYW5rcyBpbiBhZHZhbmNlLgotLS0KUmVnYXJkcwpTdWRpcApbICAyMzYuODE0MTU2XSA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KWyAgMjM2LjgxNDE4N10gQlVHOiBLQVNBTjogdXNlLWFmdGVyLWZyZWUgaW4geGhjaV90 cmJfdmlydF90b19kbWErMHgyZS8weDc0IFt4aGNpX2hjZF0KWyAgMjM2LjgxNDE5M10gUmVhZCBv ZiBzaXplIDggYXQgYWRkciBmZmZmODgwMDc4OTMyOWM4IGJ5IHRhc2sgd2VzdG9uLzEzOAoKWyAg MjM2LjgxNDIwM10gQ1BVOiAwIFBJRDogMTM4IENvbW06IHdlc3RvbiBUYWludGVkOiBHICAgICBV ICBXICBPICAgIDQuMTQuNDctMjAxODA2MDYrICM3ClsgIDIzNi44MTQyMDZdIEhhcmR3YXJlIG5h bWU6IHh4eCwgQklPUyAyMDE3LjAxLTAwMDg3LWc0M2UwNGRlIDA4LzMwLzIwMTcKWyAgMjM2Ljgx NDIwOV0gQ2FsbCBUcmFjZToKWyAgMjM2LjgxNDIxNF0gIDxJUlE+ClsgIDIzNi44MTQyMjZdICBk dW1wX3N0YWNrKzB4NDYvMHg1OQpbICAyMzYuODE0MjM4XSAgcHJpbnRfYWRkcmVzc19kZXNjcmlw dGlvbisweDZiLzB4MjNiClsgIDIzNi44MTQyNTVdICA/IHhoY2lfdHJiX3ZpcnRfdG9fZG1hKzB4 MmUvMHg3NCBbeGhjaV9oY2RdClsgIDIzNi44MTQyNjJdICBrYXNhbl9yZXBvcnQrMHgyMjAvMHgy NDYKWyAgMjM2LjgxNDI3OF0gIHhoY2lfdHJiX3ZpcnRfdG9fZG1hKzB4MmUvMHg3NCBbeGhjaV9o Y2RdClsgIDIzNi44MTQyOTRdICB0cmJfaW5fdGQrMHgzYi8weDFjZCBbeGhjaV9oY2RdClsgIDIz Ni44MTQzMTFdICBoYW5kbGVfY21kX2NvbXBsZXRpb24rMHgxMTgxLzB4MmM5YiBbeGhjaV9oY2Rd ClsgIDIzNi44MTQzMjldICA/IHhoY2lfcXVldWVfbmV3X2RlcXVldWVfc3RhdGUrMHg1ZDkvMHg1 ZDkgW3hoY2lfaGNkXQpbICAyMzYuODE0MzM3XSAgPyBkcm1faGFuZGxlX3ZibGFuaysweDRlYy8w eDU5MApbICAyMzYuODE0MzUyXSAgeGhjaV9pcnErMHg1MjkvMHgzMjk0IFt4aGNpX2hjZF0KWyAg MjM2LjgxNDM2Ml0gID8gX19hY2N1bXVsYXRlX3BlbHRfc2VnbWVudHMrMHgyNC8weDMzClsgIDIz Ni44MTQzNzhdICA/IGZpbmlzaF90ZC5pc3JhLjQwKzB4MjIzLzB4MjIzIFt4aGNpX2hjZF0KWyAg MjM2LjgxNDM4NF0gID8gX19hY2N1bXVsYXRlX3BlbHRfc2VnbWVudHMrMHgyNC8weDMzClsgIDIz Ni44MTQzOTBdICA/IF9fYWNjdW11bGF0ZV9wZWx0X3NlZ21lbnRzKzB4MjQvMHgzMwpbICAyMzYu ODE0NDA1XSAgPyB4aGNpX2lycSsweDMyOTQvMHgzMjk0IFt4aGNpX2hjZF0KWyAgMjM2LjgxNDQx Ml0gIF9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgxNDkvMHgzZGIKWyAgMjM2LjgxNDQyMV0g IGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4NjUvMHgxMDkKWyAgMjM2LjgxNDQyOF0gID8gX19o YW5kbGVfaXJxX2V2ZW50X3BlcmNwdSsweDNkYi8weDNkYgpbICAyMzYuODE0NDM2XSAgPyB0dHd1 X2RvX3dha2V1cC5pc3JhLjE4KzB4M2EyLzB4M2NlClsgIDIzNi44MTQ0NDJdICBoYW5kbGVfaXJx X2V2ZW50KzB4YTgvMHgxMGEKWyAgMjM2LjgxNDQ0OV0gIGhhbmRsZV9lZGdlX2lycSsweDRiMi8w eDUzOApbICAyMzYuODE0NDU4XSAgaGFuZGxlX2lycSsweDNlLzB4NDUKWyAgMjM2LjgxNDQ2NV0g IGRvX0lSUSsweDVjLzB4MTI2ClsgIDIzNi44MTQ0NzRdICBjb21tb25faW50ZXJydXB0KzB4N2Ev MHg3YQpbICAyMzYuODE0NDc4XSAgPC9JUlE+ClsgIDIzNi44MTQ0ODNdIFJJUDogMDAyMzoweGY3 OWQzZDgyClsgIDIzNi44MTQ0ODZdIFJTUDogMDAyYjowMDAwMDAwMGZmYzU4OGU4IEVGTEFHUzog MDAyMDAyODIgT1JJR19SQVg6IGZmZmZmZmZmZmZmZmZmZGMKWyAgMjM2LjgxNDQ5M10gUkFYOiAw MDAwMDAwMDAwMDAwMDAwIFJCWDogMDAwMDAwMDBmN2JlYmQ1YyBSQ1g6IDAwMDAwMDAwMDAwMDAw MDAKWyAgMjM2LjgxNDQ5Nl0gUkRYOiAwMDAwMDAwMDA4ZDQxOTdjIFJTSTogMDAwMDAwMDAwMDAw MDAwMCBSREk6IDAwMDAwMDAwZjc0NmMwMjAKWyAgMjM2LjgxNDQ5OV0gUkJQOiAwMDAwMDAwMGZm YzU4OGU4IFIwODogMDAwMDAwMDAwMDAwMDAwMCBSMDk6IDAwMDAwMDAwMDAwMDAwMDAKWyAgMjM2 LjgxNDUwM10gUjEwOiAwMDAwMDAwMDAwMDAwMDAwIFIxMTogMDAwMDAwMDAwMDIwMDIwNiBSMTI6 IDAwMDAwMDAwMDAwMDAwMDAKWyAgMjM2LjgxNDUwNl0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIx NDogMDAwMDAwMDAwMDAwMDAwMCBSMTU6IDAwMDAwMDAwMDAwMDAwMDAKClsgIDIzNi44MTQ1MTNd IEFsbG9jYXRlZCBieSB0YXNrIDIwODI6ClsgIDIzNi44MTQ1MjFdICBrYXNhbl9rbWFsbG9jLnBh cnQuMSsweDUxLzB4YzcKWyAgMjM2LjgxNDUyNl0gIGttZW1fY2FjaGVfYWxsb2NfdHJhY2UrMHgx NzgvMHgxODcKWyAgMjM2LjgxNDU0MF0gIHhoY2lfc2VnbWVudF9hbGxvYy5pc3JhLjExKzB4OWQv MHgzYmYgW3hoY2lfaGNkXQpbICAyMzYuODE0NTUzXSAgeGhjaV9hbGxvY19zZWdtZW50c19mb3Jf cmluZysweDllLzB4MTc2IFt4aGNpX2hjZF0KWyAgMjM2LjgxNDU2Nl0gIHhoY2lfcmluZ19hbGxv Yy5jb25zdHByb3AuMTYrMHgxOTcvMHg0YmEgW3hoY2lfaGNkXQpbICAyMzYuODE0NTc5XSAgeGhj aV9lbmRwb2ludF9pbml0KzB4NzdhLzB4OWJhIFt4aGNpX2hjZF0KWyAgMjM2LjgxNDU5Ml0gIHho Y2lfYWRkX2VuZHBvaW50KzB4M2JjLzB4NDNiIFt4aGNpX2hjZF0KWyAgMjM2LjgxNDYxNV0gIHVz Yl9oY2RfYWxsb2NfYmFuZHdpZHRoKzB4N2VmLzB4ODU3IFt1c2Jjb3JlXQpbICAyMzYuODE0NjM3 XSAgdXNiX3NldF9pbnRlcmZhY2UrMHgyOTQvMHg2ODEgW3VzYmNvcmVdClsgIDIzNi44MTQ2NDVd ICBidHVzYl93b3JrKzB4MmU2LzB4OTgxIFtidHVzYl0KWyAgMjM2LjgxNDY1MV0gIHByb2Nlc3Nf b25lX3dvcmsrMHg1NzkvMHg5ZTkKWyAgMjM2LjgxNDY1Nl0gIHdvcmtlcl90aHJlYWQrMHg2OGYv MHg4MDQKWyAgMjM2LjgxNDY2Ml0gIGt0aHJlYWQrMHgzMWMvMHgzMmIKWyAgMjM2LjgxNDY2OF0g IHJldF9mcm9tX2ZvcmsrMHgzNS8weDQwCgpbICAyMzYuODE0NjcyXSBGcmVlZCBieSB0YXNrIDE1 MzM6ClsgIDIzNi44MTQ2NzhdICBrYXNhbl9zbGFiX2ZyZWUrMHhiMy8weDE1ZQpbICAyMzYuODE0 NjgzXSAga2ZyZWUrMHgxMDMvMHgxYTkKWyAgMjM2LjgxNDY5Nl0gIHhoY2lfcmluZ19mcmVlKzB4 MjA1LzB4Mjg2IFt4aGNpX2hjZF0KWyAgMjM2LjgxNDcwOV0gIHhoY2lfZnJlZV9lbmRwb2ludF9y aW5nKzB4NGQvMHg4MyBbeGhjaV9oY2RdClsgIDIzNi44MTQ3MjJdICB4aGNpX2NoZWNrX2JhbmR3 aWR0aCsweDU3Yi8weDY1YSBbeGhjaV9oY2RdClsgIDIzNi44MTQ3NDNdICB1c2JfaGNkX2FsbG9j X2JhbmR3aWR0aCsweDY2NS8weDg1NyBbdXNiY29yZV0KWyAgMjM2LjgxNDc2NV0gIHVzYl9zZXRf aW50ZXJmYWNlKzB4Mjk0LzB4NjgxIFt1c2Jjb3JlXQpbICAyMzYuODE0NzcyXSAgYnR1c2Jfd29y aysweDY2NC8weDk4MSBbYnR1c2JdClsgIDIzNi44MTQ3NzddICBwcm9jZXNzX29uZV93b3JrKzB4 NTc5LzB4OWU5ClsgIDIzNi44MTQ3ODJdICB3b3JrZXJfdGhyZWFkKzB4NjhmLzB4ODA0ClsgIDIz Ni44MTQ3ODhdICBrdGhyZWFkKzB4MzFjLzB4MzJiClsgIDIzNi44MTQ3OTNdICByZXRfZnJvbV9m b3JrKzB4MzUvMHg0MAoKWyAgMjM2LjgxNDc5OV0gVGhlIGJ1Z2d5IGFkZHJlc3MgYmVsb25ncyB0 byB0aGUgb2JqZWN0IGF0IGZmZmY4ODAwNzg5MzI5YzgKIHdoaWNoIGJlbG9uZ3MgdG8gdGhlIGNh Y2hlIGttYWxsb2MtNjQgb2Ygc2l6ZSA2NApbICAyMzYuODE0ODA0XSBUaGUgYnVnZ3kgYWRkcmVz cyBpcyBsb2NhdGVkIDAgYnl0ZXMgaW5zaWRlIG9mCiA2NC1ieXRlIHJlZ2lvbiBbZmZmZjg4MDA3 ODkzMjljOCwgZmZmZjg4MDA3ODkzMmEwOCkKWyAgMjM2LjgxNDgwNl0gVGhlIGJ1Z2d5IGFkZHJl c3MgYmVsb25ncyB0byB0aGUgcGFnZToKWyAgMjM2LjgxNDgxMl0gcGFnZTpmZmZmZWEwMDAxZTI0 YzgwIGNvdW50OjEgbWFwY291bnQ6MCBtYXBwaW5nOiAgICAgICAgICAobnVsbCkgaW5kZXg6MHgw IGNvbXBvdW5kX21hcGNvdW50OiAwClsgIDIzNi44MjU4MTNdIGZsYWdzOiAweDQwMDAwMDAwMDAw MDgxMDAoc2xhYnxoZWFkKQpbICAyMzYuODMwOTgxXSByYXc6IDQwMDAwMDAwMDAwMDgxMDAgMDAw MDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAxMDAxMzAwMTMKWyAgMjM2Ljgz MDk4OF0gcmF3OiBmZmZmZWEwMDAwY2ZiYWEwIGZmZmZlYTAwMDEwZGRmMjAgZmZmZjg4MDEzYjgw ZjY0MCAwMDAwMDAwMDAwMDAwMDAwClsgIDIzNi44MzA5OTBdIHBhZ2UgZHVtcGVkIGJlY2F1c2U6 IGthc2FuOiBiYWQgYWNjZXNzIGRldGVjdGVkCgpbICAyMzYuODMwOTkzXSBNZW1vcnkgc3RhdGUg YXJvdW5kIHRoZSBidWdneSBhZGRyZXNzOgpbICAyMzYuODMwOTk5XSAgZmZmZjg4MDA3ODkzMjg4 MDogZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMKWyAgMjM2 LjgzMTAwNF0gIGZmZmY4ODAwNzg5MzI5MDA6IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZj IGZjIGZjIGZjIGZjIGZjIGZjClsgIDIzNi44MzEwMDhdID5mZmZmODgwMDc4OTMyOTgwOiBmYyBm YyBmYyBmYyBmYyBmYyBmYyBmYyBmYyBmYiBmYiBmYiBmYiBmYiBmYiBmYgpbICAyMzYuODMxMDEx XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpbICAyMzYu ODMxMDE1XSAgZmZmZjg4MDA3ODkzMmEwMDogZmIgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMgZmMg ZmMgZmMgZmMgZmMgZmMgZmMKWyAgMjM2LjgzMTAxOV0gIGZmZmY4ODAwNzg5MzJhODA6IGZjIGZj IGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjIGZjClsgIDIzNi44MzEwMjFd ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQpbICAyMzYuODMxMDI0XSBEaXNhYmxpbmcgbG9jayBkZWJ1Z2dpbmcgZHVlIHRv IGtlcm5lbCB0YWludAoKRnJvbSBjYmJlNmRjNTlhYzkwYTRmMmMzNThkZTU2ZTU4ZTI1NDMyMDE3 MWUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBTdWRpcCBNdWtoZXJqZWUgPHN1ZGlw bS5tdWtoZXJqZWVAZ21haWwuY29tPgpEYXRlOiBUdWUsIDEwIEp1bCAyMDE4IDA5OjUwOjAwICsw MTAwClN1YmplY3Q6IFtQQVRDSF0gaGFja3kgc29sdXRpb24gdG8gbWVtLWNvcnJ1cHRpb24KClNp Z25lZC1vZmYtYnk6IFN1ZGlwIE11a2hlcmplZSA8c3VkaXBtLm11a2hlcmplZUBnbWFpbC5jb20+ Ci0tLQogZHJpdmVycy91c2IvY29yZS9tZXNzYWdlLmMgfCAzICsrLQogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNi L2NvcmUvbWVzc2FnZS5jIGIvZHJpdmVycy91c2IvY29yZS9tZXNzYWdlLmMKaW5kZXggN2NkNGVj MzNkYmY0Li43ZmRmN2EyNzYxMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdXNiL2NvcmUvbWVzc2Fn ZS5jCisrKyBiL2RyaXZlcnMvdXNiL2NvcmUvbWVzc2FnZS5jCkBAIC0xMzk4LDcgKzEzOTgsOCBA QCBpbnQgdXNiX3NldF9pbnRlcmZhY2Uoc3RydWN0IHVzYl9kZXZpY2UgKmRldiwgaW50IGludGVy ZmFjZSwgaW50IGFsdGVybmF0ZSkKIAkJcmVtb3ZlX2ludGZfZXBfZGV2cyhpZmFjZSk7CiAJCXVz Yl9yZW1vdmVfc3lzZnNfaW50Zl9maWxlcyhpZmFjZSk7CiAJfQotCXVzYl9kaXNhYmxlX2ludGVy ZmFjZShkZXYsIGlmYWNlLCB0cnVlKTsKKwlpZiAoIShpZmFjZS0+Y3VyX2FsdHNldHRpbmcgJiYg YWx0KSkKKwkJdXNiX2Rpc2FibGVfaW50ZXJmYWNlKGRldiwgaWZhY2UsIHRydWUpOwogCiAJaWZh Y2UtPmN1cl9hbHRzZXR0aW5nID0gYWx0OwogCi0tIAoyLjExLjAKCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sudip Mukherjee Subject: Re: usb HC busted? Date: Tue, 17 Jul 2018 12:41:04 +0100 Message-ID: <20180717114104.irgdb5rmg2qxclgp@debian> References: <06226ecb-baad-cc36-e9e3-797dabb0aa5e@linux.intel.com> <42ec4ab07d96b4302b875ac9c5eb76675bf85690.camel@linux.intel.com> <20180606164524.n4vb7xre6rykzxih@debian> <2e8829c2-850d-6bca-5f0c-58a809dc9499@linux.intel.com> <20180621005332.5uy74tkjoel6w4xy@debian> <2b4fe87a-3706-0aa8-2b61-a9c1d1352a7a@linux.intel.com> <20180625161500.dbyxd4b434jh5jhj@debian> <20180627115948.ww534mkoovkt3uwb@debian> <4b269009-7593-a41f-9f0f-203ee174b52e@linux.intel.com> <20180630210704.vzkt2poh5qr3hpff@debian> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="o4q3pocf7gj746x4" Return-path: Content-Disposition: inline In-Reply-To: <20180630210704.vzkt2poh5qr3hpff@debian> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: iommu-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org To: Mathias Nyman Cc: Mathias Nyman , linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, lukaszx.szulc-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org, Andy Shevchenko , Andy Shevchenko , Christoph Hellwig List-Id: iommu@lists.linux-foundation.org --o4q3pocf7gj746x4 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Mathias, On Sat, Jun 30, 2018 at 10:07:04PM +0100, Sudip Mukherjee wrote: > Hi Mathias, > > On Fri, Jun 29, 2018 at 02:41:13PM +0300, Mathias Nyman wrote: > > On 27.06.2018 14:59, Sudip Mukherjee wrote: > > > > > Can you share a bit more details on the platform you are using, and what types of test you are running. > > > > > Then to track what is going on, I added the slub debugging and :( > I have attached part of dmesg for you to check. > Will appreciate your help in finding out the problem. I did some more debugging. Tested with a KASAN enabled kernel and that shows the problem. The report is attached. To my understanding: btusb_work() is calling usb_set_interface() with alternate = 0. which again calls usb_hcd_alloc_bandwidth() and that frees the rings by xhci_free_endpoint_ring(). But then usb_set_interface() continues and calls usb_disable_interface() -> usb_hcd_flush_endpoint()->unlink1()-> xhci_urb_dequeue() which at the end gives the command to stop endpoint. In all the cycles I have tested I see that only in the fail case handle_cmd_completion() gets called, but in the cycles where the error is not there handle_cmd_completion() is not called with that command. I am not sure what is happening, and you are the best person to understand what is happening. :) But for now (untill you are back from holiday and suggest a proper solution), I made a hacky patch (attached) which is working and I donot get any corruption after that. Both KASAN and slub debug are also happy. So, now waiting for you to analyze what is going on and suggest a proper fix. Thanks in advance. -- Regards Sudip --o4q3pocf7gj746x4 Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename=usb_kasan [ 236.814156] ================================================================== [ 236.814187] BUG: KASAN: use-after-free in xhci_trb_virt_to_dma+0x2e/0x74 [xhci_hcd] [ 236.814193] Read of size 8 at addr ffff8800789329c8 by task weston/138 [ 236.814203] CPU: 0 PID: 138 Comm: weston Tainted: G U W O 4.14.47-20180606+ #7 [ 236.814206] Hardware name: xxx, BIOS 2017.01-00087-g43e04de 08/30/2017 [ 236.814209] Call Trace: [ 236.814214] [ 236.814226] dump_stack+0x46/0x59 [ 236.814238] print_address_description+0x6b/0x23b [ 236.814255] ? xhci_trb_virt_to_dma+0x2e/0x74 [xhci_hcd] [ 236.814262] kasan_report+0x220/0x246 [ 236.814278] xhci_trb_virt_to_dma+0x2e/0x74 [xhci_hcd] [ 236.814294] trb_in_td+0x3b/0x1cd [xhci_hcd] [ 236.814311] handle_cmd_completion+0x1181/0x2c9b [xhci_hcd] [ 236.814329] ? xhci_queue_new_dequeue_state+0x5d9/0x5d9 [xhci_hcd] [ 236.814337] ? drm_handle_vblank+0x4ec/0x590 [ 236.814352] xhci_irq+0x529/0x3294 [xhci_hcd] [ 236.814362] ? __accumulate_pelt_segments+0x24/0x33 [ 236.814378] ? finish_td.isra.40+0x223/0x223 [xhci_hcd] [ 236.814384] ? __accumulate_pelt_segments+0x24/0x33 [ 236.814390] ? __accumulate_pelt_segments+0x24/0x33 [ 236.814405] ? xhci_irq+0x3294/0x3294 [xhci_hcd] [ 236.814412] __handle_irq_event_percpu+0x149/0x3db [ 236.814421] handle_irq_event_percpu+0x65/0x109 [ 236.814428] ? __handle_irq_event_percpu+0x3db/0x3db [ 236.814436] ? ttwu_do_wakeup.isra.18+0x3a2/0x3ce [ 236.814442] handle_irq_event+0xa8/0x10a [ 236.814449] handle_edge_irq+0x4b2/0x538 [ 236.814458] handle_irq+0x3e/0x45 [ 236.814465] do_IRQ+0x5c/0x126 [ 236.814474] common_interrupt+0x7a/0x7a [ 236.814478] [ 236.814483] RIP: 0023:0xf79d3d82 [ 236.814486] RSP: 002b:00000000ffc588e8 EFLAGS: 00200282 ORIG_RAX: ffffffffffffffdc [ 236.814493] RAX: 0000000000000000 RBX: 00000000f7bebd5c RCX: 0000000000000000 [ 236.814496] RDX: 0000000008d4197c RSI: 0000000000000000 RDI: 00000000f746c020 [ 236.814499] RBP: 00000000ffc588e8 R08: 0000000000000000 R09: 0000000000000000 [ 236.814503] R10: 0000000000000000 R11: 0000000000200206 R12: 0000000000000000 [ 236.814506] R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000 [ 236.814513] Allocated by task 2082: [ 236.814521] kasan_kmalloc.part.1+0x51/0xc7 [ 236.814526] kmem_cache_alloc_trace+0x178/0x187 [ 236.814540] xhci_segment_alloc.isra.11+0x9d/0x3bf [xhci_hcd] [ 236.814553] xhci_alloc_segments_for_ring+0x9e/0x176 [xhci_hcd] [ 236.814566] xhci_ring_alloc.constprop.16+0x197/0x4ba [xhci_hcd] [ 236.814579] xhci_endpoint_init+0x77a/0x9ba [xhci_hcd] [ 236.814592] xhci_add_endpoint+0x3bc/0x43b [xhci_hcd] [ 236.814615] usb_hcd_alloc_bandwidth+0x7ef/0x857 [usbcore] [ 236.814637] usb_set_interface+0x294/0x681 [usbcore] [ 236.814645] btusb_work+0x2e6/0x981 [btusb] [ 236.814651] process_one_work+0x579/0x9e9 [ 236.814656] worker_thread+0x68f/0x804 [ 236.814662] kthread+0x31c/0x32b [ 236.814668] ret_from_fork+0x35/0x40 [ 236.814672] Freed by task 1533: [ 236.814678] kasan_slab_free+0xb3/0x15e [ 236.814683] kfree+0x103/0x1a9 [ 236.814696] xhci_ring_free+0x205/0x286 [xhci_hcd] [ 236.814709] xhci_free_endpoint_ring+0x4d/0x83 [xhci_hcd] [ 236.814722] xhci_check_bandwidth+0x57b/0x65a [xhci_hcd] [ 236.814743] usb_hcd_alloc_bandwidth+0x665/0x857 [usbcore] [ 236.814765] usb_set_interface+0x294/0x681 [usbcore] [ 236.814772] btusb_work+0x664/0x981 [btusb] [ 236.814777] process_one_work+0x579/0x9e9 [ 236.814782] worker_thread+0x68f/0x804 [ 236.814788] kthread+0x31c/0x32b [ 236.814793] ret_from_fork+0x35/0x40 [ 236.814799] The buggy address belongs to the object at ffff8800789329c8 which belongs to the cache kmalloc-64 of size 64 [ 236.814804] The buggy address is located 0 bytes inside of 64-byte region [ffff8800789329c8, ffff880078932a08) [ 236.814806] The buggy address belongs to the page: [ 236.814812] page:ffffea0001e24c80 count:1 mapcount:0 mapping: (null) index:0x0 compound_mapcount: 0 [ 236.825813] flags: 0x4000000000008100(slab|head) [ 236.830981] raw: 4000000000008100 0000000000000000 0000000000000000 0000000100130013 [ 236.830988] raw: ffffea0000cfbaa0 ffffea00010ddf20 ffff88013b80f640 0000000000000000 [ 236.830990] page dumped because: kasan: bad access detected [ 236.830993] Memory state around the buggy address: [ 236.830999] ffff880078932880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 236.831004] ffff880078932900: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 236.831008] >ffff880078932980: fc fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb [ 236.831011] ^ [ 236.831015] ffff880078932a00: fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 236.831019] ffff880078932a80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 236.831021] ================================================================== [ 236.831024] Disabling lock debugging due to kernel taint --o4q3pocf7gj746x4 Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-test.patch" >>From cbbe6dc59ac90a4f2c358de56e58e254320171e0 Mon Sep 17 00:00:00 2001 From: Sudip Mukherjee Date: Tue, 10 Jul 2018 09:50:00 +0100 Subject: [PATCH] hacky solution to mem-corruption Signed-off-by: Sudip Mukherjee --- drivers/usb/core/message.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c index 7cd4ec33dbf4..7fdf7a27611d 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1398,7 +1398,8 @@ int usb_set_interface(struct usb_device *dev, int interface, int alternate) remove_intf_ep_devs(iface); usb_remove_sysfs_intf_files(iface); } - usb_disable_interface(dev, iface, true); + if (!(iface->cur_altsetting && alt)) + usb_disable_interface(dev, iface, true); iface->cur_altsetting = alt; -- 2.11.0 --o4q3pocf7gj746x4 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --o4q3pocf7gj746x4--