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: <20180802164400.GC31129@uda0271908> Date: Thu, 2 Aug 2018 11:44:00 -0500 To: Alexey Spirkov Cc: Greg Kroah-Hartman , "linux-usb@vger.kernel.org" , "andrew@ncrmnt.org" List-ID: SGksCgpPbiBUaHUsIEp1bCAyNiwgMjAxOCBhdCAxMjo1Mjo1M1BNICswMDAwLCBBbGV4ZXkgU3Bp cmtvdiB3cm90ZToKPiBFeGlzdGluZyBjb2RlIGlzIG5vdCBhcHBsaWNhYmxlIHRvIGJpZy1lbmRp YW4gbWFjaGluZXMKPiBjdHJscmVxdWVzdCBmaWVsZHMgcmVjZWl2ZWQgaW4gVVNCIGVuZGlhbiAt IGkuZS4gaW4gbGl0dGxlLWVuZGlhbgo+IGFuZCBzaG91bGQgYmUgY29udmVydGVkIHRvIGNwdSBl bmRpYW5uZXNzIGJlZm9yZSB1c2FnZS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgU3Bpcmtv diA8YWxleGVpc0Bhc3Ryb3NvZnQucnU+Cj4gLS0tCj4gIGRyaXZlcnMvdXNiL211c2IvbXVzYl9n YWRnZXRfZXAwLmMgfCAzMyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3VzYi9tdXNiL211c2JfZ2FkZ2V0X2VwMC5jIGIvZHJpdmVycy91c2Iv bXVzYi9tdXNiX2dhZGdldF9lcDAuYwo+IGluZGV4IDkxYTUwMjcuLjVkNWM5MzMgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy91c2IvbXVzYi9tdXNiX2dhZGdldF9lcDAuYwo+ICsrKyBiL2RyaXZlcnMv dXNiL211c2IvbXVzYl9nYWRnZXRfZXAwLmMKPiBAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgaW50 IHNlcnZpY2VfdHhfc3RhdHVzX3JlcXVlc3QoCj4gIAkJdTE2CQl0bXA7Cj4gIAkJdm9pZCBfX2lv bWVtCSpyZWdzOwo+ICAKPiAtCQllcG51bSA9ICh1OCkgY3RybHJlcXVlc3QtPndJbmRleDsKPiAr CQllcG51bSA9ICh1OCkgbGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndJbmRleCk7Cj4gIAkJaWYg KCFlcG51bSkgewo+ICAJCQlyZXN1bHRbMF0gPSAwOwo+ICAJCQlicmVhazsKPiBAQCAtMjE3LDE0 ICsyMTcsMTUgQEAgX19hY3F1aXJlcyhtdXNiLT5sb2NrKQo+ICAJCWNhc2UgVVNCX1JFUV9TRVRf QUREUkVTUzoKPiAgCQkJLyogY2hhbmdlIGl0IGFmdGVyIHRoZSBzdGF0dXMgc3RhZ2UgKi8KPiAg CQkJbXVzYi0+c2V0X2FkZHJlc3MgPSB0cnVlOwo+IC0JCQltdXNiLT5hZGRyZXNzID0gKHU4KSAo Y3RybHJlcXVlc3QtPndWYWx1ZSAmIDB4N2YpOwo+ICsJCQltdXNiLT5hZGRyZXNzID0gKHU4KSAo bGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndWYWx1ZSkgJgo+ICsJCQkJCQkJCQkweDdmKTsKPiAg CQkJaGFuZGxlZCA9IDE7Cj4gIAkJCWJyZWFrOwo+ICAKPiAgCQljYXNlIFVTQl9SRVFfQ0xFQVJf RkVBVFVSRToKPiAgCQkJc3dpdGNoIChyZWNpcCkgewo+ICAJCQljYXNlIFVTQl9SRUNJUF9ERVZJ Q0U6Cj4gLQkJCQlpZiAoY3RybHJlcXVlc3QtPndWYWx1ZQo+ICsJCQkJaWYgKGxlMTZfdG9fY3B1 KGN0cmxyZXF1ZXN0LT53VmFsdWUpCj4gIAkJCQkJCSE9IFVTQl9ERVZJQ0VfUkVNT1RFX1dBS0VV UCkKPiAgCQkJCQlicmVhazsKPiAgCQkJCW11c2ItPm1heV93YWtldXAgPSAwOwo+IEBAIC0yMzQs NyArMjM1LDcgQEAgX19hY3F1aXJlcyhtdXNiLT5sb2NrKQo+ICAJCQkJYnJlYWs7Cj4gIAkJCWNh c2UgVVNCX1JFQ0lQX0VORFBPSU5UOnsKPiAgCQkJCWNvbnN0IHU4CQllcG51bSA9Cj4gLQkJCQkJ Y3RybHJlcXVlc3QtPndJbmRleCAmIDB4MGY7Cj4gKwkJCQkJbGUxNl90b19jcHUoY3RybHJlcXVl c3QtPndJbmRleCkgJiAweDBmOwo+ICAJCQkJc3RydWN0IG11c2JfZXAJCSptdXNiX2VwOwo+ICAJ CQkJc3RydWN0IG11c2JfaHdfZXAJKmVwOwo+ICAJCQkJc3RydWN0IG11c2JfcmVxdWVzdAkqcmVx dWVzdDsKPiBAQCAtMjQzLDEyICsyNDQsMTQgQEAgX19hY3F1aXJlcyhtdXNiLT5sb2NrKQo+ICAJ CQkJdTE2CQkJY3NyOwo+ICAKPiAgCQkJCWlmIChlcG51bSA9PSAwIHx8IGVwbnVtID49IE1VU0Jf Q19OVU1fRVBTIHx8Cj4gLQkJCQkgICAgY3RybHJlcXVlc3QtPndWYWx1ZSAhPSBVU0JfRU5EUE9J TlRfSEFMVCkKPiArCQkJCSAgICBsZTE2X3RvX2NwdShjdHJscmVxdWVzdC0+d1ZhbHVlKQo+ICsJ CQkJCQkhPSBVU0JfRU5EUE9JTlRfSEFMVCkKPiAgCQkJCQlicmVhazsKPiAgCj4gIAkJCQllcCA9 IG11c2ItPmVuZHBvaW50cyArIGVwbnVtOwo+ICAJCQkJcmVncyA9IGVwLT5yZWdzOwo+IC0JCQkJ aXNfaW4gPSBjdHJscmVxdWVzdC0+d0luZGV4ICYgVVNCX0RJUl9JTjsKPiArCQkJCWlzX2luID0g bGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndJbmRleCkgJgo+ICsJCQkJCQkJCVVTQl9ESVJfSU47 Cj4gIAkJCQlpZiAoaXNfaW4pCj4gIAkJCQkJbXVzYl9lcCA9ICZlcC0+ZXBfaW47Cj4gIAkJCQll bHNlCj4gQEAgLTMwMCwxNyArMzAzLDE5IEBAIF9fYWNxdWlyZXMobXVzYi0+bG9jaykKPiAgCQkJ c3dpdGNoIChyZWNpcCkgewo+ICAJCQljYXNlIFVTQl9SRUNJUF9ERVZJQ0U6Cj4gIAkJCQloYW5k bGVkID0gMTsKPiAtCQkJCXN3aXRjaCAoY3RybHJlcXVlc3QtPndWYWx1ZSkgewo+ICsJCQkJc3dp dGNoIChsZTE2X3RvX2NwdShjdHJscmVxdWVzdC0+d1ZhbHVlKSkgewo+ICAJCQkJY2FzZSBVU0Jf REVWSUNFX1JFTU9URV9XQUtFVVA6Cj4gIAkJCQkJbXVzYi0+bWF5X3dha2V1cCA9IDE7Cj4gIAkJ CQkJYnJlYWs7Cj4gIAkJCQljYXNlIFVTQl9ERVZJQ0VfVEVTVF9NT0RFOgo+ICAJCQkJCWlmICht dXNiLT5nLnNwZWVkICE9IFVTQl9TUEVFRF9ISUdIKQo+ICAJCQkJCQlnb3RvIHN0YWxsOwo+IC0J CQkJCWlmIChjdHJscmVxdWVzdC0+d0luZGV4ICYgMHhmZikKPiArCQkJCQlpZiAobGUxNl90b19j cHUoY3RybHJlcXVlc3QtPndJbmRleCkgJgo+ICsJCQkJCQkJCQkweGZmKQo+ICAJCQkJCQlnb3Rv IHN0YWxsOwo+ICAKPiAtCQkJCQlzd2l0Y2ggKGN0cmxyZXF1ZXN0LT53SW5kZXggPj4gOCkgewo+ ICsJCQkJCXN3aXRjaCAobGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndJbmRleCkKPiArCQkJCQkJ CQkJID4+IDgpIHsKPiAgCQkJCQljYXNlIDE6Cj4gIAkJCQkJCXByX2RlYnVnKCJURVNUX0pcbiIp Owo+ICAJCQkJCQkvKiBURVNUX0ogKi8KPiBAQCAtMzk5LDcgKzQwNCw3IEBAIF9fYWNxdWlyZXMo bXVzYi0+bG9jaykKPiAgCj4gIAkJCWNhc2UgVVNCX1JFQ0lQX0VORFBPSU5UOnsKPiAgCQkJCWNv bnN0IHU4CQllcG51bSA9Cj4gLQkJCQkJY3RybHJlcXVlc3QtPndJbmRleCAmIDB4MGY7Cj4gKwkJ CQkJbGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndJbmRleCkgJiAweDBmOwo+ICAJCQkJc3RydWN0 IG11c2JfZXAJCSptdXNiX2VwOwo+ICAJCQkJc3RydWN0IG11c2JfaHdfZXAJKmVwOwo+ICAJCQkJ dm9pZCBfX2lvbWVtCQkqcmVnczsKPiBAQCAtNDA3LDEyICs0MTIsMTQgQEAgX19hY3F1aXJlcyht dXNiLT5sb2NrKQo+ICAJCQkJdTE2CQkJY3NyOwo+ICAKPiAgCQkJCWlmIChlcG51bSA9PSAwIHx8 IGVwbnVtID49IE1VU0JfQ19OVU1fRVBTIHx8Cj4gLQkJCQkgICAgY3RybHJlcXVlc3QtPndWYWx1 ZQkhPSBVU0JfRU5EUE9JTlRfSEFMVCkKPiArCQkJCSAgICBsZTE2X3RvX2NwdShjdHJscmVxdWVz dC0+d1ZhbHVlKQo+ICsJCQkJCQkhPSBVU0JfRU5EUE9JTlRfSEFMVCkKPiAgCQkJCQlicmVhazsK PiAgCj4gIAkJCQllcCA9IG11c2ItPmVuZHBvaW50cyArIGVwbnVtOwo+ICAJCQkJcmVncyA9IGVw LT5yZWdzOwo+IC0JCQkJaXNfaW4gPSBjdHJscmVxdWVzdC0+d0luZGV4ICYgVVNCX0RJUl9JTjsK PiArCQkJCWlzX2luID0gbGUxNl90b19jcHUoY3RybHJlcXVlc3QtPndJbmRleCkgJgo+ICsJCQkJ CQkJCVVTQl9ESVJfSU47Cj4gIAkJCQlpZiAoaXNfaW4pCj4gIAkJCQkJbXVzYl9lcCA9ICZlcC0+ ZXBfaW47Cj4gIAkJCQllbHNlCgpTaW5jZSB0aGlzIGZ1bmN0aW9uIHVzZXMgY3RybHJlcXVlc3Qt PndJbmRleCBhbmQgY3RybHJlcXVlc3QtPndWYWx1ZQptYW55IHRpbWVzLCBjYW4geW91IHBsZWFz ZSBjcmVhdGUgbG9jYWwgdmFycyBmb3IgdGhlbSwgdGhlbiB3ZSBkb24ndApoYXZlIHRvIGNhbGwg bGUxNl90b19jcHUoKSBvbiB0aGVtIGluIGV2ZXJ5IGluc3RhbmNlPwoKPiBAQCAtNjA4LDcgKzYx NSw3IEBAIG11c2JfcmVhZF9zZXR1cChzdHJ1Y3QgbXVzYiAqbXVzYiwgc3RydWN0IHVzYl9jdHJs cmVxdWVzdCAqcmVxKQo+ICAJICovCj4gIAltdXNiLT5zZXRfYWRkcmVzcyA9IGZhbHNlOwo+ICAJ bXVzYi0+YWNrcGVuZCA9IE1VU0JfQ1NSMF9QX1NWRFJYUEtUUkRZOwo+IC0JaWYgKHJlcS0+d0xl bmd0aCA9PSAwKSB7Cj4gKwlpZiAobGUxNl90b19jcHUocmVxLT53TGVuZ3RoKSA9PSAwKSB7Cj4g IAkJaWYgKHJlcS0+YlJlcXVlc3RUeXBlICYgVVNCX0RJUl9JTikKPiAgCQkJbXVzYi0+YWNrcGVu ZCB8PSBNVVNCX0NTUjBfVFhQS1RSRFk7Cj4gIAkJbXVzYi0+ZXAwX3N0YXRlID0gTVVTQl9FUDBf U1RBR0VfQUNLV0FJVDsKClJlZ2FyZHMsCi1CaW4uCi0tLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRo aXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUgbGludXgtdXNiIiBpbgp0aGUgYm9k eSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZnZXIua2VybmVsLm9yZwpNb3JlIG1ham9yZG9t byBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwK