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: Mass Storage Gadget Device Falls from SuperSpeed to High Speed From: Felipe Balbi Message-Id: <878swrh6ln.fsf@linux.intel.com> Date: Wed, 03 Apr 2019 10:48:36 +0300 To: Rob Weber Cc: linux-usb@vger.kernel.org, mathias.nyman@intel.com List-ID: SGkgUm9iLAoKUm9iIFdlYmVyIDxyb2JAZ25hcmJveC5jb20+IHdyaXRlczoKPj4gPiAqIFdlIHN0 aWxsIHNhdyB0aGUgZHJvcCBmcm9tIFNTIHRvIEhTIG9uIGEgV2luZG93cyBsYXB0b3AuIExpbnV4 IGFuZCBNYWMKPj4gPiAgIHNlZW1lZCB0byBiZSBmaW5lLCBidXQgdGhlcmUncyBkZWZpbml0ZWx5 IGEgY2hhbmNlIHdlIGRpZCBub3QgdGVzdAo+PiA+ICAgd2l0aCBlbm91Z2ggc2FtcGxlcyB0byBj b25maWRlbnRseSBzYXkgdGhpcyBxdWlyayBpcyBzdGFibGUgd2l0aCB0aG9zZQo+PiA+ICAgaG9z dHMuCj4+IAo+PiBva2F5LCBzbyBzdGlsbCBub3QgZ29vZCBlbm91Z2guIExldCdzIHRyeSB0byBw cmV2ZW50IHRoZSBkZXZpY2Ugc2lkZQo+PiBmcm9tIGV2ZXIgaW5pdGlhdGluZyBVMS9VMiBlbnRy eSBhbmQgZnJvbSBldmVyIGFjY2VwdGluZyBMR09fVTEgYW5kCj4+IExHT19VMiBmcm9tIHRoZSBo b3N0LiBIZXJlJ3MgYSAoaGFjaykgcGF0Y2ggZm9yIHRoYXQKPj4gCj4+IG1vZGlmaWVkICAgZHJp dmVycy91c2IvZHdjMy9lcDAuYwo+PiBAQCAtMzgyLDcgKzM4Miw3IEBAIHN0YXRpYyBpbnQgZHdj M19lcDBfaGFuZGxlX3UxKHN0cnVjdCBkd2MzICpkd2MsIGVudW0gdXNiX2RldmljZV9zdGF0ZSBz dGF0ZSwKPj4gIAo+PiAgCXJlZyA9IGR3YzNfcmVhZGwoZHdjLT5yZWdzLCBEV0MzX0RDVEwpOwo+ PiAgCWlmIChzZXQpCj4+IC0JCXJlZyB8PSBEV0MzX0RDVExfSU5JVFUxRU5BOwo+PiArCQlyZXR1 cm4gLUVJTlZBTDsKPj4gIAllbHNlCj4+ICAJCXJlZyAmPSB+RFdDM19EQ1RMX0lOSVRVMUVOQTsK Pj4gIAlkd2MzX3dyaXRlbChkd2MtPnJlZ3MsIERXQzNfRENUTCwgcmVnKTsKPj4gQEAgLTQwNCw3 ICs0MDQsNyBAQCBzdGF0aWMgaW50IGR3YzNfZXAwX2hhbmRsZV91MihzdHJ1Y3QgZHdjMyAqZHdj LCBlbnVtIHVzYl9kZXZpY2Vfc3RhdGUgc3RhdGUsCj4+ICAKPj4gIAlyZWcgPSBkd2MzX3JlYWRs KGR3Yy0+cmVncywgRFdDM19EQ1RMKTsKPj4gIAlpZiAoc2V0KQo+PiAtCQlyZWcgfD0gRFdDM19E Q1RMX0lOSVRVMkVOQTsKPj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4+ICAJZWxzZQo+PiAgCQlyZWcg Jj0gfkRXQzNfRENUTF9JTklUVTJFTkE7Cj4+ICAJZHdjM193cml0ZWwoZHdjLT5yZWdzLCBEV0Mz X0RDVEwsIHJlZyk7Cj4+IEBAIC02MjUsOSArNjI1LDkgQEAgc3RhdGljIGludCBkd2MzX2VwMF9z ZXRfY29uZmlnKHN0cnVjdCBkd2MzICpkd2MsIHN0cnVjdCB1c2JfY3RybHJlcXVlc3QgKmN0cmwp Cj4+ICAJCQkgKiBFbmFibGUgdHJhbnNpdGlvbiB0byBVMS9VMiBzdGF0ZSB3aGVuCj4+ICAJCQkg KiBub3RoaW5nIGlzIHBlbmRpbmcgZnJvbSBhcHBsaWNhdGlvbi4KPj4gIAkJCSAqLwo+PiAtCQkJ cmVnID0gZHdjM19yZWFkbChkd2MtPnJlZ3MsIERXQzNfRENUTCk7Cj4+IC0JCQlyZWcgfD0gKERX QzNfRENUTF9BQ0NFUFRVMUVOQSB8IERXQzNfRENUTF9BQ0NFUFRVMkVOQSk7Cj4+IC0JCQlkd2Mz X3dyaXRlbChkd2MtPnJlZ3MsIERXQzNfRENUTCwgcmVnKTsKPj4gKwkJCS8qIHJlZyA9IGR3YzNf cmVhZGwoZHdjLT5yZWdzLCBEV0MzX0RDVEwpOyAqLwo+PiArCQkJLyogcmVnIHw9IChEV0MzX0RD VExfQUNDRVBUVTFFTkEgfCBEV0MzX0RDVExfQUNDRVBUVTJFTkEpOyAqLwo+PiArCQkJLyogZHdj M193cml0ZWwoZHdjLT5yZWdzLCBEV0MzX0RDVEwsIHJlZyk7ICovCj4+ICAJCX0KPj4gIAkJYnJl YWs7Cj4+IAo+PiAKPj4gSSBkb24ndCB0aGluayBpdCB3aWxsIGFwcGx5IGNsZWFubHkgdG8geW91 ciBrZXJuZWwsIGxldCBtZSBrbm93IGlmIHlvdQo+PiBuZWVkIGhlbHAgcG9ydGluZyBpdC4KPgo+ IFRoYW5rIHlvdSBmb3IgdGhlIG9mZmVyLiBJdCB3YXNuJ3QgdG9vIGJhZCBhZnRlciByZWFkaW5n IHRoZSBlcDAuYyBmaWxlCj4gZm9yIGJvdGggNC45LjExNSBhbmQgbWFzdGVyLiBJJ3ZlIGluY2x1 ZGVkIHRoZSBwYXRjaCBpbiB0aGUgYXR0YWNoZWQKPiB0YXJiYWxsIGlmIHlvdSB3b3VsZCBsaWtl IHRvIHNlZSBob3cgSSBwb3J0ZWQgaXQuCgpUaGFuayB5b3UuIEJUVywgaXQgbWF5IHZlcnkgd2Vs bCBiZSB0aGF0IHlvdSBvbmx5IG5lZWQgdG8gZGlzYWJsZSBVMiBhbmQKbGVhdmUgVTEgZW5hYmxl ZC4gVGhhdCBtYXkgaGVscCBzYXZlIHNvbWUgcG93ZXIsIGJ1dCBJIGRvbid0IGtub3cKd2hldGhl ciB5b3UgaGF2ZSByZXF1aXJlbWVudHMgZm9yIHRoaXMgOi0pCgo+PiA+IFNvIHRvbW9ycm93IEkg aG9wZSB0byBnYXRoZXIgbW9yZSBjb25jcmV0ZSBkYXRhIHRvIGJhY2sgdXAgdGhlc2UKPj4gPiBm aW5kaW5ncy4gT3VyIFVTQiBwcm90b2NvbCBhbmFseXplciBpcyBhbHNvIG91dC1vZi1vcmRlciBh dCB0aGUgbW9tZW50LAo+PiA+IHNvIHdlIG1pZ2h0IG5vdCBiZSBhYmxlIHRvIGdldCBhbmFseXpl ciBkYXRhIGZvciBhIGRheSBvciB0d28gZWl0aGVyLgo+PiA+Cj4+ID4gQXJlIHRoZXJlIHNvbWUg b3RoZXIgcXVpcmtzIHlvdSB3b3VsZCBsaWtlIHVzIHRvIHRyeSBvdXQ/Cj4+IAo+PiBTZWUgYWJv dmUsIG5vdCBhIHF1aXJrIGZsYWcsIGJ1dCBqdXN0IGEgY29tcGxldGUgcmVtb3ZhbCBvZiBVMS9V MiBlbnRyeQo+PiBmcm9tIHRoZSBkZXZpY2Ugc2lkZS4KPgo+IFRoYW5rIHlvdSBmb3IgcHJvdmlk aW5nIHRoZSBhYm92ZSBwYXRjaC4gSXQgc2VlbXMgcXVpdGUgc3RhYmxlIGZvciBhCj4gdmFyaWV0 eSBvZiBob3N0cyEgV2Ugd2FudCB0byBjb250aW51ZSB0ZXN0aW5nIHRoaXMgb24gc2V2ZXJhbCBz YW1wbGVzCj4gd2l0aCBhIGJ1bmNoIG9mIGRpZmZlcmVudCBob3N0IGNvbXB1dGVycyBhbmQgY2Fi bGVzIHRvIG1ha2Ugc3VyZSB3ZSdyZQo+IGluIHRoZSBjbGVhciwgYnV0IHRoaXMgcGF0Y2ggaXMg ZmVlbGluZyBwcmV0dHkgZ29vZC4KCkdvb2QgdG8gaGVhciwgcGxlYXNlIHVwZGF0ZSBtZSBvbmNl IHlvdSdyZSBoYXBweSB3aXRoIHRoZSByZXN1bHRzLiBBbHNvLAppZiB5b3Ugbm90aWNlIHRoaXMg cHJvYmxlbSBoYXBwZW5pbmcgYWdhaW4gaW4gdGhlIGZ1dHVyZSwgZG9uJ3QgaGVzaXRhdGUKdG8g Y29udGFjdCBtZS4KCj4gSSd2ZSBhdHRhY2hlZCBhIHRhcmJhbGwgY29udGFpbmluZyB0aGUgZG1l c2cgb3V0cHV0LCByZWdkdW1wLCBhbmQKPiB0cmFjZXBvaW50cyBvZiBhIHN1Y2Nlc2Z1bCBzZXNz aW9uIHdpdGggdGhlIHBhdGNoIGFwcGxpZWQuIEkndmUgaW5jbHVkZWQKPiB0aGUgcGF0Y2ggaW4g dGhlIHRhcmJhbGwgaWYgeW91IHdvdWxkIGxpa2UgdG8gc2VlIGhvdyBJIHBvcnRlZCBpdC4KPiBD b3VsZCB5b3UgcGxlYXNlIGRvdWJsZS1jaGVjayB0aGUgdHJhY2VzIHRvIG1ha2Ugc3VyZSB0aGV5 IG1lZXQgeW91cgo+IGV4cGVjdGF0aW9ucyBmb3IgZGlzYWJsaW5nIHRoZSBVMS9VMl9FTkFCTEUg ZmVhdHVyZXM/IEkgbG9va2VkIHRocm91Z2gKPiB0aGUgdHJhY2VzIGFuZCBjb3VsZCBub3QgZmlu ZCBhbnkgbGluayBzdGF0ZSBjaGFuZ2VzIHRvIFUxIG9yIFUyLCBzbyBpdAo+IHNlZW1zIGxpa2Ug aXQncyB3b3JraW5nLgoKVGhlIGhvc3QsIGZyb20gdGhhdCBydW4sIGRpZG4ndCBlbmFibGUgZGV2 aWNlLWluaXRpYXRlZCBVMS9VMiBlbnRyeS4gU28Kb25seSBob3N0LWluaXRpYXRlZCBlbnRyeSBp cyBhdmFpYWJsZS4gU2luY2Ugd2UgaGF2ZSByZW1vdmVkCkFDQ0VQVFUxL0FDQ0VQVFUyIGJpdHMg ZnJvbSBEQ1RMLCBkd2MzIGlzIGRlbnlpbmcgTEdPX1UxIGFuZCBMR09fVTIuIFlvdQpjYW4gY29u ZmlybSB0aGF0IG9ubHkgd2l0aCBhIHNuaWZmZXIuCgo+IEkgaGF2ZSBhIGNvdXBsZSBvZiBmb2xs b3ctdXAgcXVlc3Rpb25zIGFib3V0IHRoaXMgcGF0Y2g6Cj4KPiAqIEkgYWRkZWQgc29tZSB0cmFj ZXBvaW50cyBpbiB0aGUgcGF0Y2ggSSdtIGFwcGx5aW5nIGJ1dCB0aGV5IGRvbid0IHNlZW0KPiAg IHRvIGJlIGluY2x1ZGVkIGluIHRoZSB0cmFjZSBvdXRwdXQuIFRoaXMgcGF0Y2ggYXBwbGllcyBj bGVhbmx5IGFuZCBJCj4gICBoYXZlbid0IHNlZW4gYW55IGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0 IGl0LiBJcyB0aGUKPiAgIGR3YzNfZXAwX2hhbmRsZV9mZWF0dXJlIGZ1bmN0aW9uIG5vdCBjYWxs ZWQgZHVyaW5nCgppdCdzIGNhbGxlZCBmcm9tIFNldEZlYXR1cmUoKSBjb21tYW5kLiBJZiBTZXRG ZWF0dXJlKCkgaXMgbm90IHNlbnQgYnkKdGhlIGhvc3QsIHRoZW4geW91IHdvbid0IHNlZSB5b3Vy IHRyYWNlcG9pbnRzLiBGWUksIFNldEZlYXR1cmUgd291bGQKaGF2ZSBhIGJSZXF1ZXN0IG9mIDMu IEhlcmUgd2UgY2FuIGFsbCBjdHJsIHJlcXVlc3RzOgoKIDE5MjogICAgIGlycS8yMy1kd2MzLTE3 NjUgIFswMDBdIGQuLjEgICAyMTMuMDA3NTkxOiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUg MDAgYlJlcXVlc3QgMDUgd1ZhbHVlIDAwMDUgd0luZGV4IDAwMDAgd0xlbmd0aCAwCiAyMDg6ICAg ICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxMDQ1NzogZHdjM19jdHJsX3Jl cTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMTAwIHdJbmRleCAwMDAwIHdM ZW5ndGggMTgKIDIzNzogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDEw ODcxOiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODAgYlJlcXVlc3QgMDYgd1ZhbHVlIDAz MDQgd0luZGV4IDA0MDkgd0xlbmd0aCAyCiAyNjY6ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAw XSBkLi4xICAgMjEzLjAxMTMzMDogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1 ZXN0IDA2IHdWYWx1ZSAwMzA0IHdJbmRleCAwNDA5IHdMZW5ndGggNDAKIDI5NTogICAgIGlycS8y My1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDExNzA3OiBkd2MzX2N0cmxfcmVxOiBiUmVx dWVzdFR5cGUgODAgYlJlcXVlc3QgMDYgd1ZhbHVlIDAzMDMgd0luZGV4IDA0MDkgd0xlbmd0aCAy CiAzMjQ6ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxMjEzNzogZHdj M19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMzAzIHdJbmRl eCAwNDA5IHdMZW5ndGggOTIKIDM1MzogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEg ICAyMTMuMDEyNTQ4OiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODAgYlJlcXVlc3QgMDYg d1ZhbHVlIDAzMDUgd0luZGV4IDA0MDkgd0xlbmd0aCAyCiAzODI6ICAgICBpcnEvMjMtZHdjMy0x NzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxMjkzNDogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBl IDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMzA1IHdJbmRleCAwNDA5IHdMZW5ndGggMTIKIDQxMTog ICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDEzMzMxOiBkd2MzX2N0cmxf cmVxOiBiUmVxdWVzdFR5cGUgODAgYlJlcXVlc3QgMDYgd1ZhbHVlIDBmMDAgd0luZGV4IDAwMDAg d0xlbmd0aCA1CiA0NDA6ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAx Mzc0ODogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAw ZjAwIHdJbmRleCAwMDAwIHdMZW5ndGggMjIKIDQ2OTogICAgIGlycS8yMy1kd2MzLTE3NjUgIFsw MDBdIGQuLjEgICAyMTMuMDE2MDA2OiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODAgYlJl cXVlc3QgMDYgd1ZhbHVlIDAyMDAgd0luZGV4IDAwMDAgd0xlbmd0aCA5CiA0OTg6ICAgICBpcnEv MjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxNjU0MzogZHdjM19jdHJsX3JlcTogYlJl cXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2IHdWYWx1ZSAwMjAwIHdJbmRleCAwMDAwIHdMZW5ndGgg NDQKIDUyNzogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEgICAyMTMuMDE2OTUxOiBk d2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgMDAgYlJlcXVlc3QgMDkgd1ZhbHVlIDAwMDEgd0lu ZGV4IDAwMDAgd0xlbmd0aCAwCiA1Njg6ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4x ICAgMjEzLjAxNzU2OTogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBlIDgwIGJSZXF1ZXN0IDA2 IHdWYWx1ZSAwMzAxIHdJbmRleCAwNDA5IHdMZW5ndGggMgogNTk3OiAgICAgaXJxLzIzLWR3YzMt MTc2NSAgWzAwMF0gZC4uMSAgIDIxMy4wMTc5MjY6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlw ZSA4MCBiUmVxdWVzdCAwNiB3VmFsdWUgMDMwMSB3SW5kZXggMDQwOSB3TGVuZ3RoIDI2CiA2MjY6 ICAgICBpcnEvMjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjEzLjAxODM2NzogZHdjM19jdHJs X3JlcTogYlJlcXVlc3RUeXBlIDgxIGJSZXF1ZXN0IDAwIHdWYWx1ZSAwMDAwIHdJbmRleCAwMDAw IHdMZW5ndGggMgogNjUzOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxMy4w MjY0MDQ6IGR3YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSBhMSBiUmVxdWVzdCBmZSB3VmFsdWUg MDAwMCB3SW5kZXggMDAwMCB3TGVuZ3RoIDEKIDkyOTogICAgIGlycS8yMy1kd2MzLTE3NjUgIFsw MDBdIGQuLjEgICAyMTQuMTM4Mzg1OiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgODIgYlJl cXVlc3QgMDAgd1ZhbHVlIDAwMDAgd0luZGV4IDAwODEgd0xlbmd0aCAyCiA5NTY6ICAgICBpcnEv MjMtZHdjMy0xNzY1ICBbMDAwXSBkLi4xICAgMjE0LjEzODc5MTogZHdjM19jdHJsX3JlcTogYlJl cXVlc3RUeXBlIDAyIGJSZXF1ZXN0IDAxIHdWYWx1ZSAwMDAwIHdJbmRleCAwMDgxIHdMZW5ndGgg MAoxMDMxOiAgICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxNC4xNDAyMTQ6IGR3 YzNfY3RybF9yZXE6IGJSZXF1ZXN0VHlwZSA4MiBiUmVxdWVzdCAwMCB3VmFsdWUgMDAwMCB3SW5k ZXggMDA4MSB3TGVuZ3RoIDIKMTA1ODogICAgIGlycS8yMy1kd2MzLTE3NjUgIFswMDBdIGQuLjEg ICAyMTQuMTQwNjE4OiBkd2MzX2N0cmxfcmVxOiBiUmVxdWVzdFR5cGUgMDIgYlJlcXVlc3QgMDEg d1ZhbHVlIDAwMDAgd0luZGV4IDAwODEgd0xlbmd0aCAwCjExMzM6ICAgICBpcnEvMjMtZHdjMy0x NzY1ICBbMDAwXSBkLi4xICAgMjE0LjE0MjIwODogZHdjM19jdHJsX3JlcTogYlJlcXVlc3RUeXBl IDgyIGJSZXF1ZXN0IDAwIHdWYWx1ZSAwMDAwIHdJbmRleCAwMDgxIHdMZW5ndGggMgoxMTYwOiAg ICAgaXJxLzIzLWR3YzMtMTc2NSAgWzAwMF0gZC4uMSAgIDIxNC4xNDI1ODc6IGR3YzNfY3RybF9y ZXE6IGJSZXF1ZXN0VHlwZSAwMiBiUmVxdWVzdCAwMSB3VmFsdWUgMDAwMCB3SW5kZXggMDA4MSB3 TGVuZ3RoIDAKCk5vdGUgdGhhdCB3ZSBkb24ndCBoYXZlIGFueSAiYlJlcXVlc3QgMDMiIHN1YnN0 cmluZy4KCj4gKiBJIGxvb2tlZCB0aHJvdWdoIHRoZSBVU0IgMy4wIFNwZWMgdG8gZmluZCBvdXQg bW9yZSBpbmZvcm1hdGlvbiBhYm91dAo+ICAgdGhpcyBzb2x1dGlvbiB5b3UndmUgc3VnZ2VzdGVk IGFuZCB0aGUgcmVsZXZhbnQgc2VjdGlvbiBpcyA5LjQuOS4gVGhpcwo+ICAgc2VjdGlvbiBkb2N1 bWVudHMgdGhlICJzZXQgZmVhdHVyZSIgcmVxdWVzdC4gSXQgc3BlY2lmaWVzIHRoYXQgYQo+ICAg ZGV2aWNlIHNob3VsZCByZXR1cm4gYSBTVEFMTCB0cmFuc2FjdGlvbiBwYWNrZXQgd2hlbiB0aGUg cmVxdWVzdAo+ICAgcmVmZXJlbmNlcyBhIGZlYXR1cmUgdGhhdCBjYW5ub3QgYmUgc2V0LiBTbyBk b2VzIHJldHVybmluZyAtRUlOVkFMCj4gICBpbiB0aGUgZHdjM19lcDBfaGFuZGxlX2ZlYXR1cmUg ZnVuY3Rpb24gdHJhbnNsYXRlIHRvIGEgU1RBTEwgcGFja2V0Cj4gICB0aGF0IGdldHMgc2VudCB0 byB0aGUgaG9zdD8gQW5kIGl0J3MgdG90YWxseSB3aXRoaW4gc3BlYyBmb3IgYSBkZXZpY2UKPiAg IHRvIG5vdCBhY2NlcHQgVTEvVTJfRU5BQkxFIHJlcXVlc3RzLCByaWdodD8KClRoYXQncyBjb3Jy ZWN0LiBBIERldmljZSBjYW4gU1RBTEwgYSByZXF1ZXN0IGZvciBkZXZpY2UtaW5pYXRlZCBVMS9V MiBlbnRyeS4KCj4+ID4gSSd2ZSBhdHRhY2hlZCB0aGUgdHJhY2VzIGFuZCBkbWVzZyBvdXRwdXQg aW4gYW4gYXJjaGl2ZSB0aXRsZWQKPj4gPiAiZ25hcmJveC1lcDBvdXQtZmFpbHVyZS50YXIueHoi LiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgeW91IG5lZWQgbW9yZQo+PiA+IGluZm9ybWF0aW9uIGFi b3V0IHRoaXMgcGFydGljdWxhciBpc3N1ZS4KPj4gCj4+IEknbGwgZ28gb3ZlciB0aGUgdHJhY2Vz LCB0aGlzIGNvdWxkIGJlIHNvbWV0aGluZyB0aGF0IGhhcyBiZWVuIGZpeGVkIGluCj4+IHRoZSBw YXN0Lgo+Cj4gRGlkIHlvdSBnZXQgYSBjaGFuY2UgdG8gdGFrZSBhIGxvb2sgYXQgdGhlIHRyYWNl cG9pbnRzIGZvciB0aGlzIGVycm9yPwo+IE5vIHdvcnJpZXMgaWYgeW91IGhhdmVuJ3QgZ290dGVu IGEgY2hhbmNlIHlldC4KCkkgZGlkLCBub3RoaW5nIHNjcmVhbWluZyB3cm9uZyB3aXRoIHRoZW0u IFRoYXQgImNhbid0IGVuYWJsZSBlcDBvdXQiCnN0aWxsIHB1enpsZXMgbWUgYSBiaXQuIFdoYXQg d2Ugc2VlIG9uIHRyYWNlcG9pbnRzIGlzIGEgdGltZSBvdXQ6CgoJbW9kcHJvYmUtMTI4MSAgWzAw Ml0gZC4uMSAgIDI0Ni41MDQwNDM6IGR3YzNfZ2FkZ2V0X2VwX2NtZDogZXAwb3V0OiBjbWQgJ1Nl dCBFbmRwb2ludCBUcmFuc2ZlciBSZXNvdXJjZScgWzJdIHBhcmFtcyAwMDAwMDAwMSAwMDAwMDAw MCAwMDAwMDAwMCAtLT4gc3RhdHVzOiBUaW1lZCBPdXQKCkJ1dCBJIGhhdmUgbm8gaWRlYSB3aHkg dGhhdCBoYXBwZW5zLiBJdCBjb3VsZCBiZSB0aGF0IHRoaXMgd2FzIGZpeGVkCmxvbmcgYWdvLCBi dXQgd2Ugd29uJ3Qga25vdyB1bmxlc3Mgd2UgcnVuIGEgcmVjZW50IGtlcm5lbCBvbiB5b3VyCnNl dHVwLiBJLCBjZXJ0YWlubHksIGhhdmVuJ3Qgc2VlbiB0aGF0IDotKQo=