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: Fix big-endian application issue for MUSB gadget From: Bin Liu Message-Id: <20180802165115.GE31129@uda0271908> Date: Thu, 2 Aug 2018 11:51:15 -0500 To: Alexey Spirkov , Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "andrew@ncrmnt.org" List-ID: T24gVGh1LCBBdWcgMDIsIDIwMTggYXQgMTE6NDQ6MDBBTSAtMDUwMCwgQmluIExpdSB3cm90ZToK PiBIaSwKPiAKPiBPbiBUaHUsIEp1bCAyNiwgMjAxOCBhdCAxMjo1Mjo1M1BNICswMDAwLCBBbGV4 ZXkgU3BpcmtvdiB3cm90ZToKPiA+IEV4aXN0aW5nIGNvZGUgaXMgbm90IGFwcGxpY2FibGUgdG8g YmlnLWVuZGlhbiBtYWNoaW5lcwo+ID4gY3RybHJlcXVlc3QgZmllbGRzIHJlY2VpdmVkIGluIFVT QiBlbmRpYW4gLSBpLmUuIGluIGxpdHRsZS1lbmRpYW4KPiA+IGFuZCBzaG91bGQgYmUgY29udmVy dGVkIHRvIGNwdSBlbmRpYW5uZXNzIGJlZm9yZSB1c2FnZS4KPiA+IAo+ID4gU2lnbmVkLW9mZi1i eTogQWxleGV5IFNwaXJrb3YgPGFsZXhlaXNAYXN0cm9zb2Z0LnJ1Pgo+ID4gLS0tCj4gPiAgZHJp dmVycy91c2IvbXVzYi9tdXNiX2dhZGdldF9lcDAuYyB8IDMzICsrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMyBk ZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL211c2IvbXVzYl9n YWRnZXRfZXAwLmMgYi9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0X2VwMC5jCj4gPiBpbmRl eCA5MWE1MDI3Li41ZDVjOTMzIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy91c2IvbXVzYi9tdXNi X2dhZGdldF9lcDAuYwo+ID4gKysrIGIvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldF9lcDAu Ywo+ID4gQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIGludCBzZXJ2aWNlX3R4X3N0YXR1c19yZXF1 ZXN0KAo+ID4gIAkJdTE2CQl0bXA7Cj4gPiAgCQl2b2lkIF9faW9tZW0JKnJlZ3M7Cj4gPiAgCj4g PiAtCQllcG51bSA9ICh1OCkgY3RybHJlcXVlc3QtPndJbmRleDsKPiA+ICsJCWVwbnVtID0gKHU4 KSBsZTE2X3RvX2NwdShjdHJscmVxdWVzdC0+d0luZGV4KTsKPiA+ICAJCWlmICghZXBudW0pIHsK PiA+ICAJCQlyZXN1bHRbMF0gPSAwOwo+ID4gIAkJCWJyZWFrOwo+ID4gQEAgLTIxNywxNCArMjE3 LDE1IEBAIF9fYWNxdWlyZXMobXVzYi0+bG9jaykKPiA+ICAJCWNhc2UgVVNCX1JFUV9TRVRfQURE UkVTUzoKPiA+ICAJCQkvKiBjaGFuZ2UgaXQgYWZ0ZXIgdGhlIHN0YXR1cyBzdGFnZSAqLwo+ID4g IAkJCW11c2ItPnNldF9hZGRyZXNzID0gdHJ1ZTsKPiA+IC0JCQltdXNiLT5hZGRyZXNzID0gKHU4 KSAoY3RybHJlcXVlc3QtPndWYWx1ZSAmIDB4N2YpOwo+ID4gKwkJCW11c2ItPmFkZHJlc3MgPSAo dTgpIChsZTE2X3RvX2NwdShjdHJscmVxdWVzdC0+d1ZhbHVlKSAmCj4gPiArCQkJCQkJCQkJMHg3 Zik7Cj4gPiAgCQkJaGFuZGxlZCA9IDE7Cj4gPiAgCQkJYnJlYWs7Cj4gPiAgCj4gPiAgCQljYXNl IFVTQl9SRVFfQ0xFQVJfRkVBVFVSRToKPiA+ICAJCQlzd2l0Y2ggKHJlY2lwKSB7Cj4gPiAgCQkJ Y2FzZSBVU0JfUkVDSVBfREVWSUNFOgo+ID4gLQkJCQlpZiAoY3RybHJlcXVlc3QtPndWYWx1ZQo+ ID4gKwkJCQlpZiAobGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndWYWx1ZSkKPiA+ICAJCQkJCQkh PSBVU0JfREVWSUNFX1JFTU9URV9XQUtFVVApCj4gPiAgCQkJCQlicmVhazsKPiA+ICAJCQkJbXVz Yi0+bWF5X3dha2V1cCA9IDA7Cj4gPiBAQCAtMjM0LDcgKzIzNSw3IEBAIF9fYWNxdWlyZXMobXVz Yi0+bG9jaykKPiA+ICAJCQkJYnJlYWs7Cj4gPiAgCQkJY2FzZSBVU0JfUkVDSVBfRU5EUE9JTlQ6 ewo+ID4gIAkJCQljb25zdCB1OAkJZXBudW0gPQo+ID4gLQkJCQkJY3RybHJlcXVlc3QtPndJbmRl eCAmIDB4MGY7Cj4gPiArCQkJCQlsZTE2X3RvX2NwdShjdHJscmVxdWVzdC0+d0luZGV4KSAmIDB4 MGY7Cj4gPiAgCQkJCXN0cnVjdCBtdXNiX2VwCQkqbXVzYl9lcDsKPiA+ICAJCQkJc3RydWN0IG11 c2JfaHdfZXAJKmVwOwo+ID4gIAkJCQlzdHJ1Y3QgbXVzYl9yZXF1ZXN0CSpyZXF1ZXN0Owo+ID4g QEAgLTI0MywxMiArMjQ0LDE0IEBAIF9fYWNxdWlyZXMobXVzYi0+bG9jaykKPiA+ICAJCQkJdTE2 CQkJY3NyOwo+ID4gIAo+ID4gIAkJCQlpZiAoZXBudW0gPT0gMCB8fCBlcG51bSA+PSBNVVNCX0Nf TlVNX0VQUyB8fAo+ID4gLQkJCQkgICAgY3RybHJlcXVlc3QtPndWYWx1ZSAhPSBVU0JfRU5EUE9J TlRfSEFMVCkKPiA+ICsJCQkJICAgIGxlMTZfdG9fY3B1KGN0cmxyZXF1ZXN0LT53VmFsdWUpCj4g PiArCQkJCQkJIT0gVVNCX0VORFBPSU5UX0hBTFQpCj4gPiAgCQkJCQlicmVhazsKPiA+ICAKPiA+ ICAJCQkJZXAgPSBtdXNiLT5lbmRwb2ludHMgKyBlcG51bTsKPiA+ICAJCQkJcmVncyA9IGVwLT5y ZWdzOwo+ID4gLQkJCQlpc19pbiA9IGN0cmxyZXF1ZXN0LT53SW5kZXggJiBVU0JfRElSX0lOOwo+ ID4gKwkJCQlpc19pbiA9IGxlMTZfdG9fY3B1KGN0cmxyZXF1ZXN0LT53SW5kZXgpICYKPiA+ICsJ CQkJCQkJCVVTQl9ESVJfSU47Cj4gPiAgCQkJCWlmIChpc19pbikKPiA+ICAJCQkJCW11c2JfZXAg PSAmZXAtPmVwX2luOwo+ID4gIAkJCQllbHNlCj4gPiBAQCAtMzAwLDE3ICszMDMsMTkgQEAgX19h Y3F1aXJlcyhtdXNiLT5sb2NrKQo+ID4gIAkJCXN3aXRjaCAocmVjaXApIHsKPiA+ICAJCQljYXNl IFVTQl9SRUNJUF9ERVZJQ0U6Cj4gPiAgCQkJCWhhbmRsZWQgPSAxOwo+ID4gLQkJCQlzd2l0Y2gg KGN0cmxyZXF1ZXN0LT53VmFsdWUpIHsKPiA+ICsJCQkJc3dpdGNoIChsZTE2X3RvX2NwdShjdHJs cmVxdWVzdC0+d1ZhbHVlKSkgewo+ID4gIAkJCQljYXNlIFVTQl9ERVZJQ0VfUkVNT1RFX1dBS0VV UDoKPiA+ICAJCQkJCW11c2ItPm1heV93YWtldXAgPSAxOwo+ID4gIAkJCQkJYnJlYWs7Cj4gPiAg CQkJCWNhc2UgVVNCX0RFVklDRV9URVNUX01PREU6Cj4gPiAgCQkJCQlpZiAobXVzYi0+Zy5zcGVl ZCAhPSBVU0JfU1BFRURfSElHSCkKPiA+ICAJCQkJCQlnb3RvIHN0YWxsOwo+ID4gLQkJCQkJaWYg KGN0cmxyZXF1ZXN0LT53SW5kZXggJiAweGZmKQo+ID4gKwkJCQkJaWYgKGxlMTZfdG9fY3B1KGN0 cmxyZXF1ZXN0LT53SW5kZXgpICYKPiA+ICsJCQkJCQkJCQkweGZmKQo+ID4gIAkJCQkJCWdvdG8g c3RhbGw7Cj4gPiAgCj4gPiAtCQkJCQlzd2l0Y2ggKGN0cmxyZXF1ZXN0LT53SW5kZXggPj4gOCkg ewo+ID4gKwkJCQkJc3dpdGNoIChsZTE2X3RvX2NwdShjdHJscmVxdWVzdC0+d0luZGV4KQo+ID4g KwkJCQkJCQkJCSA+PiA4KSB7Cj4gPiAgCQkJCQljYXNlIDE6Cj4gPiAgCQkJCQkJcHJfZGVidWco IlRFU1RfSlxuIik7Cj4gPiAgCQkJCQkJLyogVEVTVF9KICovCj4gPiBAQCAtMzk5LDcgKzQwNCw3 IEBAIF9fYWNxdWlyZXMobXVzYi0+bG9jaykKPiA+ICAKPiA+ICAJCQljYXNlIFVTQl9SRUNJUF9F TkRQT0lOVDp7Cj4gPiAgCQkJCWNvbnN0IHU4CQllcG51bSA9Cj4gPiAtCQkJCQljdHJscmVxdWVz dC0+d0luZGV4ICYgMHgwZjsKPiA+ICsJCQkJCWxlMTZfdG9fY3B1KGN0cmxyZXF1ZXN0LT53SW5k ZXgpICYgMHgwZjsKPiA+ICAJCQkJc3RydWN0IG11c2JfZXAJCSptdXNiX2VwOwo+ID4gIAkJCQlz dHJ1Y3QgbXVzYl9od19lcAkqZXA7Cj4gPiAgCQkJCXZvaWQgX19pb21lbQkJKnJlZ3M7Cj4gPiBA QCAtNDA3LDEyICs0MTIsMTQgQEAgX19hY3F1aXJlcyhtdXNiLT5sb2NrKQo+ID4gIAkJCQl1MTYJ CQljc3I7Cj4gPiAgCj4gPiAgCQkJCWlmIChlcG51bSA9PSAwIHx8IGVwbnVtID49IE1VU0JfQ19O VU1fRVBTIHx8Cj4gPiAtCQkJCSAgICBjdHJscmVxdWVzdC0+d1ZhbHVlCSE9IFVTQl9FTkRQT0lO VF9IQUxUKQo+ID4gKwkJCQkgICAgbGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndWYWx1ZSkKPiA+ ICsJCQkJCQkhPSBVU0JfRU5EUE9JTlRfSEFMVCkKPiA+ICAJCQkJCWJyZWFrOwo+ID4gIAo+ID4g IAkJCQllcCA9IG11c2ItPmVuZHBvaW50cyArIGVwbnVtOwo+ID4gIAkJCQlyZWdzID0gZXAtPnJl Z3M7Cj4gPiAtCQkJCWlzX2luID0gY3RybHJlcXVlc3QtPndJbmRleCAmIFVTQl9ESVJfSU47Cj4g PiArCQkJCWlzX2luID0gbGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndJbmRleCkgJgo+ID4gKwkJ CQkJCQkJVVNCX0RJUl9JTjsKPiA+ICAJCQkJaWYgKGlzX2luKQo+ID4gIAkJCQkJbXVzYl9lcCA9 ICZlcC0+ZXBfaW47Cj4gPiAgCQkJCWVsc2UKPiAKPiBTaW5jZSB0aGlzIGZ1bmN0aW9uIHVzZXMg Y3RybHJlcXVlc3QtPndJbmRleCBhbmQgY3RybHJlcXVlc3QtPndWYWx1ZQo+IG1hbnkgdGltZXMs IGNhbiB5b3UgcGxlYXNlIGNyZWF0ZSBsb2NhbCB2YXJzIGZvciB0aGVtLCB0aGVuIHdlIGRvbid0 Cj4gaGF2ZSB0byBjYWxsIGxlMTZfdG9fY3B1KCkgb24gdGhlbSBpbiBldmVyeSBpbnN0YW5jZT8K PiAKPiA+IEBAIC02MDgsNyArNjE1LDcgQEAgbXVzYl9yZWFkX3NldHVwKHN0cnVjdCBtdXNiICpt dXNiLCBzdHJ1Y3QgdXNiX2N0cmxyZXF1ZXN0ICpyZXEpCj4gPiAgCSAqLwo+ID4gIAltdXNiLT5z ZXRfYWRkcmVzcyA9IGZhbHNlOwo+ID4gIAltdXNiLT5hY2twZW5kID0gTVVTQl9DU1IwX1BfU1ZE UlhQS1RSRFk7Cj4gPiAtCWlmIChyZXEtPndMZW5ndGggPT0gMCkgewo+ID4gKwlpZiAobGUxNl90 b19jcHUocmVxLT53TGVuZ3RoKSA9PSAwKSB7Cj4gPiAgCQlpZiAocmVxLT5iUmVxdWVzdFR5cGUg JiBVU0JfRElSX0lOKQo+ID4gIAkJCW11c2ItPmFja3BlbmQgfD0gTVVTQl9DU1IwX1RYUEtUUkRZ Owo+ID4gIAkJbXVzYi0+ZXAwX3N0YXRlID0gTVVTQl9FUDBfU1RBR0VfQUNLV0FJVDsKClBsZWFz ZSBhbHNvIGZpeCB0aGUgcGF0Y2ggc3ViamVjdCB0byAidXNiOiBtdXNiOiBnYWRnZXQ6IC4uLiIg aW4geW91cgp2Mi4KClJlZ2FyZHMsCi1CaW4uCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMg bGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9keSBv ZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9tbyBp bmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK