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: [PATCHv2] usb/gadget/uvc-configs Fix host unable to negotiate framesizes other than first From: Laurent Pinchart Message-Id: <2131480.FNxaAilqvA@avalon> Date: Tue, 20 Mar 2018 11:02:45 +0200 To: Joel Pepper Cc: Greg Kroah-Hartman , linux-usb@vger.kernel.org, Felipe Balbi , Paul Elder List-ID: SGkgSm9lbCwKCihDQydpbmcgUGF1bCBFbGRlciB3aG8gaXMgd29ya2luZyBvbiB0aGUgVVZDIGdh ZGdldCBkcml2ZXIpCgpUaGFuayB5b3UgZm9yIHRoZSBwYXRjaC4KCk9uIE1vbmRheSwgMTkgTWFy Y2ggMjAxOCAyMTozNjo0MSBFRVQgSm9lbCBQZXBwZXIgd3JvdGU6Cj4gQWRkIGJGcmFtZUluZGV4 IGFzIGEgVVZDR19GUkFNRV9BVFRSIGZvciBlYWNoIGZyYW1lIHNpemUuCj4gQmVmb3JlIGFsbCAi YkZyYW1laW5kZXgiIGF0dHJpYnV0ZXMgd2VyZSBzZXQgdG8gIjEiIHdpdGggbm8gd2F5IHRvCj4g Y29uZmlndXJlIHRoZSBnYWRnZXQgb3RoZXJ3aXNlLiBUaGlzIHJlc3VsdGVkIGluIHRoZSBob3N0 IGFsd2F5cwo+IG5lZ290aWF0aW5nIGZvciBiRnJhbWVJbmRleCAxIChpLmUuIHRoZSBmaXJzdCBm cmFtZXNpemUgb2YgdGhlIGdhZGdldCkuCj4gQWZ0ZXIgdGhlIG5lZ290aWF0aW9uIHRoZSBob3N0 IGRyaXZlciB3aWxsIHNldCB0aGUgdXNlciBvciBhcHBsaWNhdGlvbgo+IHNlbGVjdGVkIGZyYW1l c2l6ZSwgd2hpbGUgdGhlIGdhZGdldCBpcyBhY3R1YWxseSBzZXQgdG8gdGhlIGZpcnN0Cj4gZnJh bWVzaXplLgo+IAo+IE5vdGUgdGhhdCB0aGlzIHN0aWxsIHJlcXVpcmVzIHRoZSBnYWRnZXQgdG8g YmUgY29uZmlndXJlZCB3aXRoIHVuaXF1ZQo+IGJGcmFtZUluZGV4ZXMgZm9yIGVhY2ggZnJhbWVT aXplIG9mIGVhY2ggZm9ybWF0IHRocm91Z2ggY29uZmlnZnMuIEFuCj4gYWx0ZXJuYXRpdmUgbWln aHQgYmUgdG8gYXV0b21hdGljYWxseSBhc3NpZ24gYXNjZW5kaW5nIGluZGljZXMgd2hlbiB0aGUK PiBmb3JtYXQgaXMgbGlua2VkIGludG8gdGhlIHN0cmVhbWluZyBoZWFkZXIsIGJ1dCB0aGUgdXNl ciBzcGFjZSBnYWRnZXQKPiB3b3VsZCBuZWVkIGEgd2F5IHRvIGNoZWNrIG9yIHByZWRpY3QgdGhl IGluZGljZXMgc28gdGhhdCBpdCBjYW4gcHJvcGVybHkKPiBpbnRlcnByZXQgdG8gUFJPQkUvQ09N TUlUIENPTlRST0wgcmVxdWVzdHMKCkl0IHdvdWxkIGluZGVlZCBiZSBuaWNlIGlmIHRoZSBpbmRp Y2VzIGNvdWxkIGJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLCB0byAKYXZvaWQgZ2l2aW5nIHVz ZXJzcGFjZSBhbm90aGVyIHBvc3NpYmlsaXR5IHRvIGNyZWF0ZSBpbnZhbGlkIGRlc2NyaXB0b3Jz LiBBcyAKeW91J3ZlIGNvcnJlY3RseSBub3RlZCwgdGhhdCB3b3VsZCByZXF1aXJlIGEgd2F5IGZv ciB0aGUgdXNlcnNwYWNlIGhlbHBlciAKYXBwbGljYXRpb24gdG8gY29vcmRpbmF0ZSB3aXRoIHRo ZSBVVkMgZ2FkZ2V0IGRyaXZlci4gV291bGQgaXQgYmUgZGlmZmljdWx0IHRvIApkbyBzbyBieSBk ZWZpbmluZyB0aGUgYkZyYW1lSW5kZXggYXR0cmlidXRlIGFzIHJlYWQtb25seSA/IFRoZXJlJ3Mg dGhlIAphZGRpdGlvbmFsIGlzc3VlIG9mIGZpbmRpbmcgYSBwbGFjZSB0byBzdG9yZSB0aGUgaW5k ZXggY291bnRlciBsb2NhbGx5IHRvIHRoZSAKZm9ybWF0LCBJJ20gbm90IHN1cmUgaG93IHRoYXQn cyBkb25lIHdpdGggdGhlIGNvbmZpZ2ZzIEFQSSwgYnV0IGlmIGl0J3Mgbm90IAp0b28gZGlmZmlj dWx0IEkgdGhpbmsgaXQgd291bGQgYmUgYSBnb29kIG9wdGlvbi4KCj4gdjI6IEFkZCB0aGUgbmV3 IGF0dHJpYnV0ZSB0byBib3RoIE1KUEVHIGFuZCB1bmNvbXByZXNzZWRmcmFtZSBkZXNjcmlwdG9z Cj4gaW4gRG9jdW1lbnRhdGlvbi9BQkksIHdpdGggbm90ZSB0aGF0IGl0IHdhcyBhZGRlZCBvbmx5 IGluIGEgbGF0ZXIKPiBrZXJuZWwgdmVyc2lvbgo+IAo+IFNpZ25lZC1vZmYtYnk6IEpvZWwgUGVw cGVyIDxqb2VsLnBlcHBlckByd3RoLWFhY2hlbi5kZT4KPiAtLS0KPiAgRG9jdW1lbnRhdGlvbi9B QkkvdGVzdGluZy9jb25maWdmcy11c2ItZ2FkZ2V0LXV2YyB8IDE3ICsrKysrKysrKysrKysrKysr Cj4gIGRyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYyAgICAgICAgfCAg MyArKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdp dCBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3RpbmcvY29uZmlnZnMtdXNiLWdhZGdldC11dmMKPiBi L0RvY3VtZW50YXRpb24vQUJJL3Rlc3RpbmcvY29uZmlnZnMtdXNiLWdhZGdldC11dmMgaW5kZXgg MWJhMGQwZi4uZDQzNWNmNwo+IDEwMDY0NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vQUJJL3Rlc3Rp bmcvY29uZmlnZnMtdXNiLWdhZGdldC11dmMKPiArKysgYi9Eb2N1bWVudGF0aW9uL0FCSS90ZXN0 aW5nL2NvbmZpZ2ZzLXVzYi1nYWRnZXQtdXZjCj4gQEAgLTE5NCw2ICsxOTQsMTQgQEAgRGVzY3Jp cHRpb246CVNwZWNpZmljIE1KUEVHIGZyYW1lIGRlc2NyaXB0b3JzCj4gIAkJYm1DYXBhYmlsaXRp ZXMJCS0gc3RpbGwgaW1hZ2Ugc3VwcG9ydCwgZml4ZWQgZnJhbWUtcmF0ZQo+ICAJCQkJCXN1cHBv cnQKPiAKPiArRGF0ZToJCU1hciAyMDE4Cj4gK0tlcm5lbFZlcnNpb246CTQuMTYKPiArCj4gKwkJ YkZyYW1lSW5kZXgJCS0gdW5pcXVlIGlkIGZvciB0aGlzIGZyYW1lZGVzY3JpcHRvcjsKPiArCQkJ CQlpZiB1c2luZyBtdWx0aXBsZSBmcmFtZWRlc2NyaXB0b3JzIGZvcgo+ICsJCQkJCXNhbWUgZm9y bWF0LCB1c2VyIG5lZWRzIHRvIHNldCBkaXN0aW5jdAo+ICsJCQkJCXZhbHVlIGZvciBlYWNoIGZy YW1lIGRlc2NyaXB0b3IKPiArCj4gIFdoYXQ6CQkvY29uZmlnL3VzYi1nYWRnZXQvZ2FkZ2V0L2Z1 bmN0aW9ucy91dmMubmFtZS9zdHJlYW1pbmcvCnVuY29tcHJlc3NlZAo+ICBEYXRlOgkJRGVjIDIw MTQKPiAgS2VybmVsVmVyc2lvbjoJNC4wCj4gQEAgLTI0MSw2ICsyNDksMTUgQEAgRGVzY3JpcHRp b246CVNwZWNpZmljIHVuY29tcHJlc3NlZCBmcmFtZSBkZXNjcmlwdG9ycwo+ICAJCWJtQ2FwYWJp bGl0aWVzCQktIHN0aWxsIGltYWdlIHN1cHBvcnQsIGZpeGVkIGZyYW1lLXJhdGUKPiAgCQkJCQlz dXBwb3J0Cj4gCj4gK0RhdGU6ICAgICAgICAgICBNYXIgMjAxOAo+ICtLZXJuZWxWZXJzaW9uOiAg NC4xNgo+ICsKPiArICAgICAgICAgICAgICAgIGJGcmFtZUluZGV4ICAgICAgICAgICAgIC0gdW5p cXVlIGlkIGZvciB0aGlzCj4gZnJhbWVkZXNjcmlwdG9yOyArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIHVzaW5nIG11bHRpcGxlCj4gZnJhbWVkZXNjcmlwdG9ycyBm b3IgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1lIGZvcm1hdCwK PiB1c2VyIG5lZWRzIHRvIHNldCBkaXN0aW5jdCArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZhbHVlCj4gZm9yIGVhY2ggZnJhbWUgZGVzY3JpcHRvciArCj4gKwo+ICBX aGF0OgkJL2NvbmZpZy91c2ItZ2FkZ2V0L2dhZGdldC9mdW5jdGlvbnMvdXZjLm5hbWUvc3RyZWFt aW5nL2hlYWRlcgo+ICBEYXRlOgkJRGVjIDIwMTQKPiAgS2VybmVsVmVyc2lvbjoJNC4wCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmlnZnMuYwo+IGIv ZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL3V2Y19jb25maWdmcy5jIGluZGV4IGM5YjhjYzRh Li41OTY2ZDY1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNf Y29uZmlnZnMuYwo+ICsrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi91dmNfY29uZmln ZnMuYwo+IEBAIC05OTIsNiArOTkyLDggQEAgVVZDX0FUVFIodXZjZ19mcmFtZV8sIGNuYW1lLCBh bmFtZSk7Cj4gCj4gIFVWQ0dfRlJBTUVfQVRUUihibV9jYXBhYmlsaXRpZXMsIGJtQ2FwYWJpbGl0 aWVzLCBub29wX2NvbnZlcnNpb24sCj4gIAkJbm9vcF9jb252ZXJzaW9uLCA4KTsKPiArVVZDR19G UkFNRV9BVFRSKGJfZnJhbWVfaW5kZXgsIGJGcmFtZUluZGV4LCBub29wX2NvbnZlcnNpb24sCj4g KwkJbm9vcF9jb252ZXJzaW9uLCA4KTsKPiAgVVZDR19GUkFNRV9BVFRSKHdfd2lkdGgsIHdXaWR0 aCwgbGUxNl90b19jcHUsIGNwdV90b19sZTE2LCAxNik7Cj4gIFVWQ0dfRlJBTUVfQVRUUih3X2hl aWdodCwgd0hlaWdodCwgbGUxNl90b19jcHUsIGNwdV90b19sZTE2LCAxNik7Cj4gIFVWQ0dfRlJB TUVfQVRUUihkd19taW5fYml0X3JhdGUsIGR3TWluQml0UmF0ZSwgbGUzMl90b19jcHUsIGNwdV90 b19sZTMyLAo+IDMyKTsKPiBAQCAtMTEzNyw2ICsxMTM5LDcgQEAgVVZDX0FUVFIodXZjZ19mcmFt ZV8sIGR3X2ZyYW1lX2ludGVydmFsLAo+IGR3RnJhbWVJbnRlcnZhbCk7Cj4gCj4gIHN0YXRpYyBz dHJ1Y3QgY29uZmlnZnNfYXR0cmlidXRlICp1dmNnX2ZyYW1lX2F0dHJzW10gPSB7Cj4gIAkmdXZj Z19mcmFtZV9hdHRyX2JtX2NhcGFiaWxpdGllcywKPiArCSZ1dmNnX2ZyYW1lX2F0dHJfYl9mcmFt ZV9pbmRleCwKPiAgCSZ1dmNnX2ZyYW1lX2F0dHJfd193aWR0aCwKPiAgCSZ1dmNnX2ZyYW1lX2F0 dHJfd19oZWlnaHQsCj4gIAkmdXZjZ19mcmFtZV9hdHRyX2R3X21pbl9iaXRfcmF0ZSwK