From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH 07/24] drm/omap: Manage the usable omap_dss_device list within omap_drm_private Date: Tue, 27 Feb 2018 15:19:50 +0200 Message-ID: <13829847.2H9ACWEa3t@avalon> References: <1518428694-18018-1-git-send-email-tomi.valkeinen@ti.com> <1518428694-18018-8-git-send-email-tomi.valkeinen@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [IPv6:2001:4b98:dc2:45:216:3eff:febb:480d]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3451E6E67F for ; Tue, 27 Feb 2018 13:19:03 +0000 (UTC) In-Reply-To: <1518428694-18018-8-git-send-email-tomi.valkeinen@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tomi Valkeinen Cc: Peter Ujfalusi , Jyri Sarha , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVG9taSwKClRoYW5rIHlvdSBmb3IgdGhlIHBhdGNoLgoKT24gTW9uZGF5LCAxMiBGZWJydWFy eSAyMDE4IDExOjQ0OjM3IEVFVCBUb21pIFZhbGtlaW5lbiB3cm90ZToKPiBGcm9tOiBQZXRlciBV amZhbHVzaSA8cGV0ZXIudWpmYWx1c2lAdGkuY29tPgo+IAo+IEluc3RlYWQgb2YgcmVhY2hpbmcg YmFjayB0byBEU1MgdG8gaXRlcmF0ZSB0aHJvdWdoIHRoZSBkc3NfZGV2aWNlcyBldmVyeQo+IHRp bWUsIHVzZSBhbiBpbnRlcm5hbCBhcnJheSB3aGVyZSB3ZSBzdG9yZSB0aGUgYXZhaWxhYmxlIGFu ZCB1c2FibGUKPiBkc3NfZGV2aWNlcy4KPiAKPiBBdCB0aGUgc2FtZSB0aW1lIHJlbW92ZSB0aGUg b21hcGRzc19kZXZpY2VfaXNfY29ubmVjdGVkKCkgY2hlY2sgZnJvbQo+IG9tYXBfbW9kZXNldF9p bml0KCkgYXMgaXQgYmVjYW1lIGlycmVsZXZhbnQ6IFdlIGFyZSBub3QgYWRkaW5nIGRzc2RldnMK PiBpZiB0aGVpciBjb25uZWN0IGZhaWxlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQZXRlciBVamZh bHVzaSA8cGV0ZXIudWpmYWx1c2lAdGkuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFRvbWkgVmFsa2Vp bmVuIDx0b21pLnZhbGtlaW5lbkB0aS5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL29tYXBfZHJ2LmMgfCA5NSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5oIHwgIDMgKysKPiAgMiBmaWxlcyBj aGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwo+IGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9kcnYuYyBpbmRleCA1N2QxMWY5YWVlYWQuLjg2OWE4YWI2YWE0ZQo+IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4gQEAgLTE0OSwxOCArMTQ5LDI3IEBA IHN0YXRpYyBpbnQgZ2V0X2Nvbm5lY3Rvcl90eXBlKHN0cnVjdCBvbWFwX2Rzc19kZXZpY2UKPiAq ZHNzZGV2KSB9Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQgb21hcF9kaXNjb25uZWN0X2Rzc2RldnMo dm9pZCkKPiArc3RhdGljIHZvaWQgb21hcF9kaXNjb25uZWN0X2Rzc2RldnMoc3RydWN0IGRybV9k ZXZpY2UgKmRkZXYpCj4gIHsKPiAtCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldiA9IE5V TEw7Cj4gKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRkZXYtPmRldl9wcml2YXRl Owo+ICsJdW5zaWduZWQgaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9k c3NkZXZzOyBpKyspIHsKPiArCQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYgPSBwcml2 LT5kc3NkZXZzW2ldOwo+IAo+IC0JZm9yX2VhY2hfZHNzX2Rldihkc3NkZXYpCj4gIAkJZHNzZGV2 LT5kcml2ZXItPmRpc2Nvbm5lY3QoZHNzZGV2KTsKPiArCQlwcml2LT5kc3NkZXZzW2ldID0gTlVM TDsKPiArCQlvbWFwX2Rzc19wdXRfZGV2aWNlKGRzc2Rldik7Cj4gKwl9Cj4gKwo+ICsJcHJpdi0+ bnVtX2Rzc2RldnMgPSAwOwo+ICB9Cj4gCj4gLXN0YXRpYyBpbnQgb21hcF9jb25uZWN0X2Rzc2Rl dnModm9pZCkKPiArc3RhdGljIGludCBvbWFwX2Nvbm5lY3RfZHNzZGV2cyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGRldikKPiAgewo+IC0JaW50IHI7Cj4gKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAq cHJpdiA9IGRkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNz ZGV2ID0gTlVMTDsKPiArCWludCByOwo+IAo+ICAJaWYgKCFvbWFwZHNzX3N0YWNrX2lzX3JlYWR5 KCkpCj4gIAkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gQEAgLTE3Myw2ICsxODIsMTQgQEAgc3Rh dGljIGludCBvbWFwX2Nvbm5lY3RfZHNzZGV2cyh2b2lkKQo+ICAJCX0gZWxzZSBpZiAocikgewo+ ICAJCQlkZXZfd2Fybihkc3NkZXYtPmRldiwgImNvdWxkIG5vdCBjb25uZWN0IGRpc3BsYXk6ICVz XG4iLAo+ICAJCQkJZHNzZGV2LT5uYW1lKTsKPiArCQl9IGVsc2Ugewo+ICsJCQlvbWFwX2Rzc19n ZXRfZGV2aWNlKGRzc2Rldik7Cj4gKwkJCXByaXYtPmRzc2RldnNbcHJpdi0+bnVtX2Rzc2RldnMr K10gPSBkc3NkZXY7Cj4gKwkJCWlmIChwcml2LT5udW1fZHNzZGV2cyA9PSBBUlJBWV9TSVpFKHBy aXYtPmRzc2RldnMpKSB7Cj4gKwkJCQkvKiBUbyBiYWxhbmNlIHRoZSAnZm9yX2VhY2hfZHNzX2Rl dicgbG9vcCAqLwo+ICsJCQkJb21hcF9kc3NfcHV0X2RldmljZShkc3NkZXYpOwo+ICsJCQkJYnJl YWs7Cj4gKwkJCX0KPiAgCQl9Cj4gIAl9Cj4gCj4gQEAgLTE4Myw3ICsyMDAsNyBAQCBzdGF0aWMg aW50IG9tYXBfY29ubmVjdF9kc3NkZXZzKHZvaWQpCj4gIAkgKiBpZiB3ZSBhcmUgZGVmZXJyaW5n IHByb2JlLCB3ZSBkaXNjb25uZWN0IHRoZSBkZXZpY2VzIHdlIHByZXZpb3VzbHkKPiAgCSAqIGNv bm5lY3RlZAo+ICAJICovCj4gLQlvbWFwX2Rpc2Nvbm5lY3RfZHNzZGV2cygpOwo+ICsJb21hcF9k aXNjb25uZWN0X2Rzc2RldnMoZGRldik7Cj4gCj4gIAlyZXR1cm4gcjsKPiAgfQo+IEBAIC0yMDgs NyArMjI1LDcgQEAgc3RhdGljIGludCBvbWFwX21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAJaW50IG51bV9vdmxzID0gcHJpdi0+ZGlzcGNfb3BzLT5nZXRfbnVtX292bHMo KTsKPiAgCWludCBudW1fbWdycyA9IHByaXYtPmRpc3BjX29wcy0+Z2V0X251bV9tZ3JzKCk7Cj4g IAlpbnQgbnVtX2NydGNzLCBjcnRjX2lkeCwgcGxhbmVfaWR4Owo+IC0JaW50IHJldDsKPiArCWlu dCByZXQsIGk7CgppIGlzIG5ldmVyIG5lZ2F0aXZlLCB5b3UgY2FuIG1ha2UgaXQgYW4gdW5zaWdu ZWQgaW50LiBTYW1lIGZvciB0aGUgb3RoZXIgCmZ1bmN0aW9ucyBiZWxvdy4KCkFwYXJ0IGZyb20g dGhhdCwKClJldmlld2VkLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlk ZWFzb25ib2FyZC5jb20+Cgo+ICAJdTMyIHBsYW5lX2NydGNfbWFzazsKPiAKPiAgCWRybV9tb2Rl X2NvbmZpZ19pbml0KGRldik7Cj4gQEAgLTIyNSwxMSArMjQyLDcgQEAgc3RhdGljIGludCBvbWFw X21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJICogY29uZmlndXJhdGlv biBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0YXRpb25zIG9yIGV4Y2VlZHMKPiAgCSAqIHRoZSBh dmFpbGFibGUgcmVzb3VyY2VzLCB0aGUgY29uZmlndXJhdGlvbiBpcyByZWplY3RlZC4KPiAgCSAq Lwo+IC0JbnVtX2NydGNzID0gMDsKPiAtCWZvcl9lYWNoX2Rzc19kZXYoZHNzZGV2KQo+IC0JCWlm IChvbWFwZHNzX2RldmljZV9pc19jb25uZWN0ZWQoZHNzZGV2KSkKPiAtCQkJbnVtX2NydGNzKys7 Cj4gLQo+ICsJbnVtX2NydGNzID0gcHJpdi0+bnVtX2Rzc2RldnM7Cj4gIAlpZiAobnVtX2NydGNz ID4gbnVtX21ncnMgfHwgbnVtX2NydGNzID4gbnVtX292bHMgfHwKPiAgCSAgICBudW1fY3J0Y3Mg PiBBUlJBWV9TSVpFKHByaXYtPmNydGNzKSB8fAo+ICAJICAgIG51bV9jcnRjcyA+IEFSUkFZX1NJ WkUocHJpdi0+cGxhbmVzKSB8fAo+IEBAIC0yNDcsMTUgKzI2MCwxMyBAQCBzdGF0aWMgaW50IG9t YXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gCj4gIAljcnRjX2lkeCA9 IDA7Cj4gIAlwbGFuZV9pZHggPSAwOwo+IC0JZm9yX2VhY2hfZHNzX2Rldihkc3NkZXYpIHsKPiAr CWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fZHNzZGV2czsgaSsrKSB7Cj4gKwkJc3RydWN0IG9t YXBfZHNzX2RldmljZSAqZHNzZGV2ID0gcHJpdi0+ZHNzZGV2c1tpXTsKPiAgCQlzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ICAJCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsK PiAgCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKPiAgCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7 Cj4gCj4gLQkJaWYgKCFvbWFwZHNzX2RldmljZV9pc19jb25uZWN0ZWQoZHNzZGV2KSkKPiAtCQkJ Y29udGludWU7Cj4gLQo+ICAJCWVuY29kZXIgPSBvbWFwX2VuY29kZXJfaW5pdChkZXYsIGRzc2Rl dik7Cj4gIAkJaWYgKCFlbmNvZGVyKQo+ICAJCQlyZXR1cm4gLUVOT01FTTsKPiBAQCAtMzI5LDEx ICszNDAsMTQgQEAgc3RhdGljIGludCBvbWFwX21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAvKgo+ICAgKiBFbmFibGUgdGhlIEhQRCBpbiBleHRlcm5hbCBjb21wb25lbnRz IGlmIHN1cHBvcnRlZAo+ICAgKi8KPiAtc3RhdGljIHZvaWQgb21hcF9tb2Rlc2V0X2VuYWJsZV9l eHRlcm5hbF9ocGQodm9pZCkKPiArc3RhdGljIHZvaWQgb21hcF9tb2Rlc2V0X2VuYWJsZV9leHRl cm5hbF9ocGQoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYpCj4gIHsKPiAtCXN0cnVjdCBvbWFwX2Rz c19kZXZpY2UgKmRzc2RldiA9IE5VTEw7Cj4gKwlzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJp diA9IGRkZXYtPmRldl9wcml2YXRlOwo+ICsJaW50IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8 IHByaXYtPm51bV9kc3NkZXZzOyBpKyspIHsKPiArCQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpk c3NkZXYgPSBwcml2LT5kc3NkZXZzW2ldOwo+IAo+IC0JZm9yX2VhY2hfZHNzX2Rldihkc3NkZXYp IHsKPiAgCQlpZiAoZHNzZGV2LT5kcml2ZXItPmVuYWJsZV9ocGQpCj4gIAkJCWRzc2Rldi0+ZHJp dmVyLT5lbmFibGVfaHBkKGRzc2Rldik7Cj4gIAl9Cj4gQEAgLTM0MiwxMSArMzU2LDE0IEBAIHN0 YXRpYyB2b2lkIG9tYXBfbW9kZXNldF9lbmFibGVfZXh0ZXJuYWxfaHBkKHZvaWQpCj4gIC8qCj4g ICAqIERpc2FibGUgdGhlIEhQRCBpbiBleHRlcm5hbCBjb21wb25lbnRzIGlmIHN1cHBvcnRlZAo+ ICAgKi8KPiAtc3RhdGljIHZvaWQgb21hcF9tb2Rlc2V0X2Rpc2FibGVfZXh0ZXJuYWxfaHBkKHZv aWQpCj4gK3N0YXRpYyB2b2lkIG9tYXBfbW9kZXNldF9kaXNhYmxlX2V4dGVybmFsX2hwZChzdHJ1 Y3QgZHJtX2RldmljZSAqZGRldikKPiAgewo+IC0Jc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNz ZGV2ID0gTlVMTDsKPiArCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gZGRldi0+ZGV2 X3ByaXZhdGU7Cj4gKwlpbnQgaTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgcHJpdi0+bnVtX2Rz c2RldnM7IGkrKykgewo+ICsJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldiA9IHByaXYt PmRzc2RldnNbaV07Cj4gCj4gLQlmb3JfZWFjaF9kc3NfZGV2KGRzc2Rldikgewo+ICAJCWlmIChk c3NkZXYtPmRyaXZlci0+ZGlzYWJsZV9ocGQpCj4gIAkJCWRzc2Rldi0+ZHJpdmVyLT5kaXNhYmxl X2hwZChkc3NkZXYpOwo+ICAJfQo+IEBAIC01NDMsNyArNTYwLDcgQEAgc3RhdGljIGludCBwZGV2 X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gCj4gIAlvbWFwX2NydGNfcHJl X2luaXQoKTsKPiAKPiAtCXJldCA9IG9tYXBfY29ubmVjdF9kc3NkZXZzKCk7Cj4gKwlyZXQgPSBv bWFwX2Nvbm5lY3RfZHNzZGV2cyhkZGV2KTsKPiAgCWlmIChyZXQpCj4gIAkJZ290byBlcnJfY3J0 Y191bmluaXQ7Cj4gCj4gQEAgLTU4Myw3ICs2MDAsNyBAQCBzdGF0aWMgaW50IHBkZXZfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCW9tYXBfZmJkZXZfaW5pdChkZGV2KTsK PiAKPiAgCWRybV9rbXNfaGVscGVyX3BvbGxfaW5pdChkZGV2KTsKPiAtCW9tYXBfbW9kZXNldF9l bmFibGVfZXh0ZXJuYWxfaHBkKCk7Cj4gKwlvbWFwX21vZGVzZXRfZW5hYmxlX2V4dGVybmFsX2hw ZChkZGV2KTsKPiAKPiAgCS8qCj4gIAkgKiBSZWdpc3RlciB0aGUgRFJNIGRldmljZSB3aXRoIHRo ZSBjb3JlIGFuZCB0aGUgY29ubmVjdG9ycyB3aXRoCj4gQEAgLTU5Niw3ICs2MTMsNyBAQCBzdGF0 aWMgaW50IHBkZXZfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCXJldHVy biAwOwo+IAo+ICBlcnJfY2xlYW51cF9oZWxwZXJzOgo+IC0Jb21hcF9tb2Rlc2V0X2Rpc2FibGVf ZXh0ZXJuYWxfaHBkKCk7Cj4gKwlvbWFwX21vZGVzZXRfZGlzYWJsZV9leHRlcm5hbF9ocGQoZGRl dik7Cj4gIAlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7Cj4gCj4gIAlvbWFwX2ZiZGV2 X2ZyZWUoZGRldik7Cj4gQEAgLTYwNiw3ICs2MjMsNyBAQCBzdGF0aWMgaW50IHBkZXZfcHJvYmUo c3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgZXJyX2dlbV9kZWluaXQ6Cj4gIAlvbWFw X2dlbV9kZWluaXQoZGRldik7Cj4gIAlkZXN0cm95X3dvcmtxdWV1ZShwcml2LT53cSk7Cj4gLQlv bWFwX2Rpc2Nvbm5lY3RfZHNzZGV2cygpOwo+ICsJb21hcF9kaXNjb25uZWN0X2Rzc2RldnMoZGRl dik7Cj4gIGVycl9jcnRjX3VuaW5pdDoKPiAgCW9tYXBfY3J0Y19wcmVfdW5pbml0KCk7Cj4gIAlk cm1fZGV2X3VucmVmKGRkZXYpOwo+IEBAIC02MjIsNyArNjM5LDcgQEAgc3RhdGljIGludCBwZGV2 X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+IAo+ICAJZHJtX2Rldl91bnJl Z2lzdGVyKGRkZXYpOwo+IAo+IC0Jb21hcF9tb2Rlc2V0X2Rpc2FibGVfZXh0ZXJuYWxfaHBkKCk7 Cj4gKwlvbWFwX21vZGVzZXRfZGlzYWJsZV9leHRlcm5hbF9ocGQoZGRldik7Cj4gIAlkcm1fa21z X2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7Cj4gCj4gIAlvbWFwX2ZiZGV2X2ZyZWUoZGRldik7Cj4g QEAgLTYzNiw3ICs2NTMsNyBAQCBzdGF0aWMgaW50IHBkZXZfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCj4gCj4gIAlkZXN0cm95X3dvcmtxdWV1ZShwcml2LT53cSk7Cj4gCj4g LQlvbWFwX2Rpc2Nvbm5lY3RfZHNzZGV2cygpOwo+ICsJb21hcF9kaXNjb25uZWN0X2Rzc2RldnMo ZGRldik7Cj4gIAlvbWFwX2NydGNfcHJlX3VuaW5pdCgpOwo+IAo+ICAJZHJtX2Rldl91bnJlZihk ZGV2KTsKPiBAQCAtNjQ1LDExICs2NjIsMTQgQEAgc3RhdGljIGludCBwZGV2X3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICB9Cj4gCj4gICNpZmRlZiBDT05GSUdfUE1fU0xF RVAKPiAtc3RhdGljIGludCBvbWFwX2RybV9zdXNwZW5kX2FsbF9kaXNwbGF5cyh2b2lkKQo+ICtz dGF0aWMgaW50IG9tYXBfZHJtX3N1c3BlbmRfYWxsX2Rpc3BsYXlzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZGV2KQo+ICB7Cj4gLQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYgPSBOVUxMOwo+ ICsJc3RydWN0IG9tYXBfZHJtX3ByaXZhdGUgKnByaXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKPiAr CWludCBpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBwcml2LT5udW1fZHNzZGV2czsgaSsrKSB7 Cj4gKwkJc3RydWN0IG9tYXBfZHNzX2RldmljZSAqZHNzZGV2ID0gcHJpdi0+ZHNzZGV2c1tpXTsK PiAKPiAtCWZvcl9lYWNoX2Rzc19kZXYoZHNzZGV2KSB7Cj4gIAkJaWYgKCFkc3NkZXYtPmRyaXZl cikKPiAgCQkJY29udGludWU7Cj4gCj4gQEAgLTY2NCwxMSArNjg0LDE0IEBAIHN0YXRpYyBpbnQg b21hcF9kcm1fc3VzcGVuZF9hbGxfZGlzcGxheXModm9pZCkKPiAgCXJldHVybiAwOwo+ICB9Cj4g Cj4gLXN0YXRpYyBpbnQgb21hcF9kcm1fcmVzdW1lX2FsbF9kaXNwbGF5cyh2b2lkKQo+ICtzdGF0 aWMgaW50IG9tYXBfZHJtX3Jlc3VtZV9hbGxfZGlzcGxheXMoc3RydWN0IGRybV9kZXZpY2UgKmRk ZXYpCj4gIHsKPiAtCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldiA9IE5VTEw7Cj4gKwlz dHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRkZXYtPmRldl9wcml2YXRlOwo+ICsJaW50 IGk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IHByaXYtPm51bV9kc3NkZXZzOyBpKyspIHsKPiAr CQlzdHJ1Y3Qgb21hcF9kc3NfZGV2aWNlICpkc3NkZXYgPSBwcml2LT5kc3NkZXZzW2ldOwo+IAo+ IC0JZm9yX2VhY2hfZHNzX2Rldihkc3NkZXYpIHsKPiAgCQlpZiAoIWRzc2Rldi0+ZHJpdmVyKQo+ ICAJCQljb250aW51ZTsKPiAKPiBAQCAtNjg4LDcgKzcxMSw3IEBAIHN0YXRpYyBpbnQgb21hcF9k cm1fc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gIAlkcm1fa21zX2hlbHBlcl9wb2xsX2Rp c2FibGUoZHJtX2Rldik7Cj4gCj4gIAlkcm1fbW9kZXNldF9sb2NrX2FsbChkcm1fZGV2KTsKPiAt CW9tYXBfZHJtX3N1c3BlbmRfYWxsX2Rpc3BsYXlzKCk7Cj4gKwlvbWFwX2RybV9zdXNwZW5kX2Fs bF9kaXNwbGF5cyhkcm1fZGV2KTsKPiAgCWRybV9tb2Rlc2V0X3VubG9ja19hbGwoZHJtX2Rldik7 Cj4gCj4gIAlyZXR1cm4gMDsKPiBAQCAtNjk5LDcgKzcyMiw3IEBAIHN0YXRpYyBpbnQgb21hcF9k cm1fcmVzdW1lKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1f ZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gCj4gIAlkcm1fbW9kZXNldF9sb2NrX2FsbChk cm1fZGV2KTsKPiAtCW9tYXBfZHJtX3Jlc3VtZV9hbGxfZGlzcGxheXMoKTsKPiArCW9tYXBfZHJt X3Jlc3VtZV9hbGxfZGlzcGxheXMoZHJtX2Rldik7Cj4gIAlkcm1fbW9kZXNldF91bmxvY2tfYWxs KGRybV9kZXYpOwo+IAo+ICAJZHJtX2ttc19oZWxwZXJfcG9sbF9lbmFibGUoZHJtX2Rldik7Cj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmgKPiBiL2RyaXZl cnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmggaW5kZXggYmEzMjJjNTE5OTk5Li5jOWU0MzNh OTFjZDAKPiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuaAo+IEBAIC01MCw2ICs1 MCw5IEBAIHN0cnVjdCBvbWFwX2RybV9wcml2YXRlIHsKPiAKPiAgCWNvbnN0IHN0cnVjdCBkaXNw Y19vcHMgKmRpc3BjX29wczsKPiAKPiArCXVuc2lnbmVkIGludCBudW1fZHNzZGV2czsKPiArCXN0 cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRzc2RldnNbOF07Cj4gKwo+ICAJdW5zaWduZWQgaW50IG51 bV9jcnRjczsKPiAgCXN0cnVjdCBkcm1fY3J0YyAqY3J0Y3NbOF07CgotLSAKUmVnYXJkcywKCkxh dXJlbnQgUGluY2hhcnQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=