From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.0 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5C3DFC2D0E4 for ; Tue, 24 Nov 2020 07:50:53 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id DDB43206E5 for ; Tue, 24 Nov 2020 07:50:52 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gmb1mzzF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DDB43206E5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 51EDD6E202; Tue, 24 Nov 2020 07:50:51 +0000 (UTC) Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 874496E1FB; Tue, 24 Nov 2020 07:50:49 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id y4so19823929edy.5; Mon, 23 Nov 2020 23:50:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=reply-to:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=J1b88Ws+nKsoFtXSSclXiq5+497ZNzjVafQpvPrDBOQ=; b=gmb1mzzFwT+ac65Q3/gWGrr36KLUEfhI1qZXbTMavwjqR5Qz3N997sK1BFdMx9P+8E zEfrB4yyyKSaYLYyfmEe7VatuS22LIejd0M3uCAbVCuTcbmTMmZ0gleIV9GLsx+MasFr i4gGkIprUGfJQGaWwOf1xcauKvshsP7NeoDh3pUIsphqXYne877U3y4B+qvGTBlyL3DH p/NQBiLYLWKbgOAUiH0x2Gq3ISXKDfIWDLVDRf48gujKeKBlZ3tQB0canxEY49PHO2Rw k0fBDF9/8p18HH3W1Cfwoq9jFLCAW90qpwoIn4qEkSa05yX2x8R1GEejcrfsd7DROqOE rGnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=J1b88Ws+nKsoFtXSSclXiq5+497ZNzjVafQpvPrDBOQ=; b=d9XJmJmLMkXj/A1Hp518IApNWbW5cCt5x3AeJ98s5hX6ICmEbg5MgkxJ80SX/ocTCq xKpZxlv+bMm0sTPPIgdVADbiOdNJ9xPrhQdelile2kuJ3R/R4x9nRPGbibv6O5rvLKmi JjuL9AAJWXbEAgrW4oj69JHKW1iDhj8oZrkvkoA+NBCbnOeMxx2T0HLLFwAz3EIWittr 7jlV3RZq8d86PkpqeqoJTMnKnyZHp5OqB2bvV7Q90sqSV3OwkP494ISEa005OgFtVc17 0F5FtpgFS8TJVa7FaMz78DhckjiSOqbpKw/Evkbd19aGtswQ8/BQgfft6Y5vogr00Xf7 9s6A== X-Gm-Message-State: AOAM531rvzpMUeOCrSBRfRhIjavmIuthTPAlkTIRkyRTrQqcG1rS8JR7 JIc+6ZB4ZPHpKpjJNhlPxN8= X-Google-Smtp-Source: ABdhPJwNZtc2h7Ioorjbg0DMwaw0s5omnpqMdOQi41SIvM4PSfa+7xcNhqxMrCeBAqFHcCr9O7nQ1w== X-Received: by 2002:a05:6402:c8d:: with SMTP id cm13mr2636702edb.340.1606204248052; Mon, 23 Nov 2020 23:50:48 -0800 (PST) Received: from ?IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7? ([2a02:908:1252:fb60:be8a:bd56:1f94:86e7]) by smtp.gmail.com with ESMTPSA id a9sm6367612eds.50.2020.11.23.23.50.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Nov 2020 23:50:47 -0800 (PST) Subject: Re: [PATCH v3 07/12] drm/sched: Prevent any job recoveries after device is unplugged. To: Luben Tuikov , christian.koenig@amd.com, Andrey Grodzovsky , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel.vetter@ffwll.ch, robh@kernel.org, l.stach@pengutronix.de, yuq825@gmail.com, eric@anholt.net References: <1605936082-3099-1-git-send-email-andrey.grodzovsky@amd.com> <1605936082-3099-8-git-send-email-andrey.grodzovsky@amd.com> <9559011a-0a59-2d1e-ca8c-65860b838c8d@gmail.com> <7763b5b3-de0a-bb8c-9b64-36b58a7e8ee6@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <55bf4baa-be7c-b666-b000-140bca429ab9@gmail.com> Date: Tue, 24 Nov 2020 08:50:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <7763b5b3-de0a-bb8c-9b64-36b58a7e8ee6@amd.com> Content-Language: en-US X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: christian.koenig@amd.com Cc: Alexander.Deucher@amd.com, gregkh@linuxfoundation.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QW0gMjQuMTEuMjAgdW0gMDI6MTIgc2NocmllYiBMdWJlbiBUdWlrb3Y6Cj4gT24gMjAyMC0xMS0y MyAzOjA2IGEubS4sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+IEFtIDIzLjExLjIwIHVtIDA2 OjM3IHNjaHJpZWIgQW5kcmV5IEdyb2R6b3Zza3k6Cj4+PiBPbiAxMS8yMi8yMCA2OjU3IEFNLCBD aHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+Pj4+IEFtIDIxLjExLjIwIHVtIDA2OjIxIHNjaHJpZWIg QW5kcmV5IEdyb2R6b3Zza3k6Cj4+Pj4+IE5vIHBvaW50IHRvIHRyeSByZWNvdmVyeSBpZiBkZXZp Y2UgaXMgZ29uZSwgaXQncyBtZWFuaW5nbGVzcy4KPj4+PiBJIHRoaW5rIHRoYXQgdGhpcyBzaG91 bGQgZ28gaW50byB0aGUgZGV2aWNlIHNwZWNpZmljIHJlY292ZXJ5Cj4+Pj4gZnVuY3Rpb24gYW5k IG5vdCBpbiB0aGUgc2NoZWR1bGVyLgo+Pj4KPj4+IFRoZSB0aW1lb3V0IHRpbWVyIGlzIHJlYXJt ZWQgaGVyZSwgc28gdGhpcyBwcmV2ZW50cyBhbnkgbmV3IHJlY292ZXJ5Cj4+PiB3b3JrIHRvIHJl c3RhcnQgZnJvbSBoZXJlCj4+PiBhZnRlciBkcm1fZGV2X3VucGx1ZyB3YXMgZXhlY3V0ZWQgZnJv bSBhbWRncHVfcGNpX3JlbW92ZS5JdCB3aWxsIG5vdAo+Pj4gY292ZXIgb3RoZXIgcGxhY2VzIGxp a2UKPj4+IGpvYiBjbGVhbnVwIG9yIHN0YXJ0aW5nIG5ldyBqb2IgYnV0IHRob3NlIHNob3VsZCBz dG9wIG9uY2UgdGhlCj4+PiBzY2hlZHVsZXIgdGhyZWFkIGlzIHN0b3BwZWQgbGF0ZXIuCj4+IFll YWgsIGJ1dCB0aGlzIGlzIHJhdGhlciB1bmNsZWFuLiBXZSBzaG91bGQgcHJvYmFibHkgcmV0dXJu IGFuIGVycm9yCj4+IGNvZGUgaW5zdGVhZCBpZiB0aGUgdGltZXIgc2hvdWxkIGJlIHJlYXJtZWQg b3Igbm90Lgo+IENocmlzdGlhbiwgdGhpcyBpcyBleGFjdGx5IG15IHdvcmsgSSB0b2xkIHlvdSBh Ym91dAo+IGxhc3Qgd2VlayBvbiBXZWRuZXNkYXkgaW4gb3VyIHdlZWtseSBtZWV0aW5nLiBBbmQK PiB3aGljaCBJIHdyb3RlIHRvIHlvdSBpbiBhbiBlbWFpbCBsYXN0IHllYXIgYWJvdXQgdGhpcwo+ IHRpbWUuCgpZZWFoLCB0aGF0J3Mgd2h5IEknbSBzdWdnZXN0aW5nIGl0IGhlcmUgYXMgd2VsbC4K Cj4gU28gd2hhdCBkbyB3ZSBkbyBub3c/CgpTcGxpdCB5b3VyIHBhdGNoZXMgaW50byBzbWFsbGVy IHBhcnRzIGFuZCBzdWJtaXQgdGhlbSBjaHVuayBieSBjaHVuay4KCkUuZy4gcmVuYW1lcyBmaXJz dCBhbmQgdGhlbiBmdW5jdGlvbmFsIGNoYW5nZXMgZ3JvdXBlZCBieSBhcmVhIHRoZXkgY2hhbmdl LgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoKPgo+IEkgY2FuIHN1Ym1pdCB0aG9zZSBjaGFuZ2VzIHdp dGhvdXQgdGhlIGxhc3QgcGFydCwKPiB3aGljaCBidWlsZHMgb24gdGhpcyBjaGFuZ2UuCj4KPiBJ J20gc3RpbGwgdGVzdGluZyB0aGUgbGFzdCBwYXJ0IGFuZCB3YXMgaG9waW5nCj4gdG8gc3VibWl0 IGl0IGFsbCBpbiBvbmUgc2VxdWVuY2Ugb2YgcGF0Y2hlcywKPiBhZnRlciBteSB0ZXN0aW5nLgo+ Cj4gUmVnYXJkcywKPiBMdWJlbgo+Cj4+IENocmlzdGlhbi4KPj4KPj4+IEFuZHJleQo+Pj4KPj4+ Cj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92 c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPgo+Pj4+PiAtLS0KPj4+Pj4gIMKgIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jIHzCoCAyICstCj4+Pj4+ICDCoCBk cml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmPCoMKgIHzCoCAzICsrLQo+Pj4+ PiAgwqAgZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9zY2hlZC5jwqDCoMKgwqDCoMKgwqDCoCB8 wqAgMyArKy0KPj4+Pj4gIMKgIGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9qb2Iu Y8KgwqAgfMKgIDIgKy0KPj4+Pj4gIMKgIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRf bWFpbi5jwqDCoMKgIHwgMTUgKysrKysrKysrKysrKystCj4+Pj4+ICDCoCBkcml2ZXJzL2dwdS9k cm0vdjNkL3YzZF9zY2hlZC5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAxNSArKysrKysrKysrLS0t LS0KPj4+Pj4gIMKgIGluY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfMKgIDYgKysrKystCj4+Pj4+ICDCoCA3IGZpbGVzIGNoYW5nZWQsIDM1IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMKPj4+Pj4gYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwo+Pj4+PiBpbmRleCBkNTZmNDAyLi5kMGIw MDIxIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZmVuY2UuYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVu Y2UuYwo+Pj4+PiBAQCAtNDg3LDcgKzQ4Nyw3IEBAIGludCBhbWRncHVfZmVuY2VfZHJpdmVyX2lu aXRfcmluZyhzdHJ1Y3QKPj4+Pj4gYW1kZ3B1X3JpbmcgKnJpbmcsCj4+Pj4+ICDCoCDCoMKgwqDC oMKgwqDCoMKgwqAgciA9IGRybV9zY2hlZF9pbml0KCZyaW5nLT5zY2hlZCwgJmFtZGdwdV9zY2hl ZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG51 bV9od19zdWJtaXNzaW9uLCBhbWRncHVfam9iX2hhbmdfbGltaXQsCj4+Pj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGltZW91dCwgcmluZy0+bmFtZSk7Cj4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGltZW91dCwgcmluZy0+bmFtZSwg JmFkZXYtPmRkZXYpOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChyKSB7Cj4+Pj4+ICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgc2No ZWR1bGVyIG9uIHJpbmcgJXMuXG4iLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmluZy0+bmFtZSk7Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X3NjaGVkLmMKPj4+Pj4gaW5kZXggY2Q0NmM4OC4uNzY3ODI4NyAxMDA2NDQKPj4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jCj4+Pj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfc2NoZWQuYwo+Pj4+PiBAQCAtMTg1 LDcgKzE4NSw4IEBAIGludCBldG5hdml2X3NjaGVkX2luaXQoc3RydWN0IGV0bmF2aXZfZ3B1ICpn cHUpCj4+Pj4+ICDCoCDCoMKgwqDCoMKgIHJldCA9IGRybV9zY2hlZF9pbml0KCZncHUtPnNjaGVk LCAmZXRuYXZpdl9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZXRuYXZpdl9od19qb2JzX2xpbWl0LCBldG5hdml2X2pvYl9oYW5nX2xpbWl0LAo+ Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyg1 MDApLCBkZXZfbmFtZShncHUtPmRldikpOwo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyg1MDApLCBkZXZfbmFtZShncHUtPmRldiksCj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBncHUtPmRybSk7Cj4+Pj4+ICDCoMKg wqDCoMKgIGlmIChyZXQpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+ Pj4gIMKgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3NjaGVkLmMKPj4+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3NjaGVkLmMKPj4+Pj4gaW5kZXggZGM2ZGY5 ZS4uOGE3ZTVkN2NhIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1h X3NjaGVkLmMKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9zY2hlZC5jCj4+ Pj4+IEBAIC01MDUsNyArNTA1LDggQEAgaW50IGxpbWFfc2NoZWRfcGlwZV9pbml0KHN0cnVjdCBs aW1hX3NjaGVkX3BpcGUKPj4+Pj4gKnBpcGUsIGNvbnN0IGNoYXIgKm5hbWUpCj4+Pj4+ICDCoCDC oMKgwqDCoMKgIHJldHVybiBkcm1fc2NoZWRfaW5pdCgmcGlwZS0+YmFzZSwgJmxpbWFfc2NoZWRf b3BzLCAxLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGlt YV9qb2JfaGFuZ19saW1pdCwgbXNlY3NfdG9famlmZmllcyh0aW1lb3V0KSwKPj4+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFtZSk7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5hbWUsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHBpcGUtPmxkZXYtPmRkZXYpOwo+Pj4+PiAgwqAgfQo+Pj4+PiAgwqAgwqAg dm9pZCBsaW1hX3NjaGVkX3BpcGVfZmluaShzdHJ1Y3QgbGltYV9zY2hlZF9waXBlICpwaXBlKQo+ Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2pvYi5j Cj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2pvYi5jCj4+Pj4+IGlu ZGV4IDMwZTdiNzEuLjM3YjAzYjAxIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZy b3N0L3BhbmZyb3N0X2pvYi5jCj4+Pj4+IEBAIC01MjAsNyArNTIwLDcgQEAgaW50IHBhbmZyb3N0 X2pvYl9pbml0KHN0cnVjdCBwYW5mcm9zdF9kZXZpY2UKPj4+Pj4gKnBmZGV2KQo+Pj4+PiAgwqDC oMKgwqDCoMKgwqDCoMKgIHJldCA9IGRybV9zY2hlZF9pbml0KCZqcy0+cXVldWVbal0uc2NoZWQs Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcGFu ZnJvc3Rfc2NoZWRfb3BzLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMSwgMCwgbXNlY3NfdG9famlmZmllcyg1MDApLAo+Pj4+PiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAicGFuX2pzIik7Cj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJwYW5fanMiLCBwZmRldi0+ZGRldik7 Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCkgewo+Pj4+PiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgZGV2X2VycihwZmRldi0+ZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBzY2hl ZHVsZXI6ICVkLiIsCj4+Pj4+IHJldCk7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBnb3RvIGVycl9zY2hlZDsKPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zY2hl ZHVsZXIvc2NoZWRfbWFpbi5jCj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hl ZF9tYWluLmMKPj4+Pj4gaW5kZXggYzNmMGJkMC4uOTVkYjhjNiAxMDA2NDQKPj4+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4+Pj4gQEAgLTUzLDYgKzUzLDcgQEAK Pj4+Pj4gIMKgICNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4+Pj4+ICDCoCAjaW5jbHVkZSA8 ZHJtL2dwdV9zY2hlZHVsZXIuaD4KPj4+Pj4gIMKgICNpbmNsdWRlIDxkcm0vc3BzY19xdWV1ZS5o Pgo+Pj4+PiArI2luY2x1ZGUgPGRybS9kcm1fZHJ2Lmg+Cj4+Pj4+ICDCoCDCoCAjZGVmaW5lIENS RUFURV9UUkFDRV9QT0lOVFMKPj4+Pj4gIMKgICNpbmNsdWRlICJncHVfc2NoZWR1bGVyX3RyYWNl LmgiCj4+Pj4+IEBAIC0yODMsOCArMjg0LDE2IEBAIHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2Jf dGltZWRvdXQoc3RydWN0Cj4+Pj4+IHdvcmtfc3RydWN0ICp3b3JrKQo+Pj4+PiAgwqDCoMKgwqDC oCBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkOwo+Pj4+PiAgwqDCoMKgwqDCoCBzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiAqam9iOwo+Pj4+PiAgwqAgK8KgwqDCoCBpbnQgaWR4Owo+Pj4+PiAr Cj4+Pj4+ICDCoMKgwqDCoMKgIHNjaGVkID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciwKPj4+Pj4gd29ya190ZHIud29yayk7Cj4+Pj4+ICDCoCArwqDCoMKgIGlm ICghZHJtX2Rldl9lbnRlcihzY2hlZC0+ZGRldiwgJmlkeCkpIHsKPj4+Pj4gK8KgwqDCoMKgwqDC oMKgIERSTV9JTkZPKCIlcyAtIGRldmljZSB1bnBsdWdnZWQgc2tpcHBpbmcgcmVjb3Zlcnkgb24K Pj4+Pj4gc2NoZWR1bGVyOiVzIiwKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Z1 bmNfXywgc2NoZWQtPm5hbWUpOwo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4+PiAr wqDCoMKgIH0KPj4+Pj4gKwo+Pj4+PiAgwqDCoMKgwqDCoCAvKiBQcm90ZWN0cyBhZ2FpbnN0IGNv bmN1cnJlbnQgZGVsZXRpb24gaW4KPj4+Pj4gZHJtX3NjaGVkX2dldF9jbGVhbnVwX2pvYiAqLwo+ Pj4+PiAgwqDCoMKgwqDCoCBzcGluX2xvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKPj4+Pj4g IMKgwqDCoMKgwqAgam9iID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZzY2hlZC0+cmluZ19t aXJyb3JfbGlzdCwKPj4+Pj4gQEAgLTMxNiw2ICszMjUsOCBAQCBzdGF0aWMgdm9pZCBkcm1fc2No ZWRfam9iX3RpbWVkb3V0KHN0cnVjdAo+Pj4+PiB3b3JrX3N0cnVjdCAqd29yaykKPj4+Pj4gIMKg wqDCoMKgwqAgc3Bpbl9sb2NrKCZzY2hlZC0+am9iX2xpc3RfbG9jayk7Cj4+Pj4+ICDCoMKgwqDC oMKgIGRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNjaGVkKTsKPj4+Pj4gIMKgwqDCoMKgwqAgc3Bp bl91bmxvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKPj4+Pj4gKwo+Pj4+PiArwqDCoMKgIGRy bV9kZXZfZXhpdChpZHgpOwo+Pj4+PiAgwqAgfQo+Pj4+PiAgwqAgwqDCoCAvKioKPj4+Pj4gQEAg LTg0NSw3ICs4NTYsOCBAQCBpbnQgZHJtX3NjaGVkX2luaXQoc3RydWN0IGRybV9ncHVfc2NoZWR1 bGVyICpzY2hlZCwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBod19z dWJtaXNzaW9uLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGhhbmdf bGltaXQsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9uZyB0aW1lb3V0LAo+Pj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbmFtZSkKPj4+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5hbWUsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oCBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKPj4+Pj4gIMKgIHsKPj4+Pj4gIMKgwqDCoMKgwqAg aW50IGksIHJldDsKPj4+Pj4gIMKgwqDCoMKgwqAgc2NoZWQtPm9wcyA9IG9wczsKPj4+Pj4gQEAg LTg1Myw2ICs4NjUsNyBAQCBpbnQgZHJtX3NjaGVkX2luaXQoc3RydWN0IGRybV9ncHVfc2NoZWR1 bGVyICpzY2hlZCwKPj4+Pj4gIMKgwqDCoMKgwqAgc2NoZWQtPm5hbWUgPSBuYW1lOwo+Pj4+PiAg wqDCoMKgwqDCoCBzY2hlZC0+dGltZW91dCA9IHRpbWVvdXQ7Cj4+Pj4+ICDCoMKgwqDCoMKgIHNj aGVkLT5oYW5nX2xpbWl0ID0gaGFuZ19saW1pdDsKPj4+Pj4gK8KgwqDCoCBzY2hlZC0+ZGRldiA9 IGRkZXY7Cj4+Pj4+ICDCoMKgwqDCoMKgIGZvciAoaSA9IERSTV9TQ0hFRF9QUklPUklUWV9NSU47 IGkgPCBEUk1fU0NIRURfUFJJT1JJVFlfQ09VTlQ7Cj4+Pj4+IGkrKykKPj4+Pj4gIMKgwqDCoMKg wqDCoMKgwqDCoCBkcm1fc2NoZWRfcnFfaW5pdChzY2hlZCwgJnNjaGVkLT5zY2hlZF9ycVtpXSk7 Cj4+Pj4+ICDCoCBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rfc2NoZWQuYwo+ Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMKPj4+Pj4gaW5kZXggMDc0NzYx NC4uZjUwNzZlNSAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rfc2No ZWQuYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jCj4+Pj4+IEBA IC00MDEsNyArNDAxLDggQEAgdjNkX3NjaGVkX2luaXQoc3RydWN0IHYzZF9kZXYgKnYzZCkKPj4+ Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkX2Jpbl9zY2hlZF9v cHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHdfam9ic19s aW1pdCwgam9iX2hhbmdfbGltaXQsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyhoYW5nX2xpbWl0X21zKSwKPj4+Pj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfYmluIik7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAidjNkX2JpbiIsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAmdjNkLT5kcm0pOwo+Pj4+PiAgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+ Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2Vycih2M2QtPmRybS5kZXYsICJGYWlsZWQgdG8g Y3JlYXRlIGJpbiBzY2hlZHVsZXI6Cj4+Pj4+ICVkLiIsIHJldCk7Cj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+Pj4gQEAgLTQxMSw3ICs0MTIsOCBAQCB2M2Rfc2NoZWRf aW5pdChzdHJ1Y3QgdjNkX2RldiAqdjNkKQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICZ2M2RfcmVuZGVyX3NjaGVkX29wcywKPj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBod19qb2JzX2xpbWl0LCBqb2JfaGFuZ19saW1pdCwKPj4+ Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtc2Vjc190b19qaWZmaWVz KGhhbmdfbGltaXRfbXMpLAo+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg InYzZF9yZW5kZXIiKTsKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2 M2RfcmVuZGVyIiwKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZ2M2Qt PmRybSk7Cj4+Pj4+ICDCoMKgwqDCoMKgIGlmIChyZXQpIHsKPj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqDCoCBkZXZfZXJyKHYzZC0+ZHJtLmRldiwgIkZhaWxlZCB0byBjcmVhdGUgcmVuZGVyIHNjaGVk dWxlcjoKPj4+Pj4gJWQuIiwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldCk7 Cj4+Pj4+IEBAIC00MjMsNyArNDI1LDggQEAgdjNkX3NjaGVkX2luaXQoc3RydWN0IHYzZF9kZXYg KnYzZCkKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkX3Rm dV9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg aHdfam9ic19saW1pdCwgam9iX2hhbmdfbGltaXQsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyhoYW5nX2xpbWl0X21zKSwKPj4+Pj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfdGZ1Iik7Cj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAidjNkX3RmdSIsCj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkLT5kcm0pOwo+Pj4+PiAgwqDCoMKgwqDCoCBpZiAo cmV0KSB7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2Vycih2M2QtPmRybS5kZXYsICJG YWlsZWQgdG8gY3JlYXRlIFRGVSBzY2hlZHVsZXI6ICVkLiIsCj4+Pj4+ICDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXQpOwo+Pj4+PiBAQCAtNDM2LDcgKzQzOSw4IEBAIHYzZF9zY2hlZF9p bml0KHN0cnVjdCB2M2RfZGV2ICp2M2QpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkX2NzZF9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBod19qb2JzX2xpbWl0LCBqb2JfaGFu Z19saW1pdCwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG1zZWNzX3RvX2ppZmZpZXMoaGFuZ19saW1pdF9tcyksCj4+Pj4+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfY3NkIik7Cj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfY3NkIiwKPj4+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnYzZC0+ZHJtKTsKPj4+Pj4gIMKgwqDC oMKgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBkZXZfZXJyKHYzZC0+ZHJtLmRldiwgIkZhaWxlZCB0byBjcmVhdGUgQ1NEIHNjaGVkdWxlcjoK Pj4+Pj4gJWQuIiwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0 KTsKPj4+Pj4gQEAgLTQ0OCw3ICs0NTIsOCBAQCB2M2Rfc2NoZWRfaW5pdChzdHJ1Y3QgdjNkX2Rl diAqdjNkKQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgJnYzZF9jYWNoZV9jbGVhbl9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBod19qb2JzX2xpbWl0LCBqb2JfaGFuZ19saW1pdCwK Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1zZWNz X3RvX2ppZmZpZXMoaGFuZ19saW1pdF9tcyksCj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfY2FjaGVfY2xlYW4iKTsKPj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInYzZF9jYWNoZV9jbGVhbiIsCj4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZ2M2QtPmRybSk7Cj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCkgewo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZGV2X2Vycih2M2QtPmRybS5kZXYsICJGYWlsZWQgdG8gY3JlYXRlIENBQ0hFX0NM RUFOCj4+Pj4+IHNjaGVkdWxlcjogJWQuIiwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0KTsKPj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2dwdV9zY2hl ZHVsZXIuaCBiL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAo+Pj4+PiBpbmRleCA5MjQzNjU1 Li5hOTgwNzA5IDEwMDY0NAo+Pj4+PiAtLS0gYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgK Pj4+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oCj4+Pj4+IEBAIC0zMiw2ICsz Miw3IEBACj4+Pj4+ICDCoCDCoCBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXI7Cj4+Pj4+ICDCoCBz dHJ1Y3QgZHJtX3NjaGVkX3JxOwo+Pj4+PiArc3RydWN0IGRybV9kZXZpY2U7Cj4+Pj4+ICDCoCDC oCAvKiBUaGVzZSBhcmUgb2Z0ZW4gdXNlZCBhcyBhbiAoaW5pdGlhbCkgaW5kZXgKPj4+Pj4gIMKg wqAgKiB0byBhbiBhcnJheSwgYW5kIGFzIHN1Y2ggc2hvdWxkIHN0YXJ0IGF0IDAuCj4+Pj4+IEBA IC0yNjcsNiArMjY4LDcgQEAgc3RydWN0IGRybV9zY2hlZF9iYWNrZW5kX29wcyB7Cj4+Pj4+ICDC oMKgICogQHNjb3JlOiBzY29yZSB0byBoZWxwIGxvYWRiYWxhbmNlciBwaWNrIGEgaWRsZSBzY2hl ZAo+Pj4+PiAgwqDCoCAqIEByZWFkeTogbWFya3MgaWYgdGhlIHVuZGVybHlpbmcgSFcgaXMgcmVh ZHkgdG8gd29yawo+Pj4+PiAgwqDCoCAqIEBmcmVlX2d1aWx0eTogQSBoaXQgdG8gdGltZSBvdXQg aGFuZGxlciB0byBmcmVlIHRoZSBndWlsdHkgam9iLgo+Pj4+PiArICogQGRkZXY6IFBvaW50ZXIg dG8gZHJtIGRldmljZSBvZiB0aGlzIHNjaGVkdWxlci4KPj4+Pj4gIMKgwqAgKgo+Pj4+PiAgwqDC oCAqIE9uZSBzY2hlZHVsZXIgaXMgaW1wbGVtZW50ZWQgZm9yIGVhY2ggaGFyZHdhcmUgcmluZy4K Pj4+Pj4gIMKgwqAgKi8KPj4+Pj4gQEAgLTI4OCwxMiArMjkwLDE0IEBAIHN0cnVjdCBkcm1fZ3B1 X3NjaGVkdWxlciB7Cj4+Pj4+ICDCoMKgwqDCoMKgIGF0b21pY190wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzY29yZTsKPj4+Pj4gIMKgwqDCoMKgwqAgYm9v bMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWFkeTsKPj4+Pj4gIMKgwqDCoMKgwqAg Ym9vbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcmVlX2d1aWx0eTsKPj4+Pj4gK8Kg wqDCoCBzdHJ1Y3QgZHJtX2RldmljZcKgwqDCoMKgwqDCoMKgICpkZGV2Owo+Pj4+PiAgwqAgfTsK Pj4+Pj4gIMKgIMKgIGludCBkcm1fc2NoZWRfaW5pdChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBkcm1f c2NoZWRfYmFja2VuZF9vcHMgKm9wcywKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1 aW50MzJfdCBod19zdWJtaXNzaW9uLCB1bnNpZ25lZCBoYW5nX2xpbWl0LCBsb25nIHRpbWVvdXQs Cj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICpuYW1lKTsKPj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5hbWUsCj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldik7Cj4+Pj4+ICDCoCDCoCB2b2lkIGRybV9z Y2hlZF9maW5pKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpOwo+Pj4+PiAgwqAgaW50 IGRybV9zY2hlZF9qb2JfaW5pdChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iLAo+Pj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+IGFtZC1nZnggbWFp bGluZyBsaXN0Cj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4gaHR0cHM6Ly9u YW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJG bGlzdHMuZnJlZWRlc2t0b3Aub3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGYW1kLWdmeCZhbXA7 ZGF0YT0wNCU3QzAxJTdDbHViZW4udHVpa292JTQwYW1kLmNvbSU3QzcyMDZlMDgxODcxNTQ2Y2Rl NTI0MDhkODhmODZhM2MzJTdDM2RkODk2MWZlNDg4NGU2MDhlMTFhODJkOTk0ZTE4M2QlN0MwJTdD MCU3QzYzNzQxNzE1NTcyNTUwNTg3NCU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1D NHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0Ql N0MxMDAwJmFtcDtzZGF0YT1OZWpNc0JtJTJGazlnaGVvUUp2Mjl2SWU5ZjU5amVsazEyVmlGOSUy QnQyVVVXVSUzRCZhbXA7cmVzZXJ2ZWQ9MAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVj dGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbGlzdHMuZnJlZWRlc2t0b3Aub3Jn JTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGZHJpLWRldmVsJmFtcDtkYXRhPTA0JTdDMDElN0NsdWJl bi50dWlrb3YlNDBhbWQuY29tJTdDNzIwNmUwODE4NzE1NDZjZGU1MjQwOGQ4OGY4NmEzYzMlN0Mz ZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzAlN0MwJTdDNjM3NDE3MTU1NzI1NTE1 ODcyJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lW Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wO3NkYXRhPVd0 RGNJRjIySHZDTUpIT2JmRWhMRCUyRjclMkJaMzclMkZ4UUMxNDY1WW9Pck1FamMlM0QmYW1wO3Jl c2VydmVkPTAKPj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1k ZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.0 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN, FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 791D4C56201 for ; Tue, 24 Nov 2020 07:50:52 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EB891206E5 for ; Tue, 24 Nov 2020 07:50:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gmb1mzzF" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EB891206E5 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6AF8F6E203; Tue, 24 Nov 2020 07:50:51 +0000 (UTC) Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 874496E1FB; Tue, 24 Nov 2020 07:50:49 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id y4so19823929edy.5; Mon, 23 Nov 2020 23:50:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=reply-to:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=J1b88Ws+nKsoFtXSSclXiq5+497ZNzjVafQpvPrDBOQ=; b=gmb1mzzFwT+ac65Q3/gWGrr36KLUEfhI1qZXbTMavwjqR5Qz3N997sK1BFdMx9P+8E zEfrB4yyyKSaYLYyfmEe7VatuS22LIejd0M3uCAbVCuTcbmTMmZ0gleIV9GLsx+MasFr i4gGkIprUGfJQGaWwOf1xcauKvshsP7NeoDh3pUIsphqXYne877U3y4B+qvGTBlyL3DH p/NQBiLYLWKbgOAUiH0x2Gq3ISXKDfIWDLVDRf48gujKeKBlZ3tQB0canxEY49PHO2Rw k0fBDF9/8p18HH3W1Cfwoq9jFLCAW90qpwoIn4qEkSa05yX2x8R1GEejcrfsd7DROqOE rGnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-transfer-encoding:content-language; bh=J1b88Ws+nKsoFtXSSclXiq5+497ZNzjVafQpvPrDBOQ=; b=d9XJmJmLMkXj/A1Hp518IApNWbW5cCt5x3AeJ98s5hX6ICmEbg5MgkxJ80SX/ocTCq xKpZxlv+bMm0sTPPIgdVADbiOdNJ9xPrhQdelile2kuJ3R/R4x9nRPGbibv6O5rvLKmi JjuL9AAJWXbEAgrW4oj69JHKW1iDhj8oZrkvkoA+NBCbnOeMxx2T0HLLFwAz3EIWittr 7jlV3RZq8d86PkpqeqoJTMnKnyZHp5OqB2bvV7Q90sqSV3OwkP494ISEa005OgFtVc17 0F5FtpgFS8TJVa7FaMz78DhckjiSOqbpKw/Evkbd19aGtswQ8/BQgfft6Y5vogr00Xf7 9s6A== X-Gm-Message-State: AOAM531rvzpMUeOCrSBRfRhIjavmIuthTPAlkTIRkyRTrQqcG1rS8JR7 JIc+6ZB4ZPHpKpjJNhlPxN8= X-Google-Smtp-Source: ABdhPJwNZtc2h7Ioorjbg0DMwaw0s5omnpqMdOQi41SIvM4PSfa+7xcNhqxMrCeBAqFHcCr9O7nQ1w== X-Received: by 2002:a05:6402:c8d:: with SMTP id cm13mr2636702edb.340.1606204248052; Mon, 23 Nov 2020 23:50:48 -0800 (PST) Received: from ?IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7? ([2a02:908:1252:fb60:be8a:bd56:1f94:86e7]) by smtp.gmail.com with ESMTPSA id a9sm6367612eds.50.2020.11.23.23.50.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Nov 2020 23:50:47 -0800 (PST) Subject: Re: [PATCH v3 07/12] drm/sched: Prevent any job recoveries after device is unplugged. To: Luben Tuikov , christian.koenig@amd.com, Andrey Grodzovsky , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, daniel.vetter@ffwll.ch, robh@kernel.org, l.stach@pengutronix.de, yuq825@gmail.com, eric@anholt.net References: <1605936082-3099-1-git-send-email-andrey.grodzovsky@amd.com> <1605936082-3099-8-git-send-email-andrey.grodzovsky@amd.com> <9559011a-0a59-2d1e-ca8c-65860b838c8d@gmail.com> <7763b5b3-de0a-bb8c-9b64-36b58a7e8ee6@amd.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <55bf4baa-be7c-b666-b000-140bca429ab9@gmail.com> Date: Tue, 24 Nov 2020 08:50:44 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <7763b5b3-de0a-bb8c-9b64-36b58a7e8ee6@amd.com> Content-Language: en-US X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: christian.koenig@amd.com Cc: Alexander.Deucher@amd.com, gregkh@linuxfoundation.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" QW0gMjQuMTEuMjAgdW0gMDI6MTIgc2NocmllYiBMdWJlbiBUdWlrb3Y6Cj4gT24gMjAyMC0xMS0y MyAzOjA2IGEubS4sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+IEFtIDIzLjExLjIwIHVtIDA2 OjM3IHNjaHJpZWIgQW5kcmV5IEdyb2R6b3Zza3k6Cj4+PiBPbiAxMS8yMi8yMCA2OjU3IEFNLCBD aHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+Pj4+IEFtIDIxLjExLjIwIHVtIDA2OjIxIHNjaHJpZWIg QW5kcmV5IEdyb2R6b3Zza3k6Cj4+Pj4+IE5vIHBvaW50IHRvIHRyeSByZWNvdmVyeSBpZiBkZXZp Y2UgaXMgZ29uZSwgaXQncyBtZWFuaW5nbGVzcy4KPj4+PiBJIHRoaW5rIHRoYXQgdGhpcyBzaG91 bGQgZ28gaW50byB0aGUgZGV2aWNlIHNwZWNpZmljIHJlY292ZXJ5Cj4+Pj4gZnVuY3Rpb24gYW5k IG5vdCBpbiB0aGUgc2NoZWR1bGVyLgo+Pj4KPj4+IFRoZSB0aW1lb3V0IHRpbWVyIGlzIHJlYXJt ZWQgaGVyZSwgc28gdGhpcyBwcmV2ZW50cyBhbnkgbmV3IHJlY292ZXJ5Cj4+PiB3b3JrIHRvIHJl c3RhcnQgZnJvbSBoZXJlCj4+PiBhZnRlciBkcm1fZGV2X3VucGx1ZyB3YXMgZXhlY3V0ZWQgZnJv bSBhbWRncHVfcGNpX3JlbW92ZS5JdCB3aWxsIG5vdAo+Pj4gY292ZXIgb3RoZXIgcGxhY2VzIGxp a2UKPj4+IGpvYiBjbGVhbnVwIG9yIHN0YXJ0aW5nIG5ldyBqb2IgYnV0IHRob3NlIHNob3VsZCBz dG9wIG9uY2UgdGhlCj4+PiBzY2hlZHVsZXIgdGhyZWFkIGlzIHN0b3BwZWQgbGF0ZXIuCj4+IFll YWgsIGJ1dCB0aGlzIGlzIHJhdGhlciB1bmNsZWFuLiBXZSBzaG91bGQgcHJvYmFibHkgcmV0dXJu IGFuIGVycm9yCj4+IGNvZGUgaW5zdGVhZCBpZiB0aGUgdGltZXIgc2hvdWxkIGJlIHJlYXJtZWQg b3Igbm90Lgo+IENocmlzdGlhbiwgdGhpcyBpcyBleGFjdGx5IG15IHdvcmsgSSB0b2xkIHlvdSBh Ym91dAo+IGxhc3Qgd2VlayBvbiBXZWRuZXNkYXkgaW4gb3VyIHdlZWtseSBtZWV0aW5nLiBBbmQK PiB3aGljaCBJIHdyb3RlIHRvIHlvdSBpbiBhbiBlbWFpbCBsYXN0IHllYXIgYWJvdXQgdGhpcwo+ IHRpbWUuCgpZZWFoLCB0aGF0J3Mgd2h5IEknbSBzdWdnZXN0aW5nIGl0IGhlcmUgYXMgd2VsbC4K Cj4gU28gd2hhdCBkbyB3ZSBkbyBub3c/CgpTcGxpdCB5b3VyIHBhdGNoZXMgaW50byBzbWFsbGVy IHBhcnRzIGFuZCBzdWJtaXQgdGhlbSBjaHVuayBieSBjaHVuay4KCkUuZy4gcmVuYW1lcyBmaXJz dCBhbmQgdGhlbiBmdW5jdGlvbmFsIGNoYW5nZXMgZ3JvdXBlZCBieSBhcmVhIHRoZXkgY2hhbmdl LgoKUmVnYXJkcywKQ2hyaXN0aWFuLgoKPgo+IEkgY2FuIHN1Ym1pdCB0aG9zZSBjaGFuZ2VzIHdp dGhvdXQgdGhlIGxhc3QgcGFydCwKPiB3aGljaCBidWlsZHMgb24gdGhpcyBjaGFuZ2UuCj4KPiBJ J20gc3RpbGwgdGVzdGluZyB0aGUgbGFzdCBwYXJ0IGFuZCB3YXMgaG9waW5nCj4gdG8gc3VibWl0 IGl0IGFsbCBpbiBvbmUgc2VxdWVuY2Ugb2YgcGF0Y2hlcywKPiBhZnRlciBteSB0ZXN0aW5nLgo+ Cj4gUmVnYXJkcywKPiBMdWJlbgo+Cj4+IENocmlzdGlhbi4KPj4KPj4+IEFuZHJleQo+Pj4KPj4+ Cj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+Cj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJleSBHcm9kem92 c2t5IDxhbmRyZXkuZ3JvZHpvdnNreUBhbWQuY29tPgo+Pj4+PiAtLS0KPj4+Pj4gIMKgIGRyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5jZS5jIHzCoCAyICstCj4+Pj4+ICDCoCBk cml2ZXJzL2dwdS9kcm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmPCoMKgIHzCoCAzICsrLQo+Pj4+ PiAgwqAgZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9zY2hlZC5jwqDCoMKgwqDCoMKgwqDCoCB8 wqAgMyArKy0KPj4+Pj4gIMKgIGRyaXZlcnMvZ3B1L2RybS9wYW5mcm9zdC9wYW5mcm9zdF9qb2Iu Y8KgwqAgfMKgIDIgKy0KPj4+Pj4gIMKgIGRyaXZlcnMvZ3B1L2RybS9zY2hlZHVsZXIvc2NoZWRf bWFpbi5jwqDCoMKgIHwgMTUgKysrKysrKysrKysrKystCj4+Pj4+ICDCoCBkcml2ZXJzL2dwdS9k cm0vdjNkL3YzZF9zY2hlZC5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAxNSArKysrKysrKysrLS0t LS0KPj4+Pj4gIMKgIGluY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgfMKgIDYgKysrKystCj4+Pj4+ICDCoCA3IGZpbGVzIGNoYW5nZWQsIDM1IGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+Pj4+Pgo+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMKPj4+Pj4gYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVuY2UuYwo+Pj4+PiBpbmRleCBkNTZmNDAyLi5kMGIw MDIxIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf ZmVuY2UuYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZmVu Y2UuYwo+Pj4+PiBAQCAtNDg3LDcgKzQ4Nyw3IEBAIGludCBhbWRncHVfZmVuY2VfZHJpdmVyX2lu aXRfcmluZyhzdHJ1Y3QKPj4+Pj4gYW1kZ3B1X3JpbmcgKnJpbmcsCj4+Pj4+ICDCoCDCoMKgwqDC oMKgwqDCoMKgwqAgciA9IGRybV9zY2hlZF9pbml0KCZyaW5nLT5zY2hlZCwgJmFtZGdwdV9zY2hl ZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG51 bV9od19zdWJtaXNzaW9uLCBhbWRncHVfam9iX2hhbmdfbGltaXQsCj4+Pj4+IC3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGltZW91dCwgcmluZy0+bmFtZSk7Cj4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGltZW91dCwgcmluZy0+bmFtZSwg JmFkZXYtPmRkZXYpOwo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChyKSB7Cj4+Pj4+ICDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgc2No ZWR1bGVyIG9uIHJpbmcgJXMuXG4iLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmluZy0+bmFtZSk7Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZXRuYXZpdi9ldG5hdml2X3NjaGVkLmMKPj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vZXRuYXZp di9ldG5hdml2X3NjaGVkLmMKPj4+Pj4gaW5kZXggY2Q0NmM4OC4uNzY3ODI4NyAxMDA2NDQKPj4+ Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V0bmF2aXYvZXRuYXZpdl9zY2hlZC5jCj4+Pj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9ldG5hdml2L2V0bmF2aXZfc2NoZWQuYwo+Pj4+PiBAQCAtMTg1 LDcgKzE4NSw4IEBAIGludCBldG5hdml2X3NjaGVkX2luaXQoc3RydWN0IGV0bmF2aXZfZ3B1ICpn cHUpCj4+Pj4+ICDCoCDCoMKgwqDCoMKgIHJldCA9IGRybV9zY2hlZF9pbml0KCZncHUtPnNjaGVk LCAmZXRuYXZpdl9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZXRuYXZpdl9od19qb2JzX2xpbWl0LCBldG5hdml2X2pvYl9oYW5nX2xpbWl0LAo+ Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyg1 MDApLCBkZXZfbmFtZShncHUtPmRldikpOwo+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyg1MDApLCBkZXZfbmFtZShncHUtPmRldiksCj4+Pj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBncHUtPmRybSk7Cj4+Pj4+ICDCoMKg wqDCoMKgIGlmIChyZXQpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+ Pj4gIMKgIGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3NjaGVkLmMKPj4+ Pj4gYi9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1hX3NjaGVkLmMKPj4+Pj4gaW5kZXggZGM2ZGY5 ZS4uOGE3ZTVkN2NhIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbGltYS9saW1h X3NjaGVkLmMKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2xpbWEvbGltYV9zY2hlZC5jCj4+ Pj4+IEBAIC01MDUsNyArNTA1LDggQEAgaW50IGxpbWFfc2NoZWRfcGlwZV9pbml0KHN0cnVjdCBs aW1hX3NjaGVkX3BpcGUKPj4+Pj4gKnBpcGUsIGNvbnN0IGNoYXIgKm5hbWUpCj4+Pj4+ICDCoCDC oMKgwqDCoMKgIHJldHVybiBkcm1fc2NoZWRfaW5pdCgmcGlwZS0+YmFzZSwgJmxpbWFfc2NoZWRf b3BzLCAxLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGlt YV9qb2JfaGFuZ19saW1pdCwgbXNlY3NfdG9famlmZmllcyh0aW1lb3V0KSwKPj4+Pj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmFtZSk7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5hbWUsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHBpcGUtPmxkZXYtPmRkZXYpOwo+Pj4+PiAgwqAgfQo+Pj4+PiAgwqAgwqAg dm9pZCBsaW1hX3NjaGVkX3BpcGVfZmluaShzdHJ1Y3QgbGltYV9zY2hlZF9waXBlICpwaXBlKQo+ Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2pvYi5j Cj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL3BhbmZyb3N0L3BhbmZyb3N0X2pvYi5jCj4+Pj4+IGlu ZGV4IDMwZTdiNzEuLjM3YjAzYjAxIDEwMDY0NAo+Pj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v cGFuZnJvc3QvcGFuZnJvc3Rfam9iLmMKPj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmZy b3N0L3BhbmZyb3N0X2pvYi5jCj4+Pj4+IEBAIC01MjAsNyArNTIwLDcgQEAgaW50IHBhbmZyb3N0 X2pvYl9pbml0KHN0cnVjdCBwYW5mcm9zdF9kZXZpY2UKPj4+Pj4gKnBmZGV2KQo+Pj4+PiAgwqDC oMKgwqDCoMKgwqDCoMKgIHJldCA9IGRybV9zY2hlZF9pbml0KCZqcy0+cXVldWVbal0uc2NoZWQs Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmcGFu ZnJvc3Rfc2NoZWRfb3BzLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgMSwgMCwgbXNlY3NfdG9famlmZmllcyg1MDApLAo+Pj4+PiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAicGFuX2pzIik7Cj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJwYW5fanMiLCBwZmRldi0+ZGRldik7 Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCkgewo+Pj4+PiAgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgZGV2X2VycihwZmRldi0+ZGV2LCAiRmFpbGVkIHRvIGNyZWF0ZSBzY2hl ZHVsZXI6ICVkLiIsCj4+Pj4+IHJldCk7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBnb3RvIGVycl9zY2hlZDsKPj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zY2hl ZHVsZXIvc2NoZWRfbWFpbi5jCj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hl ZF9tYWluLmMKPj4+Pj4gaW5kZXggYzNmMGJkMC4uOTVkYjhjNiAxMDA2NDQKPj4+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4+Pj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3NjaGVkdWxlci9zY2hlZF9tYWluLmMKPj4+Pj4gQEAgLTUzLDYgKzUzLDcgQEAK Pj4+Pj4gIMKgICNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4+Pj4+ICDCoCAjaW5jbHVkZSA8 ZHJtL2dwdV9zY2hlZHVsZXIuaD4KPj4+Pj4gIMKgICNpbmNsdWRlIDxkcm0vc3BzY19xdWV1ZS5o Pgo+Pj4+PiArI2luY2x1ZGUgPGRybS9kcm1fZHJ2Lmg+Cj4+Pj4+ICDCoCDCoCAjZGVmaW5lIENS RUFURV9UUkFDRV9QT0lOVFMKPj4+Pj4gIMKgICNpbmNsdWRlICJncHVfc2NoZWR1bGVyX3RyYWNl LmgiCj4+Pj4+IEBAIC0yODMsOCArMjg0LDE2IEBAIHN0YXRpYyB2b2lkIGRybV9zY2hlZF9qb2Jf dGltZWRvdXQoc3RydWN0Cj4+Pj4+IHdvcmtfc3RydWN0ICp3b3JrKQo+Pj4+PiAgwqDCoMKgwqDC oCBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnNjaGVkOwo+Pj4+PiAgwqDCoMKgwqDCoCBzdHJ1 Y3QgZHJtX3NjaGVkX2pvYiAqam9iOwo+Pj4+PiAgwqAgK8KgwqDCoCBpbnQgaWR4Owo+Pj4+PiAr Cj4+Pj4+ICDCoMKgwqDCoMKgIHNjaGVkID0gY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciwKPj4+Pj4gd29ya190ZHIud29yayk7Cj4+Pj4+ICDCoCArwqDCoMKgIGlm ICghZHJtX2Rldl9lbnRlcihzY2hlZC0+ZGRldiwgJmlkeCkpIHsKPj4+Pj4gK8KgwqDCoMKgwqDC oMKgIERSTV9JTkZPKCIlcyAtIGRldmljZSB1bnBsdWdnZWQgc2tpcHBpbmcgcmVjb3Zlcnkgb24K Pj4+Pj4gc2NoZWR1bGVyOiVzIiwKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Z1 bmNfXywgc2NoZWQtPm5hbWUpOwo+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+Pj4+PiAr wqDCoMKgIH0KPj4+Pj4gKwo+Pj4+PiAgwqDCoMKgwqDCoCAvKiBQcm90ZWN0cyBhZ2FpbnN0IGNv bmN1cnJlbnQgZGVsZXRpb24gaW4KPj4+Pj4gZHJtX3NjaGVkX2dldF9jbGVhbnVwX2pvYiAqLwo+ Pj4+PiAgwqDCoMKgwqDCoCBzcGluX2xvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKPj4+Pj4g IMKgwqDCoMKgwqAgam9iID0gbGlzdF9maXJzdF9lbnRyeV9vcl9udWxsKCZzY2hlZC0+cmluZ19t aXJyb3JfbGlzdCwKPj4+Pj4gQEAgLTMxNiw2ICszMjUsOCBAQCBzdGF0aWMgdm9pZCBkcm1fc2No ZWRfam9iX3RpbWVkb3V0KHN0cnVjdAo+Pj4+PiB3b3JrX3N0cnVjdCAqd29yaykKPj4+Pj4gIMKg wqDCoMKgwqAgc3Bpbl9sb2NrKCZzY2hlZC0+am9iX2xpc3RfbG9jayk7Cj4+Pj4+ICDCoMKgwqDC oMKgIGRybV9zY2hlZF9zdGFydF90aW1lb3V0KHNjaGVkKTsKPj4+Pj4gIMKgwqDCoMKgwqAgc3Bp bl91bmxvY2soJnNjaGVkLT5qb2JfbGlzdF9sb2NrKTsKPj4+Pj4gKwo+Pj4+PiArwqDCoMKgIGRy bV9kZXZfZXhpdChpZHgpOwo+Pj4+PiAgwqAgfQo+Pj4+PiAgwqAgwqDCoCAvKioKPj4+Pj4gQEAg LTg0NSw3ICs4NTYsOCBAQCBpbnQgZHJtX3NjaGVkX2luaXQoc3RydWN0IGRybV9ncHVfc2NoZWR1 bGVyICpzY2hlZCwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBod19z dWJtaXNzaW9uLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGhhbmdf bGltaXQsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9uZyB0aW1lb3V0LAo+Pj4+ PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbmFtZSkKPj4+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5hbWUsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oCBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldikKPj4+Pj4gIMKgIHsKPj4+Pj4gIMKgwqDCoMKgwqAg aW50IGksIHJldDsKPj4+Pj4gIMKgwqDCoMKgwqAgc2NoZWQtPm9wcyA9IG9wczsKPj4+Pj4gQEAg LTg1Myw2ICs4NjUsNyBAQCBpbnQgZHJtX3NjaGVkX2luaXQoc3RydWN0IGRybV9ncHVfc2NoZWR1 bGVyICpzY2hlZCwKPj4+Pj4gIMKgwqDCoMKgwqAgc2NoZWQtPm5hbWUgPSBuYW1lOwo+Pj4+PiAg wqDCoMKgwqDCoCBzY2hlZC0+dGltZW91dCA9IHRpbWVvdXQ7Cj4+Pj4+ICDCoMKgwqDCoMKgIHNj aGVkLT5oYW5nX2xpbWl0ID0gaGFuZ19saW1pdDsKPj4+Pj4gK8KgwqDCoCBzY2hlZC0+ZGRldiA9 IGRkZXY7Cj4+Pj4+ICDCoMKgwqDCoMKgIGZvciAoaSA9IERSTV9TQ0hFRF9QUklPUklUWV9NSU47 IGkgPCBEUk1fU0NIRURfUFJJT1JJVFlfQ09VTlQ7Cj4+Pj4+IGkrKykKPj4+Pj4gIMKgwqDCoMKg wqDCoMKgwqDCoCBkcm1fc2NoZWRfcnFfaW5pdChzY2hlZCwgJnNjaGVkLT5zY2hlZF9ycVtpXSk7 Cj4+Pj4+ICDCoCBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rfc2NoZWQuYwo+ Pj4+PiBiL2RyaXZlcnMvZ3B1L2RybS92M2QvdjNkX3NjaGVkLmMKPj4+Pj4gaW5kZXggMDc0NzYx NC4uZjUwNzZlNSAxMDA2NDQKPj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3YzZC92M2Rfc2No ZWQuYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdjNkL3YzZF9zY2hlZC5jCj4+Pj4+IEBA IC00MDEsNyArNDAxLDggQEAgdjNkX3NjaGVkX2luaXQoc3RydWN0IHYzZF9kZXYgKnYzZCkKPj4+ Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkX2Jpbl9zY2hlZF9v cHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHdfam9ic19s aW1pdCwgam9iX2hhbmdfbGltaXQsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyhoYW5nX2xpbWl0X21zKSwKPj4+Pj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfYmluIik7Cj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAidjNkX2JpbiIsCj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAmdjNkLT5kcm0pOwo+Pj4+PiAgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+ Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2Vycih2M2QtPmRybS5kZXYsICJGYWlsZWQgdG8g Y3JlYXRlIGJpbiBzY2hlZHVsZXI6Cj4+Pj4+ICVkLiIsIHJldCk7Cj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgwqAgcmV0dXJuIHJldDsKPj4+Pj4gQEAgLTQxMSw3ICs0MTIsOCBAQCB2M2Rfc2NoZWRf aW5pdChzdHJ1Y3QgdjNkX2RldiAqdjNkKQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICZ2M2RfcmVuZGVyX3NjaGVkX29wcywKPj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBod19qb2JzX2xpbWl0LCBqb2JfaGFuZ19saW1pdCwKPj4+ Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtc2Vjc190b19qaWZmaWVz KGhhbmdfbGltaXRfbXMpLAo+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg InYzZF9yZW5kZXIiKTsKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2 M2RfcmVuZGVyIiwKPj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZ2M2Qt PmRybSk7Cj4+Pj4+ICDCoMKgwqDCoMKgIGlmIChyZXQpIHsKPj4+Pj4gIMKgwqDCoMKgwqDCoMKg wqDCoCBkZXZfZXJyKHYzZC0+ZHJtLmRldiwgIkZhaWxlZCB0byBjcmVhdGUgcmVuZGVyIHNjaGVk dWxlcjoKPj4+Pj4gJWQuIiwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldCk7 Cj4+Pj4+IEBAIC00MjMsNyArNDI1LDggQEAgdjNkX3NjaGVkX2luaXQoc3RydWN0IHYzZF9kZXYg KnYzZCkKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkX3Rm dV9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg aHdfam9ic19saW1pdCwgam9iX2hhbmdfbGltaXQsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgbXNlY3NfdG9famlmZmllcyhoYW5nX2xpbWl0X21zKSwKPj4+Pj4g LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfdGZ1Iik7Cj4+Pj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAidjNkX3RmdSIsCj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkLT5kcm0pOwo+Pj4+PiAgwqDCoMKgwqDCoCBpZiAo cmV0KSB7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2Vycih2M2QtPmRybS5kZXYsICJG YWlsZWQgdG8gY3JlYXRlIFRGVSBzY2hlZHVsZXI6ICVkLiIsCj4+Pj4+ICDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCByZXQpOwo+Pj4+PiBAQCAtNDM2LDcgKzQzOSw4IEBAIHYzZF9zY2hlZF9p bml0KHN0cnVjdCB2M2RfZGV2ICp2M2QpCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAmdjNkX2NzZF9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBod19qb2JzX2xpbWl0LCBqb2JfaGFu Z19saW1pdCwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIG1zZWNzX3RvX2ppZmZpZXMoaGFuZ19saW1pdF9tcyksCj4+Pj4+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfY3NkIik7Cj4+Pj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfY3NkIiwKPj4+Pj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJnYzZC0+ZHJtKTsKPj4+Pj4gIMKgwqDC oMKgwqDCoMKgwqDCoCBpZiAocmV0KSB7Cj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBkZXZfZXJyKHYzZC0+ZHJtLmRldiwgIkZhaWxlZCB0byBjcmVhdGUgQ1NEIHNjaGVkdWxlcjoK Pj4+Pj4gJWQuIiwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0 KTsKPj4+Pj4gQEAgLTQ0OCw3ICs0NTIsOCBAQCB2M2Rfc2NoZWRfaW5pdChzdHJ1Y3QgdjNkX2Rl diAqdjNkKQo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgJnYzZF9jYWNoZV9jbGVhbl9zY2hlZF9vcHMsCj4+Pj4+ICDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBod19qb2JzX2xpbWl0LCBqb2JfaGFuZ19saW1pdCwK Pj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1zZWNz X3RvX2ppZmZpZXMoaGFuZ19saW1pdF9tcyksCj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgICJ2M2RfY2FjaGVfY2xlYW4iKTsKPj4+Pj4gK8KgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgInYzZF9jYWNoZV9jbGVhbiIsCj4+Pj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZ2M2QtPmRybSk7Cj4+Pj4+ ICDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHJldCkgewo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZGV2X2Vycih2M2QtPmRybS5kZXYsICJGYWlsZWQgdG8gY3JlYXRlIENBQ0hFX0NM RUFOCj4+Pj4+IHNjaGVkdWxlcjogJWQuIiwKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0KTsKPj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2dwdV9zY2hl ZHVsZXIuaCBiL2luY2x1ZGUvZHJtL2dwdV9zY2hlZHVsZXIuaAo+Pj4+PiBpbmRleCA5MjQzNjU1 Li5hOTgwNzA5IDEwMDY0NAo+Pj4+PiAtLS0gYS9pbmNsdWRlL2RybS9ncHVfc2NoZWR1bGVyLmgK Pj4+Pj4gKysrIGIvaW5jbHVkZS9kcm0vZ3B1X3NjaGVkdWxlci5oCj4+Pj4+IEBAIC0zMiw2ICsz Miw3IEBACj4+Pj4+ICDCoCDCoCBzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXI7Cj4+Pj4+ICDCoCBz dHJ1Y3QgZHJtX3NjaGVkX3JxOwo+Pj4+PiArc3RydWN0IGRybV9kZXZpY2U7Cj4+Pj4+ICDCoCDC oCAvKiBUaGVzZSBhcmUgb2Z0ZW4gdXNlZCBhcyBhbiAoaW5pdGlhbCkgaW5kZXgKPj4+Pj4gIMKg wqAgKiB0byBhbiBhcnJheSwgYW5kIGFzIHN1Y2ggc2hvdWxkIHN0YXJ0IGF0IDAuCj4+Pj4+IEBA IC0yNjcsNiArMjY4LDcgQEAgc3RydWN0IGRybV9zY2hlZF9iYWNrZW5kX29wcyB7Cj4+Pj4+ICDC oMKgICogQHNjb3JlOiBzY29yZSB0byBoZWxwIGxvYWRiYWxhbmNlciBwaWNrIGEgaWRsZSBzY2hl ZAo+Pj4+PiAgwqDCoCAqIEByZWFkeTogbWFya3MgaWYgdGhlIHVuZGVybHlpbmcgSFcgaXMgcmVh ZHkgdG8gd29yawo+Pj4+PiAgwqDCoCAqIEBmcmVlX2d1aWx0eTogQSBoaXQgdG8gdGltZSBvdXQg aGFuZGxlciB0byBmcmVlIHRoZSBndWlsdHkgam9iLgo+Pj4+PiArICogQGRkZXY6IFBvaW50ZXIg dG8gZHJtIGRldmljZSBvZiB0aGlzIHNjaGVkdWxlci4KPj4+Pj4gIMKgwqAgKgo+Pj4+PiAgwqDC oCAqIE9uZSBzY2hlZHVsZXIgaXMgaW1wbGVtZW50ZWQgZm9yIGVhY2ggaGFyZHdhcmUgcmluZy4K Pj4+Pj4gIMKgwqAgKi8KPj4+Pj4gQEAgLTI4OCwxMiArMjkwLDE0IEBAIHN0cnVjdCBkcm1fZ3B1 X3NjaGVkdWxlciB7Cj4+Pj4+ICDCoMKgwqDCoMKgIGF0b21pY190wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzY29yZTsKPj4+Pj4gIMKgwqDCoMKgwqAgYm9v bMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZWFkeTsKPj4+Pj4gIMKgwqDCoMKgwqAg Ym9vbMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcmVlX2d1aWx0eTsKPj4+Pj4gK8Kg wqDCoCBzdHJ1Y3QgZHJtX2RldmljZcKgwqDCoMKgwqDCoMKgICpkZGV2Owo+Pj4+PiAgwqAgfTsK Pj4+Pj4gIMKgIMKgIGludCBkcm1fc2NoZWRfaW5pdChzdHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIg KnNjaGVkLAo+Pj4+PiAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBkcm1f c2NoZWRfYmFja2VuZF9vcHMgKm9wcywKPj4+Pj4gIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1 aW50MzJfdCBod19zdWJtaXNzaW9uLCB1bnNpZ25lZCBoYW5nX2xpbWl0LCBsb25nIHRpbWVvdXQs Cj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBjaGFyICpuYW1lKTsKPj4+Pj4gK8Kg wqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5hbWUsCj4+Pj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoCBzdHJ1Y3QgZHJtX2RldmljZSAqZGRldik7Cj4+Pj4+ICDCoCDCoCB2b2lkIGRybV9z Y2hlZF9maW5pKHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWQpOwo+Pj4+PiAgwqAgaW50 IGRybV9zY2hlZF9qb2JfaW5pdChzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAqam9iLAo+Pj4gX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4+IGFtZC1nZnggbWFp bGluZyBsaXN0Cj4+PiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4gaHR0cHM6Ly9u YW0xMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJG bGlzdHMuZnJlZWRlc2t0b3Aub3JnJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGYW1kLWdmeCZhbXA7 ZGF0YT0wNCU3QzAxJTdDbHViZW4udHVpa292JTQwYW1kLmNvbSU3QzcyMDZlMDgxODcxNTQ2Y2Rl NTI0MDhkODhmODZhM2MzJTdDM2RkODk2MWZlNDg4NGU2MDhlMTFhODJkOTk0ZTE4M2QlN0MwJTdD MCU3QzYzNzQxNzE1NTcyNTUwNTg3NCU3Q1Vua25vd24lN0NUV0ZwYkdac2IzZDhleUpXSWpvaU1D NHdMakF3TURBaUxDSlFJam9pVjJsdU16SWlMQ0pCVGlJNklrMWhhV3dpTENKWFZDSTZNbjAlM0Ql N0MxMDAwJmFtcDtzZGF0YT1OZWpNc0JtJTJGazlnaGVvUUp2Mjl2SWU5ZjU5amVsazEyVmlGOSUy QnQyVVVXVSUzRCZhbXA7cmVzZXJ2ZWQ9MAo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwo+PiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4+IGRyaS1kZXZl bEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0cHM6Ly9uYW0xMS5zYWZlbGlua3MucHJvdGVj dGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbGlzdHMuZnJlZWRlc2t0b3Aub3Jn JTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGZHJpLWRldmVsJmFtcDtkYXRhPTA0JTdDMDElN0NsdWJl bi50dWlrb3YlNDBhbWQuY29tJTdDNzIwNmUwODE4NzE1NDZjZGU1MjQwOGQ4OGY4NmEzYzMlN0Mz ZGQ4OTYxZmU0ODg0ZTYwOGUxMWE4MmQ5OTRlMTgzZCU3QzAlN0MwJTdDNjM3NDE3MTU1NzI1NTE1 ODcyJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFpTENKUUlqb2lW Mmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzEwMDAmYW1wO3NkYXRhPVd0 RGNJRjIySHZDTUpIT2JmRWhMRCUyRjclMkJaMzclMkZ4UUMxNDY1WW9Pck1FamMlM0QmYW1wO3Jl c2VydmVkPTAKPj4KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwo+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4gYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1n ZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=