From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: [PATCH] drm/nouveau/fbcon: fix deadlock with FBIOPUT_CON2FBMAP Date: Wed, 13 Jul 2016 14:40:50 +0200 Message-ID: <20160713124050.GA5178@al> References: <20160712164934.1390-1-peter@lekensteyn.nl> <20160713095449.GZ23520@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160713095449.GZ23520-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Daniel Vetter Cc: Dave Airlie , Chris Wilson , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: nouveau.vger.kernel.org T24gV2VkLCBKdWwgMTMsIDIwMTYgYXQgMTE6NTQ6NDlBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIEp1bCAxMiwgMjAxNiBhdCAwNjo0OTozNFBNICswMjAwLCBQZXRlciBX dSB3cm90ZToKPiA+IFRoZSBGQklPUFVUX0NPTjJGQk1BUCBpb2N0bCB0YWtlcyBhIGNvbnNvbGVf bG9jaygpLiBXaGVuIHRoaXMgaXMgY2FsbGVkCj4gPiB3aGlsZSBub3V2ZWF1IHdhcyBydW50aW1l IHN1c3BlbmRlZCwgYSBkZWFkbG9jayB3b3VsZCBvY2N1ciBkdWUgdG8KPiA+IG5vdXZlYXVfZmJj b25fc2V0X3N1c3BlbmQgYWxzbyB0cnlpbmcgdG8gb2J0YWluIGNvbnNvbGVfbG9jaygpLgo+ID4g Cj4gPiBGaXggdGhpcyBieSBkZWxheWluZyB0aGUgZHJtX2ZiX2hlbHBlcl9zZXRfc3VzcGVuZCBj YWxsLiBCYXNlZCBvbiB0aGUKPiA+IGk5MTUgY29kZSAod2hpY2ggd2FzIGRvbmUgZm9yIHBlcmZv cm1hbmNlIHJlYXNvbnMgdGhvdWdoKS4KPiA+IAo+ID4gQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgo+ID4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA ZmZ3bGwuY2g+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBQZXRlciBXdSA8cGV0ZXJAbGVrZW5zdGV5bi5u bD4KPiA+IC0tLQo+ID4gVGVzdGVkIG9uIHRvcCBvZiB2NC43LXJjNSwgdGhlIGRlYWRsb2NrIGlz IGdvbmUuCj4gCj4gSWYgd2UgYm90aGVyIHdpdGggdGhpcywgaXQgc2hvdWxkIGltbyBiZSBtb3Zl ZCBpbnRvIHRoZSBkcm1fZmJfaGVscGVyLmMKPiBmdW5jdGlvbiBkcm1fZmJfaGVscGVyX3NldF9z dXNwZW5kKCkuIEJ1dCB0aGlzIGFsc28gc21lbGxzIGxpa2Ugc29tZSBraW5kCj4gb2YgYmFkIGR1 Y3QtdGFwZS4gSSB0aGluayBMdWthcyBpcyB3b3JraW5nIG9uIHNvbWUgb3RoZXIgcnBtIHZzLiBm YmRldgo+IGRlYWRsb2NrcywgbWF5YmUgd2UgY291bGQgZml4IHRoZW0gYWxsIHdpdGggb25lIHBy b3BlciBmaXg/IEkndmUgbWFkZSBzb21lCj4gY29tbWVudHMgb24gTHVrYXMnIGxhc3QgcGF0Y2gg c2VyaWVzLgoKVGhpcyBwYXRjaCBpcyBvbmx5IG5lZWRlZCBmb3IgZHJpdmVycyB0aGF0IHVzZSBj b25zb2xlX2xvY2sgKGZvcgpkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kKSBpbiB0aGVpciBydW50 aW1lIHJlc3VtZSBmdW5jdGlvbnMuCkx1a2FzIHBvc3RlZCBmaXhlcyBmb3IgcnVudGltZSBQTSBy ZWZlcmVuY2UgbGVha3MsIHRob3NlIGFyZSBkaWZmZXJlbnQKZnJvbSB0aGlzIGRlYWRsb2NrIChz ZWUKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJjaGl2ZXMvZHJpLWRldmVsLzIwMTYt SnVseS8xMTMwMDUuaHRtbApmb3IgYSBiYWNrdHJhY2UgZm9yIHRoaXMgaXNzdWUpLgoKVGhlIGRl YWRsb2NrIGNvdWxkIGFsc28gYmUgYXZvaWRlZCBpZiB0aGUgZGV2aWNlIGJhY2tpbmcgdGhlIGZi Y29uIGlzCnNvbWVob3cgcnVudGltZS1yZXN1bWVkIG91dHNpZGUgdGhlIGxvY2ssIGJ1dCB0aGF0 IGZlZWxzIGxpa2UgYSBsYXJnZXIKaGFjayB0aGF0IGRvZXMgbm90IHNlZW0gZWFzeS4KClRoZSBp OTE1IHBhdGNoIHdhcyBkb25lIHRvIHJlZHVjZSByZXN1bWUgdGltZSAoZHVlIHRvIGNvbnNvbGVf bG9jawpjb250ZW50aW9uKSwgdGhhdCBmZWF0dXJlIHNlZW1zIHVzZWZ1bCB0byBhbGwgb3RoZXIg ZHJpdmVycyB0b28gZXZlbiBpZgp0aGUgZGVhZGxvY2sgaXMgZml4ZWQgaW4gYSBkaWZmZXJlbnQg d2F5LgoKTXkgY3VycmVudCBwbGFuIGlzIHRvIG1vdmUgc3R1ZmYgb3V0IG9mIHRoZSBsb2NrIGFu ZCBhbGxvdyAoanVzdCkKcmVzdW1pbmcgdGhlIGNvbnNvbGUgdG8gYmUgZGVsYXllZC4gIFNvbWUg ZHJpdmVycyAobm91dmVhdSwKcmFkZW9uL2FtZGdwdSwgaTkxNSkgZG8gdW5uZWNlc3Nhcnkgc3R1 ZmYgdW5kZXIgdGhlIGNvbnNvbGUgbG9jazoKCiAtIG5vdXZlYXU6IEkgKnRoaW5rKiB0aGF0IGNs ZXJhaW5nL3NldHRpbmcgRkJJTkZPX0hXQUNDRUxfRElTQUJMRUQKICAgKG5vdXZlYXVfZmJjb25f YWNjZWxfcmVzdG9yZSkgaXMgc2FmZSBvdXRzaWRlIHRoZSBsb2NrIGFzIHRoZSBmYiBpcwogICBh bHJlYWR5IHN1c3BlbmRlZCBiZWZvcmUgY2xlYXJpbmcvYWZ0ZXIgc2V0dGluZyB0aGUgZmxhZy4K IC0gcmFkZW9uOiBzaW5jZSB0aGUgY29uc29sZSBpcyBzdXNwZW5kZWQsIEkgZG9uJ3QgdGhpbmsg dGhhdCB0aGF0IGFsbAogICBvZiB0aGUgY29kZSBpcyByYWRlb25fcmVzdW1lX2ttcyBpcyByZWFs bHkgbmVlZGVkLgogLSBhbWRncHU6IHNhbWUgYXMgcmFkZW9uLiBCdHcsIGNvbnNvbGVfbG9jayBp cyBsZWFrZWQgb24gYW4gZXJyb3IgcGF0aC4KIC0gaTkxNTogSSB0aGluayB0aGF0IGNsZWFyaW5n IHRoZSBmYiBtZW1vcnkgY2FuIGJlIGRvbmUgb3V0c2lkZSB0aGUKICAgbG9jayB0b28gYXMgdGhl IGNvbnNvbGUgaXMgc3VzcGVuZGVkLgoKUGxlYXNlIGNvcnJlY3QgbWUgaWYgbXkgYXNzdW1wdGlv bnMgYXJlIGZsYXdlZC4KCj4gQmVzaWRlcyB0aGlzLCB3aGVuIGZpeGluZyBhIGRlYWRsb2NrIHBs cyBwcm92aWRlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUKPiBwcmVjaXNlIGNhbGxjaGFpbiBhbmQg dGhlIGxvY2tzIGludm9sdmVkIGluIHRoZSBkZWFkbG9jay4gSWYgeW91Cj4gZGlzY292ZXJlZCB0 aGlzIHVzaW5nIGxvY2tkZXAsIHRoZW4ganVzdCBhZGQgdGhlIGVudGlyZSBsb2NrZGVwIHNwbGF0 IHRvCj4gdGhlIGNvbW1pdCBtZXNzYWdlLiBPdGhlcndpc2UgdGhlcmUncyBsb3RzIG9mIGd1ZXNz d29yayBpbnZvbHZlZCBoZXJlLgo+IC1EYW5pZWwKClRoZXJlIHdhcyBubyBsb2NrZGVwIHNwbGF0 LCBpdCB3YXMgdHJpZ2dlcmVkIHZpYSB0aGUgaW9jdGwgaW4gdGhlIGNvbW1pdAptZXNzYWdlLiBJ J2xsIGluY2x1ZGUgdGhlIHZlcmJvc2UgdHJhY2UgZnJvbSB0aGUgcHJldmlvdXMgbWFpbCBpbiB0 aGUKbmV4dCBwcm9wb3NlZCBwYXRjaCB0byByZWR1Y2UgaHVudGluZyB0aG91Z2guCgpQZXRlcgoK PiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMgICB8ICA0 ICstLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmggICB8ICAxICsK PiA+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmMgfCA1NCArKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9u b3V2ZWF1X2ZiY29uLmggfCAgMiArLQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9u cygrKSwgMTEgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVh dV9kcm0uYwo+ID4gaW5kZXggMTFmOGRkOS4uZjlhMmMxMCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9ub3V2ZWF1L25vdXZlYXVfZHJtLmMKPiA+IEBAIC01NTIsNyArNTUyLDcgQEAgbm91dmVhdV9k b19zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgcnVudGltZSkKPiA+ICAKPiA+ ICAJaWYgKGRldi0+bW9kZV9jb25maWcubnVtX2NydGMpIHsKPiA+ICAJCU5WX0lORk8oZHJtLCAi c3VzcGVuZGluZyBjb25zb2xlLi4uXG4iKTsKPiA+IC0JCW5vdXZlYXVfZmJjb25fc2V0X3N1c3Bl bmQoZGV2LCAxKTsKPiA+ICsJCW5vdXZlYXVfZmJjb25fc2V0X3N1c3BlbmQoZGV2LCBGQklORk9f U1RBVEVfU1VTUEVOREVELCB0cnVlKTsKPiA+ICAJCU5WX0lORk8oZHJtLCAic3VzcGVuZGluZyBk aXNwbGF5Li4uXG4iKTsKPiA+ICAJCXJldCA9IG5vdXZlYXVfZGlzcGxheV9zdXNwZW5kKGRldiwg cnVudGltZSk7Cj4gPiAgCQlpZiAocmV0KQo+ID4gQEAgLTYzNSw3ICs2MzUsNyBAQCBub3V2ZWF1 X2RvX3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sIHJ1bnRpbWUpCj4gPiAgCQlO Vl9JTkZPKGRybSwgInJlc3VtaW5nIGRpc3BsYXkuLi5cbiIpOwo+ID4gIAkJbm91dmVhdV9kaXNw bGF5X3Jlc3VtZShkZXYsIHJ1bnRpbWUpOwo+ID4gIAkJTlZfSU5GTyhkcm0sICJyZXN1bWluZyBj b25zb2xlLi4uXG4iKTsKPiA+IC0JCW5vdXZlYXVfZmJjb25fc2V0X3N1c3BlbmQoZGV2LCAwKTsK PiA+ICsJCW5vdXZlYXVfZmJjb25fc2V0X3N1c3BlbmQoZGV2LCBGQklORk9fU1RBVEVfUlVOTklO RywgZmFsc2UpOwo+ID4gIAl9Cj4gPiAgCj4gPiAgCXJldHVybiAwOwo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v bm91dmVhdS9ub3V2ZWF1X2Rydi5oCj4gPiBpbmRleCA4MjJhMDIxLi5hNzQzZDE5IDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaAo+ID4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcnYuaAo+ID4gQEAgLTE0Nyw2ICsxNDcs NyBAQCBzdHJ1Y3Qgbm91dmVhdV9kcm0gewo+ID4gIAlzdHJ1Y3Qgbm91dmVhdV9jaGFubmVsICpj aGFubmVsOwo+ID4gIAlzdHJ1Y3QgbnZrbV9ncHVvYmogKm5vdGlmeTsKPiA+ICAJc3RydWN0IG5v dXZlYXVfZmJkZXYgKmZiY29uOwo+ID4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZmJkZXZfc3VzcGVu ZF93b3JrOwo+ID4gIAlzdHJ1Y3QgbnZpZl9vYmplY3QgbnZzdzsKPiA+ICAJc3RydWN0IG52aWZf b2JqZWN0IG50Znk7Cj4gPiAgCXN0cnVjdCBudmlmX25vdGlmeSBmbGlwOwo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uYyBiL2RyaXZlcnMvZ3B1 L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uYwo+ID4gaW5kZXggZDFmMjQ4Zi4uMDg5MTU2YSAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJjb24uYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9mYmNvbi5jCj4gPiBAQCAt NDkyLDE5ICs0OTIsNTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZmJfaGVscGVyX2Z1bmNz IG5vdXZlYXVfZmJjb25faGVscGVyX2Z1bmNzID0gewo+ID4gIAkuZmJfcHJvYmUgPSBub3V2ZWF1 X2ZiY29uX2NyZWF0ZSwKPiA+ICB9Owo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIG5vdXZlYXVfZmJj b25fc3VzcGVuZF93b3JrZXIoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQo+ID4gK3sKPiA+ICsJ bm91dmVhdV9mYmNvbl9zZXRfc3VzcGVuZChjb250YWluZXJfb2Yod29yaywKPiA+ICsJCQkJCSAg ICAgICBzdHJ1Y3Qgbm91dmVhdV9kcm0sCj4gPiArCQkJCQkgICAgICAgZmJkZXZfc3VzcGVuZF93 b3JrKS0+ZGV2LAo+ID4gKwkJCQkgIEZCSU5GT19TVEFURV9SVU5OSU5HLAo+ID4gKwkJCQkgIHRy dWUpOwo+ID4gK30KPiA+ICsKPiA+ICB2b2lkCj4gPiAtbm91dmVhdV9mYmNvbl9zZXRfc3VzcGVu ZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgc3RhdGUpCj4gPiArbm91dmVhdV9mYmNvbl9z ZXRfc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgc3RhdGUsIGJvb2wgc3luY2hy b25vdXMpCj4gPiAgewo+ID4gIAlzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSA9IG5vdXZlYXVfZHJt KGRldik7Cj4gPiAtCWlmIChkcm0tPmZiY29uKSB7Cj4gPiAtCQljb25zb2xlX2xvY2soKTsKPiA+ IC0JCWlmIChzdGF0ZSA9PSBGQklORk9fU1RBVEVfUlVOTklORykKPiA+IC0JCQlub3V2ZWF1X2Zi Y29uX2FjY2VsX3Jlc3RvcmUoZGV2KTsKPiA+IC0JCWRybV9mYl9oZWxwZXJfc2V0X3N1c3BlbmQo JmRybS0+ZmJjb24tPmhlbHBlciwgc3RhdGUpOwo+ID4gKwlpZiAoIWRybS0+ZmJjb24pCj4gPiAr CQlyZXR1cm47Cj4gPiArCj4gPiArCWlmIChzeW5jaHJvbm91cykgewo+ID4gKwkJLyogRmx1c2gg YW55IHBlbmRpbmcgd29yayB0byB0dXJuIHRoZSBjb25zb2xlIG9uLCBhbmQgdGhlbgo+ID4gKwkJ ICogd2FpdCB0byB0dXJuIGl0IG9mZi4gSXQgbXVzdCBiZSBzeW5jaHJvbm91cyBhcyB3ZSBhcmUK PiA+ICsJCSAqIGFib3V0IHRvIHN1c3BlbmQgb3IgdW5sb2FkIHRoZSBkcml2ZXIuCj4gPiArCQkg Kgo+ID4gKwkJICogTm90ZSB0aGF0IGZyb20gd2l0aGluIHRoZSB3b3JrLWhhbmRsZXIsIHdlIGNh bm5vdCBmbHVzaAo+ID4gKwkJICogb3Vyc2VsdmVzLCBzbyBvbmx5IGZsdXNoIG91dHN0YW5kaW5n IHdvcmsgdXBvbiBzdXNwZW5kIQo+ID4gKwkJICovCj4gPiAgCQlpZiAoc3RhdGUgIT0gRkJJTkZP X1NUQVRFX1JVTk5JTkcpCj4gPiAtCQkJbm91dmVhdV9mYmNvbl9hY2NlbF9zYXZlX2Rpc2FibGUo ZGV2KTsKPiA+IC0JCWNvbnNvbGVfdW5sb2NrKCk7Cj4gPiArCQkJZmx1c2hfd29yaygmZHJtLT5m YmRldl9zdXNwZW5kX3dvcmspOwo+ID4gKwkJY29uc29sZV9sb2NrKCk7Cj4gPiArCX0gZWxzZSB7 Cj4gPiArCQkvKgo+ID4gKwkJICogVGhlIGNvbnNvbGUgbG9jayBjYW4gYmUgcHJldHR5IGNvbnRl bnRlZCBvbiByZXN1bWUgZHVlCj4gPiArCQkgKiB0byBhbGwgdGhlIHByaW50ayBhY3Rpdml0eS4g IFRyeSB0byBrZWVwIGl0IG91dCBvZiB0aGUgaG90Cj4gPiArCQkgKiBwYXRoIG9mIHJlc3VtZSBp ZiBwb3NzaWJsZS4gIFRoaXMgYWxzbyBwcmV2ZW50cyBhIGRlYWRsb2NrCj4gPiArCQkgKiB3aXRo IEZCSU9QVVRfQ09OMkZCTUFQLgo+ID4gKwkJICovCj4gPiArCQlXQVJOX09OKHN0YXRlICE9IEZC SU5GT19TVEFURV9SVU5OSU5HKTsKPiA+ICsJCWlmICghY29uc29sZV90cnlsb2NrKCkpIHsKPiA+ ICsJCQlzY2hlZHVsZV93b3JrKCZkcm0tPmZiZGV2X3N1c3BlbmRfd29yayk7Cj4gPiArCQkJcmV0 dXJuOwo+ID4gKwkJfQo+ID4gIAl9Cj4gPiArCj4gPiArCWlmIChzdGF0ZSA9PSBGQklORk9fU1RB VEVfUlVOTklORykKPiA+ICsJCW5vdXZlYXVfZmJjb25fYWNjZWxfcmVzdG9yZShkZXYpOwo+ID4g Kwlkcm1fZmJfaGVscGVyX3NldF9zdXNwZW5kKCZkcm0tPmZiY29uLT5oZWxwZXIsIHN0YXRlKTsK PiA+ICsJaWYgKHN0YXRlICE9IEZCSU5GT19TVEFURV9SVU5OSU5HKQo+ID4gKwkJbm91dmVhdV9m YmNvbl9hY2NlbF9zYXZlX2Rpc2FibGUoZGV2KTsKPiA+ICsJY29uc29sZV91bmxvY2soKTsKPiA+ ICB9Cj4gPiAgCj4gPiAgaW50Cj4gPiBAQCAtNTI2LDYgKzU2MCw4IEBAIG5vdXZlYXVfZmJjb25f aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAlmYmNvbi0+ZGV2ID0gZGV2Owo+ID4g IAlkcm0tPmZiY29uID0gZmJjb247Cj4gPiAgCj4gPiArCUlOSVRfV09SSygmZHJtLT5mYmRldl9z dXNwZW5kX3dvcmssIG5vdXZlYXVfZmJjb25fc3VzcGVuZF93b3JrZXIpOwo+ID4gKwo+ID4gIAlk cm1fZmJfaGVscGVyX3ByZXBhcmUoZGV2LCAmZmJjb24tPmhlbHBlciwgJm5vdXZlYXVfZmJjb25f aGVscGVyX2Z1bmNzKTsKPiA+ICAKPiA+ICAJcmV0ID0gZHJtX2ZiX2hlbHBlcl9pbml0KGRldiwg JmZiY29uLT5oZWxwZXIsCj4gPiBAQCAtNTcxLDYgKzYwNyw4IEBAIG5vdXZlYXVfZmJjb25fZmlu aShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIAlpZiAoIWRybS0+ZmJjb24pCj4gPiAgCQly ZXR1cm47Cj4gPiAgCj4gPiArCWZsdXNoX3dvcmsoJmRybS0+ZmJkZXZfc3VzcGVuZF93b3JrKTsK PiA+ICsKPiA+ICAJbm91dmVhdV9mYmNvbl9hY2NlbF9maW5pKGRldik7Cj4gPiAgCW5vdXZlYXVf ZmJjb25fZGVzdHJveShkZXYsIGRybS0+ZmJjb24pOwo+ID4gIAlrZnJlZShkcm0tPmZiY29uKTsK PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmgg Yi9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2ZiY29uLmgKPiA+IGluZGV4IGNhNzdh ZDAuLjM0YjI1MDQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2 ZWF1X2ZiY29uLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZmJj b24uaAo+ID4gQEAgLTY2LDcgKzY2LDcgQEAgdm9pZCBub3V2ZWF1X2ZiY29uX2dwdV9sb2NrdXAo c3RydWN0IGZiX2luZm8gKmluZm8pOwo+ID4gIAo+ID4gIGludCBub3V2ZWF1X2ZiY29uX2luaXQo c3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAgdm9pZCBub3V2ZWF1X2ZiY29uX2Zpbmkoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Cj4gPiAtdm9pZCBub3V2ZWF1X2ZiY29uX3NldF9zdXNwZW5k KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSk7Cj4gPiArdm9pZCBub3V2ZWF1X2Zi Y29uX3NldF9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBzdGF0ZSwgYm9vbCBz eW5jaHJvbm91cyk7Cj4gPiAgdm9pZCBub3V2ZWF1X2ZiY29uX2FjY2VsX3NhdmVfZGlzYWJsZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICB2b2lkIG5vdXZlYXVfZmJjb25fYWNjZWxfcmVz dG9yZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICAKPiA+IC0tIAo+ID4gMi44LjMKPiA+ IAo+IAo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29y cG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0gCktpbmQgcmVnYXJkcywKUGV0ZXIg V3UKaHR0cHM6Ly9sZWtlbnN0ZXluLm5sCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCk5vdXZlYXUgbWFpbGluZyBsaXN0Ck5vdXZlYXVAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v bm91dmVhdQo=