From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] ALSA: usb-audio: Check mixer unit bitmap yet more strictly Date: Thu, 22 Aug 2019 10:35:01 +0200 Message-ID: References: <20190822073207.8696-1-tiwai@suse.de> <20190822073207.8696-2-tiwai@suse.de> <20190822103148.0f947980@xxx> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 4A0BEF80147 for ; Thu, 22 Aug 2019 10:35:02 +0200 (CEST) In-Reply-To: <20190822103148.0f947980@xxx> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" To: Amadeusz =?UTF-8?B?U8WCYXdpxYRza2k=?= Cc: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org T24gVGh1LCAyMiBBdWcgMjAxOSAxMDozMTo0OCArMDIwMCwKQW1hZGV1c3ogU8WCYXdpxYRza2kg d3JvdGU6Cj4gCj4gT24gVGh1LCAyMiBBdWcgMjAxOSAwOTozMjowMyArMDIwMAo+IFRha2FzaGkg SXdhaSA8dGl3YWlAc3VzZS5kZT4gd3JvdGU6Cj4gCj4gPiBUaGUgYm1Db250cm9scyAoZm9yIFVB QzEpIG9yIGJtTWl4ZXJDb250cm9scyAoZm9yIFVBQzIvMykgYml0bWFwIGhhcyBhCj4gPiB2YXJp YWJsZSBzaXplIGRlcGVuZGluZyBvbiBib3RoIGlucHV0IGFuZCBvdXRwdXQgcGlucy4gIEl0cyBz aXplIGlzIHRvCj4gPiBmaXQgd2l0aCBpbnB1dCAqIG91dHB1dCBiaXRzLiAgVGhlIHByb2JsZW0g aXMgdGhhdCB0aGUgaW5wdXQgc2l6ZQo+ID4gY2FuJ3QgYmUgZGV0ZXJtaW5lZCBzaW1wbHkgZnJv bSB0aGUgdW5pdCBkZXNjcmlwdG9yIGl0c2VsZiBidXQgaXQKPiA+IG5lZWRzIHRvIHBhcnNlIHRo ZSB3aG9sZSBjb25uZWN0ZWQgc291cmNlcy4gIEFsdGhvdWdoIHRoZQo+ID4gdWFjX21peGVyX3Vu aXRfZ2V0X2NoYW5uZWxzKCkgdHJpZXMgdG8gY2hlY2sgc29tZSBwb3NzaWJsZSBvdmVyZmxvdyBv Zgo+ID4gdGhpcyBiaXRtYXAsIGl0J3MgaW5jb21wbGV0ZSBkdWUgdG8gdGhlIGxhY2sgb2YgdGhl ICBldmFsdWF0aW9uIG9mCj4gPiBpbnB1dCBwaW5zLgo+ID4gCj4gPiBGb3IgY292ZXJpbmcgcG9z c2libGUgb3ZlcmZsb3dzLCB0aGlzIHBhdGNoIGFkZHMgdGhlIGJpdG1hcCBvdmVyZmxvdwo+ID4g Y2hlY2sgaW4gdGhlIGxvb3Agb2YgaW5wdXQgcGlucyBpbiBwYXJzZV9hdWRpb19taXhlcl91bml0 KCkuCj4gPiAKPiA+IEZpeGVzOiAwYmZlNWU0MzRlNjYgKCJBTFNBOiB1c2ItYXVkaW86IENoZWNr IG1peGVyIHVuaXQgZGVzY3JpcHRvcnMKPiA+IG1vcmUgc3RyaWN0bHkiKSBDYzogPHN0YWJsZUB2 Z2VyLmtlcm5lbC5vcmc+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBUYWthc2hpIEl3YWkgPHRpd2FpQHN1 c2UuZGU+Cj4gPiAtLS0KPiA+ICBzb3VuZC91c2IvbWl4ZXIuYyB8IDM0ICsrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygr KSwgOCBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9taXhlci5j IGIvc291bmQvdXNiL21peGVyLmMKPiA+IGluZGV4IGI1OTI3YzNkNWJjMC4uMjdlZTY4YTUwN2Ey IDEwMDY0NAo+ID4gLS0tIGEvc291bmQvdXNiL21peGVyLmMKPiA+ICsrKyBiL3NvdW5kL3VzYi9t aXhlci5jCj4gPiBAQCAtNzM5LDcgKzczOSw2IEBAIHN0YXRpYyBpbnQgdWFjX21peGVyX3VuaXRf Z2V0X2NoYW5uZWxzKHN0cnVjdAo+ID4gbWl4ZXJfYnVpbGQgKnN0YXRlLCBzdHJ1Y3QgdWFjX21p eGVyX3VuaXRfZGVzY3JpcHRvciAqZGVzYykKPiA+ICB7Cj4gPiAgCWludCBtdV9jaGFubmVsczsK PiA+IC0Jdm9pZCAqYzsKPiA+ICAKPiA+ICAJaWYgKGRlc2MtPmJMZW5ndGggPCBzaXplb2YoKmRl c2MpKQo+ID4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPiBAQCAtNzYyLDEzICs3NjEsNiBAQCBzdGF0 aWMgaW50IHVhY19taXhlcl91bml0X2dldF9jaGFubmVscyhzdHJ1Y3QKPiA+IG1peGVyX2J1aWxk ICpzdGF0ZSwgYnJlYWs7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JaWYgKCFtdV9jaGFubmVscykKPiA+ IC0JCXJldHVybiAwOwo+ID4gLQo+ID4gLQljID0gdWFjX21peGVyX3VuaXRfYm1Db250cm9scyhk ZXNjLCBzdGF0ZS0+bWl4ZXItPnByb3RvY29sKTsKPiA+IC0JaWYgKGMgLSAodm9pZCAqKWRlc2Mg KyAobXVfY2hhbm5lbHMgLSAxKSAvIDggPj0KPiA+IGRlc2MtPmJMZW5ndGgpCj4gPiAtCQlyZXR1 cm4gMDsgLyogbm8gYm1Db250cm9scyAtPiBza2lwICovCj4gPiAtCj4gPiAgCXJldHVybiBtdV9j aGFubmVsczsKPiA+ICB9Cj4gPiAgCj4gPiBAQCAtMjAwOSw2ICsyMDAxLDI5IEBAIHN0YXRpYyBp bnQgcGFyc2VfYXVkaW9fZmVhdHVyZV91bml0KHN0cnVjdAo+ID4gbWl4ZXJfYnVpbGQgKnN0YXRl LCBpbnQgdW5pdGlkLAo+ID4gICAqIE1peGVyIFVuaXQKPiA+ICAgKi8KPiA+ICAKPiA+ICsvKiBj aGVjayB3aGV0aGVyIHRoZSBnaXZlbiBpbi9vdXQgb3ZlcmZsb3dzIGJtTWl4ZXJDb250cm9scyBt YXRyaXggKi8KPiA+ICtzdGF0aWMgYm9vbCBtaXhlcl9iaXRtYXBfb3ZlcmZsb3coc3RydWN0IHVh Y19taXhlcl91bml0X2Rlc2NyaXB0b3IKPiA+ICpkZXNjLAo+ID4gKwkJCQkgIGludCBwcm90b2Nv bCwgaW50IG51bV9pbnMsIGludAo+ID4gbnVtX291dHMpICt7Cj4gPiArCXU4ICpoZHIgPSAodTgg KilkZXNjOwo+ID4gKwl1OCAqYyA9IHVhY19taXhlcl91bml0X2JtQ29udHJvbHMoZGVzYywgcHJv dG9jb2wpOwo+ID4gKwlzaXplX3QgcmVzdDsgLyogcmVtYWluaW5nIGJ5dGVzIGFmdGVyIGJtTWl4 ZXJDb250cm9scyAqLwo+ID4gKwo+ID4gKwlzd2l0Y2ggKHByb3RvY29sKSB7Cj4gPiArCWNhc2Ug VUFDX1ZFUlNJT05fMToKPiA+ICsJZGVmYXVsdDoKPiAKPiBXb24ndCB0aGlzIHRyaWdnZXIgaW1w bGljaXQgZmFsbCB0aHJvdWdoIHdhcm5pbmc/CgpBaCBpbmRlZWQsIEkgc2VlbSB0byBoYXZlIGJ1 aWx0IHdpdGggYSBsaXR0bGUgYml0IG9sZGVyIGtlcm5lbC4KVGhhbmtzIGZvciBjYXRjaGluZyBp dC4KClRoZSByZXZpc2VkIHBhdGNoIGlzIGJlbG93LgoKClRha2FzaGkKCi0tIDg8IC0tCkZyb206 IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5kZT4KU3ViamVjdDogW1BBVENIIHYyXSBBTFNBOiB1 c2ItYXVkaW86IENoZWNrIG1peGVyIHVuaXQgYml0bWFwIHlldCBtb3JlIHN0cmljdGx5CgpUaGUg Ym1Db250cm9scyAoZm9yIFVBQzEpIG9yIGJtTWl4ZXJDb250cm9scyAoZm9yIFVBQzIvMykgYml0 bWFwIGhhcyBhCnZhcmlhYmxlIHNpemUgZGVwZW5kaW5nIG9uIGJvdGggaW5wdXQgYW5kIG91dHB1 dCBwaW5zLiAgSXRzIHNpemUgaXMgdG8KZml0IHdpdGggaW5wdXQgKiBvdXRwdXQgYml0cy4gIFRo ZSBwcm9ibGVtIGlzIHRoYXQgdGhlIGlucHV0IHNpemUKY2FuJ3QgYmUgZGV0ZXJtaW5lZCBzaW1w bHkgZnJvbSB0aGUgdW5pdCBkZXNjcmlwdG9yIGl0c2VsZiBidXQgaXQKbmVlZHMgdG8gcGFyc2Ug dGhlIHdob2xlIGNvbm5lY3RlZCBzb3VyY2VzLiAgQWx0aG91Z2ggdGhlCnVhY19taXhlcl91bml0 X2dldF9jaGFubmVscygpIHRyaWVzIHRvIGNoZWNrIHNvbWUgcG9zc2libGUgb3ZlcmZsb3cgb2YK dGhpcyBiaXRtYXAsIGl0J3MgaW5jb21wbGV0ZSBkdWUgdG8gdGhlIGxhY2sgb2YgdGhlICBldmFs dWF0aW9uIG9mCmlucHV0IHBpbnMuCgpGb3IgY292ZXJpbmcgcG9zc2libGUgb3ZlcmZsb3dzLCB0 aGlzIHBhdGNoIGFkZHMgdGhlIGJpdG1hcCBvdmVyZmxvdwpjaGVjayBpbiB0aGUgbG9vcCBvZiBp bnB1dCBwaW5zIGluIHBhcnNlX2F1ZGlvX21peGVyX3VuaXQoKS4KCkZpeGVzOiAwYmZlNWU0MzRl NjYgKCJBTFNBOiB1c2ItYXVkaW86IENoZWNrIG1peGVyIHVuaXQgZGVzY3JpcHRvcnMgbW9yZSBz dHJpY3RseSIpCkNjOiA8c3RhYmxlQHZnZXIua2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogVGFr YXNoaSBJd2FpIDx0aXdhaUBzdXNlLmRlPgotLS0KVjEtPnYyOiBGaXggdGhlIG1pc3NpbmcgYnJl YWsgaW4gbWl4ZXJfYml0bWFwX292ZXJmbG93KCkuCgogc291bmQvdXNiL21peGVyLmMgfCAzNiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAyOCBp bnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NvdW5kL3VzYi9taXhl ci5jIGIvc291bmQvdXNiL21peGVyLmMKaW5kZXggYjU5MjdjM2Q1YmMwLi5lY2VhYjE5NzY2ZGIg MTAwNjQ0Ci0tLSBhL3NvdW5kL3VzYi9taXhlci5jCisrKyBiL3NvdW5kL3VzYi9taXhlci5jCkBA IC03MzksNyArNzM5LDYgQEAgc3RhdGljIGludCB1YWNfbWl4ZXJfdW5pdF9nZXRfY2hhbm5lbHMo c3RydWN0IG1peGVyX2J1aWxkICpzdGF0ZSwKIAkJCQkgICAgICAgc3RydWN0IHVhY19taXhlcl91 bml0X2Rlc2NyaXB0b3IgKmRlc2MpCiB7CiAJaW50IG11X2NoYW5uZWxzOwotCXZvaWQgKmM7CiAK IAlpZiAoZGVzYy0+Ykxlbmd0aCA8IHNpemVvZigqZGVzYykpCiAJCXJldHVybiAtRUlOVkFMOwpA QCAtNzYyLDEzICs3NjEsNiBAQCBzdGF0aWMgaW50IHVhY19taXhlcl91bml0X2dldF9jaGFubmVs cyhzdHJ1Y3QgbWl4ZXJfYnVpbGQgKnN0YXRlLAogCQlicmVhazsKIAl9CiAKLQlpZiAoIW11X2No YW5uZWxzKQotCQlyZXR1cm4gMDsKLQotCWMgPSB1YWNfbWl4ZXJfdW5pdF9ibUNvbnRyb2xzKGRl c2MsIHN0YXRlLT5taXhlci0+cHJvdG9jb2wpOwotCWlmIChjIC0gKHZvaWQgKilkZXNjICsgKG11 X2NoYW5uZWxzIC0gMSkgLyA4ID49IGRlc2MtPmJMZW5ndGgpCi0JCXJldHVybiAwOyAvKiBubyBi bUNvbnRyb2xzIC0+IHNraXAgKi8KLQogCXJldHVybiBtdV9jaGFubmVsczsKIH0KIApAQCAtMjAw OSw2ICsyMDAxLDMxIEBAIHN0YXRpYyBpbnQgcGFyc2VfYXVkaW9fZmVhdHVyZV91bml0KHN0cnVj dCBtaXhlcl9idWlsZCAqc3RhdGUsIGludCB1bml0aWQsCiAgKiBNaXhlciBVbml0CiAgKi8KIAor LyogY2hlY2sgd2hldGhlciB0aGUgZ2l2ZW4gaW4vb3V0IG92ZXJmbG93cyBibU1peGVyQ29udHJv bHMgbWF0cml4ICovCitzdGF0aWMgYm9vbCBtaXhlcl9iaXRtYXBfb3ZlcmZsb3coc3RydWN0IHVh Y19taXhlcl91bml0X2Rlc2NyaXB0b3IgKmRlc2MsCisJCQkJICBpbnQgcHJvdG9jb2wsIGludCBu dW1faW5zLCBpbnQgbnVtX291dHMpCit7CisJdTggKmhkciA9ICh1OCAqKWRlc2M7CisJdTggKmMg PSB1YWNfbWl4ZXJfdW5pdF9ibUNvbnRyb2xzKGRlc2MsIHByb3RvY29sKTsKKwlzaXplX3QgcmVz dDsgLyogcmVtYWluaW5nIGJ5dGVzIGFmdGVyIGJtTWl4ZXJDb250cm9scyAqLworCisJc3dpdGNo IChwcm90b2NvbCkgeworCWNhc2UgVUFDX1ZFUlNJT05fMToKKwlkZWZhdWx0OgorCQlyZXN0ID0g MTsgLyogaU1peGVyICovCisJCWJyZWFrOworCWNhc2UgVUFDX1ZFUlNJT05fMjoKKwkJcmVzdCA9 IDI7IC8qIGJtQ29udHJvbHMgKyBpTWl4ZXIgKi8KKwkJYnJlYWs7CisJY2FzZSBVQUNfVkVSU0lP Tl8zOgorCQlyZXN0ID0gNjsgLyogYm1Db250cm9scyArIHdNaXhlckRlc2NyU3RyICovCisJCWJy ZWFrOworCX0KKworCS8qIG92ZXJmbG93PyAqLworCXJldHVybiBjICsgKG51bV9pbnMgKiBudW1f b3V0cyArIDcpIC8gOCArIHJlc3QgPiBoZHIgKyBoZHJbMF07Cit9CisKIC8qCiAgKiBidWlsZCBh IG1peGVyIHVuaXQgY29udHJvbAogICoKQEAgLTIxMzcsNiArMjE1NCw5IEBAIHN0YXRpYyBpbnQg cGFyc2VfYXVkaW9fbWl4ZXJfdW5pdChzdHJ1Y3QgbWl4ZXJfYnVpbGQgKnN0YXRlLCBpbnQgdW5p dGlkLAogCQlpZiAoZXJyIDwgMCkKIAkJCXJldHVybiBlcnI7CiAJCW51bV9pbnMgKz0gaXRlcm0u Y2hhbm5lbHM7CisJCWlmIChtaXhlcl9iaXRtYXBfb3ZlcmZsb3coZGVzYywgc3RhdGUtPm1peGVy LT5wcm90b2NvbCwKKwkJCQkJICBudW1faW5zLCBudW1fb3V0cykpCisJCQlicmVhazsKIAkJZm9y ICg7IGljaCA8IG51bV9pbnM7IGljaCsrKSB7CiAJCQlpbnQgb2NoLCBpY2hfaGFzX2NvbnRyb2xz ID0gMDsKIAotLSAKMi4xNi40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpBbHNhLWRldmVsIG1haWxpbmcgbGlzdApBbHNhLWRldmVsQGFsc2EtcHJvamVj dC5vcmcKaHR0cHM6Ly9tYWlsbWFuLmFsc2EtcHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9h bHNhLWRldmVsCg==