From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Wu Subject: Re: [PATCH 1/9] drm/nouveau: Don't leak runtime pm ref on driver unload Date: Mon, 30 May 2016 19:03:46 +0200 Message-ID: <20160530170346.GB1355@al> References: <20160527010733.GA1029@al> <20160529155006.GA12909@wunner.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20160529155006.GA12909-JFq808J9C/izQB+pC5nmwQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: Lukas Wunner Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, Dave Airlie List-Id: nouveau.vger.kernel.org T24gU3VuLCBNYXkgMjksIDIwMTYgYXQgMDU6NTA6MDZQTSArMDIwMCwgTHVrYXMgV3VubmVyIHdy b3RlOgo+IEhpIFBldGVyLAo+IAo+IE9uIEZyaSwgTWF5IDI3LCAyMDE2IGF0IDAzOjA3OjMzQU0g KzAyMDAsIFBldGVyIFd1IHdyb3RlOgo+ID4gT24gVHVlLCBNYXkgMjQsIDIwMTYgYXQgMDY6MDM6 MjdQTSArMDIwMCwgTHVrYXMgV3VubmVyIHdyb3RlOgo+ID4gPiBub3V2ZWF1X2RybV9sb2FkKCkg Y2FsbHMgcG1fcnVudGltZV9wdXQoKSBpZiBub3V2ZWF1X3J1bnRpbWVfcG0gIT0gMCwKPiA+ID4g YnV0IG5vdXZlYXVfZHJtX3VubG9hZCgpIGNhbGxzIHBtX3J1bnRpbWVfZ2V0X3N5bmMoKSB1bmNv bmRpdGlvbmFsbHkuCj4gPiA+IFdlIHRoZXJlZm9yZSBsZWFrIGEgcnVudGltZSBwbSByZWYgd2hl bmV2ZXIgbm91dmVhdSBpcyBsb2FkZWQgd2l0aAo+ID4gPiBydW5wbT0wIGFuZCB0aGVuIHVubG9h ZGVkLiBUaGUgR1BVIHdpbGwgc3Vic2VxdWVudGx5IG5ldmVyIHJ1bnRpbWUKPiA+ID4gc3VzcGVu ZCBldmVuIGlmIG5vdXZlYXUgaXMgbG9hZGVkIGFnYWluIHdpdGggcnVucG09MS4KPiA+ID4gCj4g PiA+IEZpeCBieSB0YWtpbmcgdGhlIHJ1bnRpbWUgcG0gcmVmIHVuZGVyIHRoZSBzYW1lIGNvbmRp dGlvbiB0aGF0IGl0IHdhcwo+ID4gPiByZWxlYXNlZCBvbiBkcml2ZXIgbG9hZC4KPiA+ID4gCj4g PiA+IEZpeGVzOiA1YWRkY2YwYTVmMGYgKCJub3V2ZWF1OiBhZGQgcnVudGltZSBQTSBzdXBwb3J0 ICh2MC45KSIpCj4gPiA+IENjOiBEYXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgo+ID4g PiBSZXBvcnRlZC1ieTogS2Fyb2wgSGVyYnN0IDxub3V2ZWF1QGthcm9saGVyYnN0LmRlPgo+ID4g PiBUZXN0ZWQtYnk6IEthcm9sIEhlcmJzdCA8bm91dmVhdUBrYXJvbGhlcmJzdC5kZT4KPiA+ID4g U2lnbmVkLW9mZi1ieTogTHVrYXMgV3VubmVyIDxsdWthc0B3dW5uZXIuZGU+Cj4gPiAKPiA+IExv b2tzIGdvb2QsIEkgdGVzdGVkIHRoaXMgc2NlbmFyaW86Cj4gPiAKPiA+ICAgICBydSgpeyBjYXQg L3N5cy9idXMvcGNpL2RldmljZXMvMDAwMFw6MDE6MDAuMC9wb3dlci9ydW50aW1lX3VzYWdlO30K PiA+ICAgICBydSAjIHJlcG9ydHMgMQo+ID4gICAgIG1vZHByb2JlIG5vdXZlYXUgcnVucG09MAo+ ID4gICAgIHJ1ICMgcmVwb3J0cyAyCj4gPiAgICAgcm1tb2Qgbm91dmVhdQo+ID4gICAgIHJ1ICMg cmVwb3J0cyAxCj4gPiAKPiA+IFdpdGhvdXQgcnVucG09MCB0aGUgY291bnQgZHJvcHMgdG8gMCBp biB0aGUgc2Vjb25kIHN0ZXAgYW5kIHN0YXlzIDAgaW4KPiA+IHRoZSB0aGlyZCBzdGVwLiBBZnRl ciBhcHBseWluZyBwYXRjaCAyLzksIHRoaXMgY29ycmVjdGx5IHJlcG9ydHMgMSBhcwo+ID4gZXhw ZWN0ZWQgKHRoaXMgaXMgdGhlIHNhbWUgYXMgbWFudWFsbHkgc2V0dGluZyBwb3dlci9jb250cm9s IHRvIG9uKS4KPiAKPiBIb3cgZXhhY3RseSBkaWQgeW91IHJlYWNoIHRoZSBzaXR1YXRpb24gd2hl cmUgdGhlIHJvb3QgcG9ydCBkaWRuJ3Qgd2FrZQo+IHVwIHdoZW4geW91IHRyaWVkIHRvIGxvYWQg bm91dmVhdSBhZ2Fpbj8gKElSQyBjb252ZXJzYXRpb24gdGhpcyB3ZWVrLikKCkVuc3VyZSB0aGF0 IHRoZSBwY2kvcG0gcGF0Y2hlcyBhcmUgYXBwbGllZCwgdGhlbjoKCiAwLiBVbmxvYWQgbm91dmVh dSAoSSBoYXZlIGJsYWNrbGlzdGVkIGl0IGZvciB0ZXN0aW5nKS4KIDEuIEVuYWJsZSBycG0gZm9y IHRoZSByb290IHBvcnQgYW5kIGNoaWxkcmVuIChjb250cm9sID0gYXV0bykuCiAyLiBWZXJpZnkg aW4gdGhlIGtlcm5lbCBsb2dzIHRoYXQgdGhlIGRldmljZXMgYXJlIHNsZWVwaW5nOgogICAgICAg IHBjaWVwb3J0IDAwMDA6MDA6MDEuMDogcG93ZXIgc3RhdGUgY2hhbmdlZCBieSBBQ1BJIHRvIEQz Y29sZAogMy4gKE9wdGlvbmFsLCB0byBydWxlIG91dCBpc3N1ZXMgd2l0aCBkZWxheXM6KSBEaXNh YmxlIHJwbSBmb3IgdGhlCiAgICBOdmlkaWEgZGV2aWNlIChjb250cm9sID0gb24pLgogNC4gbW9k cHJvYmUgbm91dmVhdS4KClRoZSBhYm92ZSB0ZXN0IHdpdGggdjQuNiArIDQgcGNpL3BtIHBhdGNo ZXMgKDhiNzFmNTY1KSBnaXZlczoKCiAgICA1MC4yNDU3OTUgTVhNOiBHVUlEIGRldGVjdGVkIGlu IEJJT1MKICAgIDUwLjI0NTk0OCAgICBuc2V2YWwtMDIyNyBuc19ldmFsdWF0ZSAgICAgICAgICAg OiAqKioqIEV4ZWN1dGUgbWV0aG9kIFtcX1NCLlBDSTAuR0ZYMC5fRFNNXSBhdCBBTUwgYWRkcmVz cyBmZmZmYzkwMDAwMDEzYjExIGxlbmd0aCA0OTIKICAgIDUwLjI0NjAxNiBBQ1BJIFdhcm5pbmc6 IFxfU0IuUENJMC5HRlgwLl9EU006IEFyZ3VtZW50ICM0IHR5cGUgbWlzbWF0Y2ggLSBGb3VuZCBb QnVmZmVyXSwgQUNQSSByZXF1aXJlcyBbUGFja2FnZV0gKDIwMTYwMTA4L25zYXJndW1lbnRzLTk1 KQogICAgNTAuMjQ2MDQ0ICAgIG5zZXZhbC0wMjI3IG5zX2V2YWx1YXRlICAgICAgICAgICA6ICoq KiogRXhlY3V0ZSBtZXRob2QgW1xfU0IuUENJMC5HRlgwLl9EU01dIGF0IEFNTCBhZGRyZXNzIGZm ZmZjOTAwMDAwMTNiMTEgbGVuZ3RoIDQ5MgogICAgNTAuMjQ2MTEwICAgIG5zZXZhbC0wMjI3IG5z X2V2YWx1YXRlICAgICAgICAgICA6ICoqKiogRXhlY3V0ZSBtZXRob2QgW1xfU0IuUENJMC5QRUcw LlBFR1AuX0RTTV0gYXQgQU1MIGFkZHJlc3MgZmZmZmM5MDAwMDAxODI5NyBsZW5ndGggMUYKICAg IDUwLjI0NjI1NiBBQ1BJIFdhcm5pbmc6IFxfU0IuUENJMC5QRUcwLlBFR1AuX0RTTTogQXJndW1l bnQgIzQgdHlwZSBtaXNtYXRjaCAtIEZvdW5kIFtCdWZmZXJdLCBBQ1BJIHJlcXVpcmVzIFtQYWNr YWdlXSAoMjAxNjAxMDgvbnNhcmd1bWVudHMtOTUpCiAgICA1MC4yNDYyODkgICAgbnNldmFsLTAy MjcgbnNfZXZhbHVhdGUgICAgICAgICAgIDogKioqKiBFeGVjdXRlIG1ldGhvZCBbXF9TQi5QQ0kw LlBFRzAuUEVHUC5fRFNNXSBhdCBBTUwgYWRkcmVzcyBmZmZmYzkwMDAwMDE4Mjk3IGxlbmd0aCAx RgogICAgNTAuMjQ2NDQzIEFDUEkgV2FybmluZzogXF9TQi5QQ0kwLlBFRzAuUEVHUC5fRFNNOiBB cmd1bWVudCAjNCB0eXBlIG1pc21hdGNoIC0gRm91bmQgW0J1ZmZlcl0sIEFDUEkgcmVxdWlyZXMg W1BhY2thZ2VdICgyMDE2MDEwOC9uc2FyZ3VtZW50cy05NSkKICAgIDUwLjI0NjQ1NyAgICBuc2V2 YWwtMDIyNyBuc19ldmFsdWF0ZSAgICAgICAgICAgOiAqKioqIEV4ZWN1dGUgbWV0aG9kIFtcX1NC LlBDSTAuUEVHMC5QRUdQLl9EU01dIGF0IEFNTCBhZGRyZXNzIGZmZmZjOTAwMDAwMTgyOTcgbGVu Z3RoIDFGCiAgICA1MC4yNDY5MzIgcGNpIDAwMDA6MDE6MDAuMDogb3B0aW11cyBjYXBhYmlsaXRp ZXM6IGVuYWJsZWQsIHN0YXR1cyBkeW5hbWljIHBvd2VyLCBoZGEgYmlvcyBjb2RlYyBzdXBwb3J0 ZWQKICAgIDUwLjI0NzAwNSBWR0Egc3dpdGNoZXJvbzogZGV0ZWN0ZWQgT3B0aW11cyBEU00gbWV0 aG9kIFxfU0JfLlBDSTAuUEVHMC5QRUdQIGhhbmRsZQogICAgNTAuMjQ3MDg0ICAgIG5zZXZhbC0w MjI3IG5zX2V2YWx1YXRlICAgICAgICAgICA6ICoqKiogRXhlY3V0ZSBtZXRob2QgW1xfU0IuUENJ MC5QRUcwLlBHMDAuX09OXSBhdCBBTUwgYWRkcmVzcyBmZmZmYzkwMDAwMDEwODZlIGxlbmd0aCAx MUQKICAgIDUwLjM5MDE0MCBwY2llcG9ydCAwMDAwOjAwOjAxLjA6IHBvd2VyIHN0YXRlIGNoYW5n ZWQgYnkgQUNQSSB0byBEMAogICAgNTAuNDkxODkzICAgIG5zZXZhbC0wMjI3IG5zX2V2YWx1YXRl ICAgICAgICAgICA6ICoqKiogRXhlY3V0ZSBtZXRob2QgW1xfU0IuUENJMC5QRUcwLl9EU1ddIGF0 IEFNTCBhZGRyZXNzIGZmZmZjOTAwMDAwMTBhMmQgbGVuZ3RoIDFECiAgICA1MC40OTIyODUgcGNp ZXBvcnQgMDAwMDowMDowMS4wOiBQTUUjIGRpc2FibGVkCiAgICA1MC40OTI1ODMgbm91dmVhdSAw MDAwOjAxOjAwLjA6IHVua25vd24gY2hpcHNldCAoZmZmZmZmZmYpCiAgICA1MC40OTI2ODcgbm91 dmVhdTogcHJvYmUgb2YgMDAwMDowMTowMC4wIGZhaWxlZCB3aXRoIGVycm9yIC0xMgogICAgNTAu NTAxOTkwICAgIG5zZXZhbC0wMjI3IG5zX2V2YWx1YXRlICAgICAgICAgICA6ICoqKiogRXhlY3V0 ZSBtZXRob2QgW1xfU0IuUENJMC5QRUcwLl9TMFddIGF0IEFNTCBhZGRyZXNzIGZmZmZjOTAwMDAw MTBhOGUgbGVuZ3RoIDIKICAgIDUwLjUwMjQwMyBwY2llcG9ydCAwMDAwOjAwOjAxLjA6IFBNRSMg ZW5hYmxlZAogICAgNTAuNTAyNjAxICAgIG5zZXZhbC0wMjI3IG5zX2V2YWx1YXRlICAgICAgICAg ICA6ICoqKiogRXhlY3V0ZSBtZXRob2QgW1xfU0IuUENJMC5QRUcwLl9EU1ddIGF0IEFNTCBhZGRy ZXNzIGZmZmZjOTAwMDAwMTBhMmQgbGVuZ3RoIDFECiAgICA1MC41MTMwMDUgICAgbnNldmFsLTAy MjcgbnNfZXZhbHVhdGUgICAgICAgICAgIDogKioqKiBFeGVjdXRlIG1ldGhvZCBbXF9TQi5QQ0kw LlBFRzAuUEcwMC5fT0ZGXSBhdCBBTUwgYWRkcmVzcyBmZmZmYzkwMDAwMDEwOTk0IGxlbmd0aCA2 RAogICAgNTAuNTMzMjU4IHBjaWVwb3J0IDAwMDA6MDA6MDEuMDogcG93ZXIgc3RhdGUgY2hhbmdl ZCBieSBBQ1BJIHRvIEQzY29sZAoKKE5vdGUgdGhhdCB0aGlzIHBhdGNoIGlzIG5vdCBpbmNsdWRl ZC4pIFdoZW4gbm91dmVhdSBpcyBvcGVyYXRpbmcKbm9ybWFsbHksIEkgc2VlIHRoYXQgX1BTMCBp cyBhbHNvIGNhbGxlZCAod2hpY2ggZG9lcyBub3QgaGFwcGVuIGFib3ZlKS4KCklmIHlvdSB0aGlu ayB0aGF0IG1peGluZyBwb3dlciByZXNvdXJjZXMgd2l0aCBEU00gY2F1c2VzIHRoaXMgaXNzdWUs IEkKYWxzbyB0cmllZCB0byBhcHBseSBteSBwb3dlciByZXNvdXJjZXMgd29yayBmb3Igbm91dmVh dSBidXQgaXQgZ2l2ZXMgdGhlCnNhbWUgcHJvYmxlbToKCiAgICAyMC4xODMzMDYgTVhNOiBHVUlE IGRldGVjdGVkIGluIEJJT1MKICAgIDIwLjE4MzYwNiBBQ1BJIFdhcm5pbmc6IFxfU0IuUENJMC5H RlgwLl9EU006IEFyZ3VtZW50ICM0IHR5cGUgbWlzbWF0Y2ggLSBGb3VuZCBbQnVmZmVyXSwgQUNQ SSByZXF1aXJlcyBbUGFja2FnZV0gKDIwMTYwMTA4L25zYXJndW1lbnRzLTk1KQogICAgMjAuMTg0 MTU4IEFDUEkgV2FybmluZzogXF9TQi5QQ0kwLlBFRzAuUEVHUC5fRFNNOiBBcmd1bWVudCAjNCB0 eXBlIG1pc21hdGNoIC0gRm91bmQgW0J1ZmZlcl0sIEFDUEkgcmVxdWlyZXMgW1BhY2thZ2VdICgy MDE2MDEwOC9uc2FyZ3VtZW50cy05NSkKICAgIDIwLjE4NDU0NyBBQ1BJIFdhcm5pbmc6IFxfU0Iu UENJMC5QRUcwLlBFR1AuX0RTTTogQXJndW1lbnQgIzQgdHlwZSBtaXNtYXRjaCAtIEZvdW5kIFtC dWZmZXJdLCBBQ1BJIHJlcXVpcmVzIFtQYWNrYWdlXSAoMjAxNjAxMDgvbnNhcmd1bWVudHMtOTUp CiAgICAyMC4xODUxNTIgcGNpIDAwMDA6MDE6MDAuMDogb3B0aW11cyBjYXBhYmlsaXRpZXM6IGVu YWJsZWQsIHN0YXR1cyBkeW5hbWljIHBvd2VyLCBoZGEgYmlvcyBjb2RlYyBzdXBwb3J0ZWQKICAg IDIwLjE4NTM1MSBWR0Egc3dpdGNoZXJvbzogZGV0ZWN0ZWQgT3B0aW11cyBEU00gbWV0aG9kIFxf U0JfLlBDSTAuUEVHMC5QRUdQIGhhbmRsZQogICAgMjAuMTg1Mzg0IG5vdXZlYXU6IGRldGVjdGVk IFBSIHN1cHBvcnQsIHdpbGwgbm90IHVzZSBEU00KICAgIDIwLjE4NTU1MiBub3V2ZWF1IDAwMDA6 MDE6MDAuMDogZW5hYmxpbmcgZGV2aWNlICgwMDAwIC0+IDAwMDMpCiAgICAyMC4xODU4NzMgbm91 dmVhdSAwMDAwOjAxOjAwLjA6IHVua25vd24gY2hpcHNldCAoZmZmZmZmZmYpCiAgICAyMC4xODU5 NDYgbm91dmVhdTogcHJvYmUgb2YgMDAwMDowMTowMC4wIGZhaWxlZCB3aXRoIGVycm9yIC0xMgoK PiBXaGF0J3MgaGFwcGVuaW5nIGlzLCB0aGUgUENJIGNvcmUgd2lsbCBrZWVwIHVuYm91bmQgZGV2 aWNlcyAoaS5lLiwKPiB3aXRob3V0IGRyaXZlcikgaW4gRDAgYnV0IHRoZSBydW50aW1lIHN0YXR1 cyBpcyBhbGxvd2VkIHRvIGNoYW5nZQo+IHRvICJzdXNwZW5kZWQiLiBTbyBpdCdsbCBhcHBlYXIg dG8gdGhlIGtlcm5lbCBhcyBpZiBpdCB3YXMgc3VzcGVuZGVkCj4gYnV0IGluIHJlYWxpdHkgaXQg c3RheXMgaW4gRDAuCj4gCj4gT25jZSBydW50aW1lIHBtIGZvciBQQ0llIHBvcnRzIGdldHMgbWVy Z2VkLCB0aGUgcm9vdCBwb3J0IGFib3ZlIHRoZQo+IEdQVSB3aWxsIGluZGVlZCBnbyB0byBEMyBp biBzdWNoIGEgc2l0dWF0aW9uIGJlY2F1c2UgdGhlIGNoZWNrCj4gcG1fY2hpbGRyZW5fc3VzcGVu ZGVkKCkgKGNhbGxlZCBmcm9tIHJwbV9jaGVja19zdXNwZW5kX2FsbG93ZWQoKSkKPiByZXR1cm5z IHRydWUuCj4gCj4gSSdtIG5vdCBzdXJlIGlmIHRoaXMgaXMgZGVzaXJhYmxlIG9yIG5vdC4gSWYg d2Uga2VlcCB1bmJvdW5kIGRldmljZXMKPiBpbiBEMCwgc2hvdWxkIHdlIGFsbG93IHBvcnRzIGFi b3ZlIHRoZW0gdG8gZ28gdG8gRDM/CgpNYXliZSBSYWZhZWwgKGxpbnV4LXBtIC8gbGludXgtcGNp KSBjYW4gYW5zd2VyIHRoaXMgcXVlc3Rpb24gYmV0dGVyPwpUaGUgY29tbWVudHMgaW4gbG9jYWxf cGNpX3Byb2JlLCBwY2lfcG1fcnVudGltZV9zdXNwZW5kIGFuZApwY2lfcG1fcnVudGltZV9yZXN1 bWUgc3VnZ2VzdCB0aGF0IHVuYm91bmQgZGV2aWNlcyBhcmUgYXNzdW1lZCBpbiBEMAp3aGljaCBp cyBhcHBhcmVudGx5IG5vdCB0aGUgY2FzZSB3aGVuIHJ1bnRpbWUgUE0gaXMgZW5hYmxlZC4KCj4g SW4gYW55IGNhc2UsIHdoZW4gbm91dmVhdSBpcyBsb2FkZWQgYWdhaW4sIGxvY2FsX3BjaV9wcm9i ZSgpIHdpbGwKPiBjYWxsIHBtX3J1bnRpbWVfZ2V0X3N5bmMoKSwgd2hpY2ggd2lsbCBpbXBsaWNp dGx5IHNldCB0aGUgcnVudGltZQo+IHN0YXR1cyB0byAiYWN0aXZlIiBhbmQgd2hpY2ggc2hvdWxk IGFsc28gd2FrZSBwYXJlbnRzLiBTbyBob3cgZGlkCj4geW91IGV2ZXIgcmVhY2ggYSBwb2ludCB3 aGVyZSB5b3UgbG9hZGVkIG5vdXZlYXUgYW5kIHRoZSByb290IHBvcnQKPiBzdGF5ZWQgYXNsZWVw PyBDbGVhcmx5IHdlIGhhdmUgYSBidWcgdGhlcmUsIHF1ZXN0aW9uIGlzIHdoZXJlLgo+IFRoaXMg c2hvdWxkbid0IHdvcmsgb25seSBpZiBwbV9ydW50aW1lX2ZvcmJpZCgpIHdhcyBjYWxsZWQgb24K PiBkcml2ZXIgdW5sb2FkLgo+IAo+IFRoYW5rcyBmb3IgdGhlIGV4dGVuc2l2ZSB0ZXN0aW5nIQo+ IEx1a2FzCgpCb3RoIGRldmljZXMgKHJvb3QgcG9ydCBhbmQgTnZpZGlhKSB3ZXJlIHJlc3VtZWQs IGJ1dCBzb21laG93IHRoZSBOdmlkaWEKY2FyZCB3YXMgbm90IGZ1bGx5IGluaXRpYWxpemVkL3Jl YWR5IChhcyB5b3UgY2FuIHNlZSBpbiB0aGUgYWJvdmUgbG9ncykuCgpQZXRlcgoKPiA+IAo+ID4g UGV0ZXIKPiA+IAo+ID4gPiAtLS0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZl YXVfZHJtLmMgfCA1ICsrKystCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L25vdXZlYXUvbm91dmVhdV9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVf ZHJtLmMKPiA+ID4gaW5kZXggMTFmOGRkOS4uZmFmNzQzOCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kcm0uYwo+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbm91dmVhdS9ub3V2ZWF1X2RybS5jCj4gPiA+IEBAIC00OTgsNyArNDk4LDEwIEBAIG5v dXZlYXVfZHJtX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gPiAgewo+ID4gPiAg CXN0cnVjdCBub3V2ZWF1X2RybSAqZHJtID0gbm91dmVhdV9kcm0oZGV2KTsKPiA+ID4gIAo+ID4g PiAtCXBtX3J1bnRpbWVfZ2V0X3N5bmMoZGV2LT5kZXYpOwo+ID4gPiArCWlmIChub3V2ZWF1X3J1 bnRpbWVfcG0gIT0gMCkgewo+ID4gPiArCQlwbV9ydW50aW1lX2dldF9zeW5jKGRldi0+ZGV2KTsK PiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gIAlub3V2ZWF1X2ZiY29uX2ZpbmkoZGV2KTsKPiA+ID4g IAlub3V2ZWF1X2FjY2VsX2ZpbmkoZHJtKTsKPiA+ID4gIAlub3V2ZWF1X2h3bW9uX2ZpbmkoZGV2 KTsKPiA+ID4gLS0gCj4gPiA+IDIuOC4xCj4gPiA+IAo+ID4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4gPiBOb3V2ZWF1IG1haWxpbmcgbGlzdAo+ ID4gPiBOb3V2ZWF1QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25vdXZlYXUKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVh dUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==