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: [v4] usb/gadget/uvc-configs Fix host unable to negotiate framesizes other than first From: Joel Pepper Message-Id: Date: Wed, 21 Mar 2018 14:53:49 +0100 To: Laurent Pinchart Cc: Felipe Balbi , Greg Kroah-Hartman , Paul Elder , linux-usb@vger.kernel.org List-ID: UGxlYXNlIGRpc3JlZ2FyZCB0aGlzIHZlcnNpb24sIEkgZGlzY292ZXJlZCBhIGRpZmZlcmVudCBi dWcgd2hpY2ggbmVlZHMKdG8gYmUgZml4ZWQgYmVmb3JlIHRoZSAtRUJVU1kgYmVoYXZpb3VyIGNh biBpbXBsZW1lbnRlZCwgYm90aCB3aWxsIGNvbWUKaW4gdjUKCgpPbiAyMS4wMy4yMDE4IDExOjIw LCBKb2VsIFBlcHBlciB3cm90ZToKPiAtIEFkZCBiRnJhbWVJbmRleCBhcyBhIFVWQ0dfRlJBTUVf QVRUUl9STyBmb3IgZWFjaCBmcmFtZSBzaXplLgo+IC0gQXV0b21hdGljYWxseSBhc3NpZ24gYXNj ZW5kaW5nIGJGcmFtZUluZGV4IHRvIGVhY2ggZnJhbWUgaW4gYSBmb3JtYXQuCj4KPiBCZWZvcmUg YWxsICJiRnJhbWVpbmRleCIgYXR0cmlidXRlcyB3ZXJlIHNldCB0byAiMSIgd2l0aCBubyB3YXkg dG8KPiBjb25maWd1cmUgdGhlIGdhZGdldCBvdGhlcndpc2UuIFRoaXMgcmVzdWx0ZWQgaW4gdGhl IGhvc3QgYWx3YXlzCj4gbmVnb3RpYXRpbmcgZm9yIGJGcmFtZUluZGV4IDEgKGkuZS4gdGhlIGZp cnN0IGZyYW1lc2l6ZSBvZiB0aGUgZ2FkZ2V0KS4KPiBBZnRlciB0aGUgbmVnb3RpYXRpb24gdGhl IGhvc3QgZHJpdmVyIHdpbGwgc2V0IHRoZSB1c2VyIG9yIGFwcGxpY2F0aW9uCj4gc2VsZWN0ZWQg ZnJhbWVzaXplLCB3aGlsZSB0aGUgZ2FkZ2V0IGlzIGFjdHVhbGx5IHNldCB0byB0aGUgZmlyc3QK PiBmcmFtZXNpemUuCj4KPiBOb3csIHdoZW4gdGhlIGNvbnRhaW5pbmcgZm9ybWF0IGlzIGxpbmtl ZCBpbnRvIHRoZSBzdHJlYW1pbmcgaGVhZGVyLAo+IGl0ZXJhdGUgb3ZlciBhbGwgY2hpbGQgZnJh bWUgZGVzY3JpcHRvcnMgYW5kIGFzc2lnbiBhc2NlbmRpbmcgaW5kaWNlcy4KPiBUaGUgYXV0b21h dGljYWxseSBhc3NpZ25lZCBpbmRpY2VzIGNhbiBiZSByZWFkIGZyb20gdGhlIG5ldyByZWFkIG9u bHkKPiBiRnJhbWVJbmRleCBjb25maWdzZnMgYXR0cmlidXRlIGluIGVhY2ggZnJhbWUgZGVzY3Jp cHRvciBpdGVtLgo+Cj4gdjI6IEFkZCB0aGUgbmV3IGF0dHJpYnV0ZSB0byBib3RoIE1KUEVHIGFu ZCB1bmNvbXByZXNzZWQgZnJhbWUgZGVzY3JpcHRvcnMKPiBpbiBEb2N1bWVudGF0aW9uL0FCSSwg d2l0aCBub3RlIHRoYXQgaXQgd2FzIGFkZGVkIG9ubHkgaW4gYSBsYXRlcgo+IGtlcm5lbCB2ZXJz aW9uCj4KPiB2MzogQ2hhbmdlZCBmcm9tIHNpbXBseSBhbGxvd2luZyB1c2VyIHRvIHNldCB0aGUg dmFsdWUgZm9yIGJGcmFtZUluZGV4IHRvCj4gYXV0b21hdGljYWxseSBhc3NpZ25pbmcgY29ycmVj dCBkaXN0aW5jdCBmcmFtZSBpbmRleGVzLiBDaGFuZ2VkCj4gYkZyYW1lSW5kZXggZnJvbSBSVyB0 byBSTwo+Cj4gdjQ6IEFjdHVhbGx5IGluY2x1ZGUgdXBkYXRlZCBwYXRjaAo+Cj4gU2lnbmVkLW9m Zi1ieTogSm9lbCBQZXBwZXIgPGpvZWwucGVwcGVyQHJ3dGgtYWFjaGVuLmRlPgo+IC0tLQo+ICBE b2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL2NvbmZpZ2ZzLXVzYi1nYWRnZXQtdXZjIHwgMTggKysr KysrKysKPiAgZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL3V2Y19jb25maWdmcy5jICAgICAg ICB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrCj4gIDIgZmlsZXMgY2hhbmdlZCwgNzEgaW5z ZXJ0aW9ucygrKQo+Cj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3RpbmcvY29u ZmlnZnMtdXNiLWdhZGdldC11dmMgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL2NvbmZpZ2Zz LXVzYi1nYWRnZXQtdXZjCj4gaW5kZXggMWJhMGQwZi4uODcyZWQ4YSAxMDA2NDQKPiAtLS0gYS9E b2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL2NvbmZpZ2ZzLXVzYi1nYWRnZXQtdXZjCj4gKysrIGIv RG9jdW1lbnRhdGlvbi9BQkkvdGVzdGluZy9jb25maWdmcy11c2ItZ2FkZ2V0LXV2Ywo+IEBAIC0x OTQsNiArMTk0LDE0IEBAIERlc2NyaXB0aW9uOglTcGVjaWZpYyBNSlBFRyBmcmFtZSBkZXNjcmlw dG9ycwo+ICAJCWJtQ2FwYWJpbGl0aWVzCQktIHN0aWxsIGltYWdlIHN1cHBvcnQsIGZpeGVkIGZy YW1lLXJhdGUKPiAgCQkJCQlzdXBwb3J0Cj4gIAo+ICtEYXRlOgkJTWFyIDIwMTgKPiArS2VybmVs VmVyc2lvbjoJNC4xNgo+ICsKPiArCQliRnJhbWVJbmRleAkJLSB1bmlxdWUgaWQgZm9yIHRoaXMg ZnJhbWVkZXNjcmlwdG9yOwo+ICsJCQkJCW9ubHkgZGVmaW5lZCBhZnRlciBwYXJlbnQgZm9ybWF0 IGlzCj4gKwkJCQkJbGlua2VkIGludG8gdGhlIHN0cmVhbWluZyBoZWFkZXI7Cj4gKwkJCQkJcmVh ZC1vbmx5Cj4gKwo+ICBXaGF0OgkJL2NvbmZpZy91c2ItZ2FkZ2V0L2dhZGdldC9mdW5jdGlvbnMv dXZjLm5hbWUvc3RyZWFtaW5nL3VuY29tcHJlc3NlZAo+ICBEYXRlOgkJRGVjIDIwMTQKPiAgS2Vy bmVsVmVyc2lvbjoJNC4wCj4gQEAgLTI0MSw2ICsyNDksMTYgQEAgRGVzY3JpcHRpb246CVNwZWNp ZmljIHVuY29tcHJlc3NlZCBmcmFtZSBkZXNjcmlwdG9ycwo+ICAJCWJtQ2FwYWJpbGl0aWVzCQkt IHN0aWxsIGltYWdlIHN1cHBvcnQsIGZpeGVkIGZyYW1lLXJhdGUKPiAgCQkJCQlzdXBwb3J0Cj4g IAo+ICtEYXRlOiAgICAgICAgICAgTWFyIDIwMTgKPiArS2VybmVsVmVyc2lvbjogIDQuMTYKPiAr Cj4gKyAgICAgICAgICAgICAgICBiRnJhbWVJbmRleCAgICAgICAgICAgICAtIHVuaXF1ZSBpZCBm b3IgdGhpcyBmcmFtZWRlc2NyaXB0b3I7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBvbmx5IGRlZmluZWQgYWZ0ZXIgcGFyZW50IGZvcm1hdCBpcyAKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmtlZCBpbnRvIHRoZSBzdHJlYW1p bmcgaGVhZGVyOwo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVh ZC1vbmx5Cj4gKwo+ICsKPiArCj4gIFdoYXQ6CQkvY29uZmlnL3VzYi1nYWRnZXQvZ2FkZ2V0L2Z1 bmN0aW9ucy91dmMubmFtZS9zdHJlYW1pbmcvaGVhZGVyCj4gIERhdGU6CQlEZWMgMjAxNAo+ICBL ZXJuZWxWZXJzaW9uOgk0LjAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0 aW9uL3V2Y19jb25maWdmcy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL3V2Y19jb25m aWdmcy5jCj4gaW5kZXggYzliOGNjNGEuLmE3M2RiYzUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy91 c2IvZ2FkZ2V0L2Z1bmN0aW9uL3V2Y19jb25maWdmcy5jCj4gKysrIGIvZHJpdmVycy91c2IvZ2Fk Z2V0L2Z1bmN0aW9uL3V2Y19jb25maWdmcy5jCj4gQEAgLTMyLDYgKzMyLDcgQEAgc3RhdGljIHN0 cnVjdCBjb25maWdmc19hdHRyaWJ1dGUgcHJlZml4IyNhdHRyXyMjY25hbWUgPSB7IFwKPiAgfQo+ ICAKPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZl91dmNfb3B0cyAqdG9fZl91dmNfb3B0cyhzdHJ1 Y3QgY29uZmlnX2l0ZW0gKml0ZW0pOwo+ICtzdGF0aWMgdm9pZCBfX3V2Y2dfZm10X3NldF9pbmRp Y2VzKHN0cnVjdCBjb25maWdfZ3JvdXAqIGZtdCk7Cj4gIAo+ICAvKiBjb250cm9sL2hlYWRlci88 TkFNRT4gKi8KPiAgREVDTEFSRV9VVkNfSEVBREVSX0RFU0NSSVBUT1IoMSk7Cj4gQEAgLTc1MSw2 ICs3NTIsOCBAQCBzdGF0aWMgaW50IHV2Y2dfc3RyZWFtaW5nX2hlYWRlcl9hbGxvd19saW5rKHN0 cnVjdCBjb25maWdfaXRlbSAqc3JjLAo+ICAJaWYgKCF0YXJnZXRfZm10KQo+ICAJCWdvdG8gb3V0 Owo+ICAKPiArCV9fdXZjZ19mbXRfc2V0X2luZGljZXModG9fY29uZmlnX2dyb3VwKHRhcmdldCkp Owo+ICsKPiAgCWZvcm1hdF9wdHIgPSBremFsbG9jKHNpemVvZigqZm9ybWF0X3B0ciksIEdGUF9L RVJORUwpOwo+ICAJaWYgKCFmb3JtYXRfcHRyKSB7Cj4gIAkJcmV0ID0gLUVOT01FTTsKPiBAQCAt OTI5LDYgKzkzMiwzMCBAQCBzdGF0aWMgc3RydWN0IHV2Y2dfZnJhbWUgKnRvX3V2Y2dfZnJhbWUo c3RydWN0IGNvbmZpZ19pdGVtICppdGVtKQo+ICAJcmV0dXJuIGNvbnRhaW5lcl9vZihpdGVtLCBz dHJ1Y3QgdXZjZ19mcmFtZSwgaXRlbSk7Cj4gIH0KPiAgCj4gKyNkZWZpbmUgVVZDR19GUkFNRV9B VFRSX1JPKGNuYW1lLCBhbmFtZSwgdG9fY3B1X2VuZGlhbiwgdG9fbGl0dGxlX2VuZGlhbiwgYml0 cykgXAo+ICtzdGF0aWMgc3NpemVfdCB1dmNnX2ZyYW1lXyMjY25hbWUjI19zaG93KHN0cnVjdCBj b25maWdfaXRlbSAqaXRlbSwgY2hhciAqcGFnZSlcCj4gK3sJCQkJCQkJCQlcCj4gKwlzdHJ1Y3Qg dXZjZ19mcmFtZSAqZiA9IHRvX3V2Y2dfZnJhbWUoaXRlbSk7CQkJXAo+ICsJc3RydWN0IGZfdXZj X29wdHMgKm9wdHM7CQkJCQlcCj4gKwlzdHJ1Y3QgY29uZmlnX2l0ZW0gKm9wdHNfaXRlbTsJCQkJ CVwKPiArCXN0cnVjdCBtdXRleCAqc3VfbXV0ZXggPSAmZi0+aXRlbS5jaV9ncm91cC0+Y2dfc3Vi c3lzLT5zdV9tdXRleDtcCj4gKwlpbnQgcmVzdWx0OwkJCQkJCQlcCj4gKwkJCQkJCQkJCVwKPiAr CW11dGV4X2xvY2soc3VfbXV0ZXgpOyAvKiBmb3IgbmF2aWdhdGluZyBjb25maWdmcyBoaWVyYXJj aHkgKi8JXAo+ICsJCQkJCQkJCQlcCj4gKwlvcHRzX2l0ZW0gPSBmLT5pdGVtLmNpX3BhcmVudC0+ Y2lfcGFyZW50LT5jaV9wYXJlbnQtPmNpX3BhcmVudDsJXAo+ICsJb3B0cyA9IHRvX2ZfdXZjX29w dHMob3B0c19pdGVtKTsJCQkJXAo+ICsJCQkJCQkJCQlcCj4gKwltdXRleF9sb2NrKCZvcHRzLT5s b2NrKTsJCQkJCVwKPiArCXJlc3VsdCA9IHNwcmludGYocGFnZSwgIiVkXG4iLCB0b19jcHVfZW5k aWFuKGYtPmZyYW1lLmNuYW1lKSk7CVwKPiArCW11dGV4X3VubG9jaygmb3B0cy0+bG9jayk7CQkJ CQlcCj4gKwkJCQkJCQkJCVwKPiArCW11dGV4X3VubG9jayhzdV9tdXRleCk7CQkJCQkJXAo+ICsJ cmV0dXJuIHJlc3VsdDsJCQkJCQkJXAo+ICt9CQkJCQkJCQkJXAo+ICsJCQkJCQkJCQlcCj4gK1VW Q19BVFRSX1JPKHV2Y2dfZnJhbWVfLCBjbmFtZSwgYW5hbWUpOwo+ICsKPiAgI2RlZmluZSBVVkNH X0ZSQU1FX0FUVFIoY25hbWUsIGFuYW1lLCB0b19jcHVfZW5kaWFuLCB0b19saXR0bGVfZW5kaWFu LCBiaXRzKSBcCj4gIHN0YXRpYyBzc2l6ZV90IHV2Y2dfZnJhbWVfIyNjbmFtZSMjX3Nob3coc3Ry dWN0IGNvbmZpZ19pdGVtICppdGVtLCBjaGFyICpwYWdlKVwKPiAgewkJCQkJCQkJCVwKPiBAQCAt OTkwLDYgKzEwMTcsOSBAQCBVVkNfQVRUUih1dmNnX2ZyYW1lXywgY25hbWUsIGFuYW1lKTsKPiAg Cj4gICNkZWZpbmUgbm9vcF9jb252ZXJzaW9uKHgpICh4KQo+ICAKPiArVVZDR19GUkFNRV9BVFRS X1JPKGJfZnJhbWVfaW5kZXgsIGJGcmFtZUluZGV4LCBub29wX2NvbnZlcnNpb24sCj4gKwkJbm9v cF9jb252ZXJzaW9uLCA4KTsKPiArCj4gIFVWQ0dfRlJBTUVfQVRUUihibV9jYXBhYmlsaXRpZXMs IGJtQ2FwYWJpbGl0aWVzLCBub29wX2NvbnZlcnNpb24sCj4gIAkJbm9vcF9jb252ZXJzaW9uLCA4 KTsKPiAgVVZDR19GUkFNRV9BVFRSKHdfd2lkdGgsIHdXaWR0aCwgbGUxNl90b19jcHUsIGNwdV90 b19sZTE2LCAxNik7Cj4gQEAgLTExMzcsNiArMTE2Nyw3IEBAIFVWQ19BVFRSKHV2Y2dfZnJhbWVf LCBkd19mcmFtZV9pbnRlcnZhbCwgZHdGcmFtZUludGVydmFsKTsKPiAgCj4gIHN0YXRpYyBzdHJ1 Y3QgY29uZmlnZnNfYXR0cmlidXRlICp1dmNnX2ZyYW1lX2F0dHJzW10gPSB7Cj4gIAkmdXZjZ19m cmFtZV9hdHRyX2JtX2NhcGFiaWxpdGllcywKPiArCSZ1dmNnX2ZyYW1lX2F0dHJfYl9mcmFtZV9p bmRleCwKPiAgCSZ1dmNnX2ZyYW1lX2F0dHJfd193aWR0aCwKPiAgCSZ1dmNnX2ZyYW1lX2F0dHJf d19oZWlnaHQsCj4gIAkmdXZjZ19mcmFtZV9hdHRyX2R3X21pbl9iaXRfcmF0ZSwKPiBAQCAtMTIx NCw2ICsxMjQ1LDI4IEBAIHN0YXRpYyB2b2lkIHV2Y2dfZnJhbWVfZHJvcChzdHJ1Y3QgY29uZmln X2dyb3VwICpncm91cCwgc3RydWN0IGNvbmZpZ19pdGVtICppdGVtCj4gIAltdXRleF91bmxvY2so Jm9wdHMtPmxvY2spOwo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBfX3V2Y2dfZm10X3NldF9pbmRp Y2VzKHN0cnVjdCBjb25maWdfZ3JvdXAqIGZtdCkKPiArewo+ICsJdTggaSA9IDE7Cj4gKwlzdHJ1 Y3QgbGlzdF9oZWFkICplbnRyeTsKPiArCXN0cnVjdCBjb25maWdfaXRlbSAqY2k7Cj4gKwlzdHJ1 Y3QgdXZjZ19mcmFtZSAqZnJtOwo+ICsKPiArCWxpc3RfZm9yX2VhY2goZW50cnksJihmbXQtPmNn X2NoaWxkcmVuKSl7Cj4gKwkJY2kgPSBjb250YWluZXJfb2YoZW50cnksc3RydWN0IGNvbmZpZ19p dGVtLGNpX2VudHJ5KTsKPiArCj4gKwkJaWYoY2ktPmNpX3R5cGUgIT0gJnV2Y2dfZnJhbWVfdHlw ZSl7Cj4gKwkJCWNvbnRpbnVlOwo+ICsJCX0KPiArCj4gKwkJZnJtID0gdG9fdXZjZ19mcmFtZShj aSk7Cj4gKwkJZnJtLT5mcmFtZS5iX2ZyYW1lX2luZGV4ID0gaTsKPiArCQlpKys7Cj4gKwo+ICsJ fQo+ICsKPiArfQo+ICsKPiAgLyogc3RyZWFtaW5nL3VuY29tcHJlc3NlZC88TkFNRT4gKi8KPiAg c3RydWN0IHV2Y2dfdW5jb21wcmVzc2VkIHsKPiAgCXN0cnVjdCB1dmNnX2Zvcm1hdAkJZm10Owot LS0KVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2Ny aWJlIGxpbnV4LXVzYiIgaW4KdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRvIG1ham9yZG9tb0B2Z2Vy Lmtlcm5lbC5vcmcKTW9yZSBtYWpvcmRvbW8gaW5mbyBhdCAgaHR0cDovL3ZnZXIua2VybmVsLm9y Zy9tYWpvcmRvbW8taW5mby5odG1sCg==