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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E4B2EC61DBE for ; Wed, 26 Aug 2026 11:58:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:To:Subject:MIME-Version: Date:Message-ID:Reply-To:Cc:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ZFK0brsK6ZT1oGYZfBSKuoDSPquOeSk0lLt4Upa17ro=; b=CPz13XueJ9EQBkk0eVrPyn/Ef7 jjXl9ofrt+3pI1E5oyuagsr5yxczr679WA3Dwq64m9wVJ5/hywR9QSiU5Zxu4W18vQ0fJMMmp7r8X i1NIDDSNo1vgdq02UljUJ/yREcR86YTQEWdfV8bvd3u+LI1a3D69b7pLLhLOyqW3cIfr/uWnaG5rW XKeNnxoHBKnz/wRoB7QGHUmlZdWedBVtod28vHlXNZ44slE3RW1pAh9vwaP35z/BmDquB/vtQ+rwq CCA7Pi9UqsCcX0D51OGvwvJlXksKU3ssSv8o+o7ToEEahpX7e+RfkjhmLDorrzbxx1Ip1DVhYQzgo NfAJAT1Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzCGf-00000002NrU-33mZ; Wed, 26 Aug 2026 11:58:09 +0000 Received: from smtp-out1.suse.de ([195.135.223.130]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzCGW-00000002Npy-3UVZ; Wed, 26 Aug 2026 11:58:04 +0000 Received: from imap1.dmz-prg2.suse.org (unknown [10.150.64.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out1.suse.de (Postfix) with ESMTPS id D82998713F; Wed, 26 Aug 2026 11:57:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1787745473; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=5O0RPXAHTDpM4rhxaVkOk5x9IzoUZQIeJ+6XMym/P3Q=; b=N0EHOdLiLsQf7oNkD3MraUJh2eQ2G9MuvqeD2gZPFCxawKgeOpgIbsIRqBGWF4th9Qmw9P eesmnvnRY+R0y49/CzxieKHz8pyqOkzjhgBXET/JUSfLmGvQwgBedfIjYd7mTM1gdNGGdS /KgGeNimwRlPjJZ9rbBPI2EFB3JvW6k= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1787745473; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=5O0RPXAHTDpM4rhxaVkOk5x9IzoUZQIeJ+6XMym/P3Q=; b=gOpleUyF7vHVloBZC+nKuPaCQww3l/uyz1nG9hGKIe+eZt/Ybz4vZhfROmkqn4YU22Zc9d oAFJ6FSolRvNlSAA== Authentication-Results: smtp-out1.suse.de; none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1787745468; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=5O0RPXAHTDpM4rhxaVkOk5x9IzoUZQIeJ+6XMym/P3Q=; b=yt7xCblzLvo9PG8DGW8T+Ft+C4Cpn0s7uaFUufcko4blInxS3odwCzY0Gh/TN/Um4Je+jT aIHj0yHhuyg2308ECwBMg3pJR7blxs8DmYsUEmWDUUfQ5jRBSvpdJ1qCsR1WIzCNysyBtw jepZdrkZbmMGjZmu41GzG4ekKc7En1o= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1787745468; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc: mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=5O0RPXAHTDpM4rhxaVkOk5x9IzoUZQIeJ+6XMym/P3Q=; b=AAL2lKdrpXuSacDQY6b9q8i5AVvJFZVSE7Wm7NB81dVidWfpMndJN2u7+QuCoNBr4qDq/2 umv0qPzck7EJzlBw== Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 49E9613354; Wed, 26 Aug 2026 11:57:48 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id 8IDXELzUjmpjDAAAD6G6ig (envelope-from ); Wed, 26 Aug 2026 11:57:48 +0000 Message-ID: <23ffe7db-5657-444a-9963-a5715d40658d@suse.de> Date: Wed, 26 Aug 2026 13:57:47 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 3/5] drm/vblank: Remove num_crtcs argument from drm_vblank_init() To: Lyude Paul , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, freedreno@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, nouveau@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-sunxi@lists.linux.dev, asahi@lists.linux.dev, linux-stm32@st-md-mailman.stormreply.com, linux-samsung-soc@vger.kernel.org, linux-amlogic@lists.infradead.org, linux-mediatek@lists.infradead.org, intel-gfx@lists.freedesktop.org, linux-aspeed@lists.ozlabs.org, linux-rockchip@lists.infradead.org, linux-tegra@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-mips@vger.kernel.org, amd-gfx@lists.freedesktop.org, spice-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org, imx@lists.linux.dev References: <20260814203542.1405135-1-lyude@redhat.com> <20260814203542.1405135-4-lyude@redhat.com> Content-Language: en-US From: Thomas Zimmermann Autocrypt: addr=tzimmermann@suse.de; keydata= xsBNBFs50uABCADEHPidWt974CaxBVbrIBwqcq/WURinJ3+2WlIrKWspiP83vfZKaXhFYsdg XH47fDVbPPj+d6tQrw5lPQCyqjwrCPYnq3WlIBnGPJ4/jreTL6V+qfKRDlGLWFjZcsrPJGE0 BeB5BbqP5erN1qylK9i3gPoQjXGhpBpQYwRrEyQyjuvk+Ev0K1Jc5tVDeJAuau3TGNgah4Yc hdHm3bkPjz9EErV85RwvImQ1dptvx6s7xzwXTgGAsaYZsL8WCwDaTuqFa1d1jjlaxg6+tZsB 9GluwvIhSezPgnEmimZDkGnZRRSFiGP8yjqTjjWuf0bSj5rUnTGiyLyRZRNGcXmu6hjlABEB AAHNJ1Rob21hcyBaaW1tZXJtYW5uIDx0emltbWVybWFubkBzdXNlLmRlPsLAjgQTAQgAOAIb AwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftODH AAoJEGgNwR1TC3ojx1wH/0hKGWugiqDgLNXLRD/4TfHBEKmxIrmfu9Z5t7vwUKfwhFL6hqvo lXPJJKQpQ2z8+X2vZm/slsLn7J1yjrOsoJhKABDi+3QWWSGkaGwRJAdPVVyJMfJRNNNIKwVb U6B1BkX2XDKDGffF4TxlOpSQzdtNI/9gleOoUA8+jy8knnDYzjBNOZqLG2FuTdicBXblz0Mf vg41gd9kCwYXDnD91rJU8tzylXv03E75NCaTxTM+FBXPmsAVYQ4GYhhgFt8S2UWMoaaABLDe 7l5FdnLdDEcbmd8uLU2CaG4W2cLrUaI4jz2XbkcPQkqTQ3EB67hYkjiEE6Zy3ggOitiQGcqp j//OwE0EWznS4AEIAMYmP4M/V+T5RY5at/g7rUdNsLhWv1APYrh9RQefODYHrNRHUE9eosYb T6XMryR9hT8XlGOYRwKWwiQBoWSDiTMo/Xi29jUnn4BXfI2px2DTXwc22LKtLAgTRjP+qbU6 3Y0xnQN29UGDbYgyyK51DW3H0If2a3JNsheAAK+Xc9baj0LGIc8T9uiEWHBnCH+RdhgATnWW GKdDegUR5BkDfDg5O/FISymJBHx2Dyoklv5g4BzkgqTqwmaYzsl8UxZKvbaxq0zbehDda8lv hFXodNFMAgTLJlLuDYOGLK2AwbrS3Sp0AEbkpdJBb44qVlGm5bApZouHeJ/+n+7r12+lqdsA EQEAAcLAdgQYAQgAIAIbDBYhBHIX+6yM6c9jRKFo5WgNwR1TC3ojBQJftOH6AAoJEGgNwR1T C3ojVSkIALpAPkIJPQoURPb1VWjh34l0HlglmYHvZszJWTXYwavHR8+k6Baa6H7ufXNQtThR yIxJrQLW6rV5lm7TjhffEhxVCn37+cg0zZ3j7zIsSS0rx/aMwi6VhFJA5hfn3T0TtrijKP4A SAQO9xD1Zk9/61JWk8OysuIh7MXkl0fxbRKWE93XeQBhIJHQfnc+YBLprdnxR446Sh8Wn/2D Ya8cavuWf2zrB6cZurs048xe0UbSW5AOSo4V9M0jzYI4nZqTmPxYyXbm30Kvmz0rYVRaitYJ 4kyYYMhuULvrJDMjZRvaNe52tkKAvMevcGdt38H4KSVXAylqyQOW5zvPc4/sq9c= In-Reply-To: <20260814203542.1405135-4-lyude@redhat.com> X-Spamd-Result: default: False [-4.29 / 50.00]; BAYES_HAM(-3.00)[100.00%]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-0.19)[-0.971]; MIME_GOOD(-0.10)[text/plain]; RCVD_VIA_SMTP_AUTH(0.00)[]; MIME_TRACE(0.00)[0:+]; ARC_NA(0.00)[]; RCPT_COUNT_TWELVE(0.00)[24]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:url,imap1.dmz-prg2.suse.org:helo] X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260826_045801_345339_ECB99CFD X-CRM114-Status: GOOD ( 32.69 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkKCkFtIDE0LjA4LjI2IHVtIDIyOjM1IHNjaHJpZWIgTHl1ZGUgUGF1bDoKPiBBcyBpdCB0dXJu cyBvdXQ6IHRoZSBlbnRpcmUgcmVhc29uIHdlIGV2ZXIgYXNrZWQgZm9yIHRoZSBudW1iZXIgb2Yg Q1JUQ3MgYXMKPiBhIHBhcmFtZXRlciBmb3IgZHJtX3ZibGFua19pbml0KCkgaXMgYmVjYXVzZSB0 aGF0IGZ1bmN0aW9uIHdhcyBwcmV2aW91c2x5Cj4gaW4gY2hhcmdlIG9mIHNldHRpbmcgdXAgdGhl IGxlZ2FjeSBkcm1fZGV2aWNlLm51bV9jcnRjcyB2YXJpYWJsZSwgd2hpY2gKPiBpdHNlbGYgd2Fz IGFsc28gdXNlZCB0byBrZWVwIHRyYWNrIG9mIHdoZXRoZXIgb3Igbm90IGRybV92YmxhbmtfaW5p dCgpIHdhcwo+IGNhbGxlZC4gQW5kLCB0aGF0IG51bWJlciB3YXMga2VwdCBpbiBhZGRpdGlvbiB0 byBhIHByb3Blcmx5IG1haW50YWluZWQKPiBkcm1fZGV2aWNlLT5tb2RlX2NvbmZpZy5udW1fY3J0 Yy4KPgo+IE5vdyB0aGF0IHdlJ3ZlIHJlbW92ZWQgdGhhdCBsZWdhY3kgdmFyaWFibGUgZW50aXJl bHksIGxldCdzIHN0b3AgcmVxdWlyaW5nCj4gdGhlIG51bV9jcnRjIGFyZ3VtZW50IGZvciBkcm1f dmJsYW5rX2luaXQoKSBlbnRpcmVseS4gVGhlIG1haW4gbW90aXZhdGlvbgo+IGZvciB0aGlzIGlz IHRoZSBmYWN0IHRoYXQgYXQgdGhlIG1vbWVudCwgd2UndmUgaGFkIHRvIHdvcmthcm91bmQgdGhp cwo+IG9kZGl0eSBpbiB0aGUgUnVzdCBrZXJuZWwgYmluZGluZ3MgZm9yIGEgZmV3IHJlYXNvbnM6 Cj4KPiAqIFdlIGNhbid0IGtub3cgdGhlIG51bWJlciBvZiBDUlRDcyB1bnRpbCB0aGV5J3ZlIGFs bCBiZWVuIGNyZWF0ZWQsIHdoaWNoCj4gICAgbWVhbnQgdGhhdCB3ZSBoYWQgdG8ga2VlcCB0cmFj ayBvZiB0aGF0Lgo+ICogQWRkaXRpb25hbGx5LCB3ZSBhbHNvIGhhZCB0byBrZWVwIHRyYWNrIG9m IHdoaWNoIENSVENzIGRpZCBhbmQgZGlkIG5vdAo+ICAgIGhhdmUgdmJsYW5rIHN1cHBvcnQuIFRo aXMgaXMgZXNwZWNpYWxseSBzaWxseSwgYmVjYXVzZSBJIGFtIG5vdCBhd2FyZSBvZgo+ICAgIGFu eSBwaHlzaWNhbCBoYXJkd2FyZSB0aGF0IG9ubHkgc3VwcG9ydHMgdmJsYW5rIGludGVycnVwdHMg b24gY2VydGFpbgo+ICAgIGhlYWRzIC0gYW5kIEkgY2FuJ3QgdGhpbmsgb2YgYW55IHJlYXNvbmFi bGUgZXhwbGFuYXRpb24gZm9yIGFueSBoYXJkd2FyZQo+ICAgIG1hbnVmYWN0dXJlciBtYWtpbmcg YSBkZXNpZ24gY2hvaWNlIGxpa2UgdGhhdC4KPiAqIFRoaXMgYWxzbyBpbXBsaWVzIHRoYXQgZHJp dmVycyBjb3VsZCwgd2l0aCB0aGUgY3VycmVudCBDIEFQSSwgcmVnaXN0ZXIKPiAgICB0aGF0IHRo ZXkgaGF2ZSBhIGRpZmZlcmVudCBudW1iZXIgb2YgQ1JUQ3MgdGhlbiB0aGV5IGhhdmUgYWN0dWFs bHkKPiAgICBjcmVhdGVkLiBUaGlzIGFwcGVhcnMgdG8gYmUgYW4gZWRnZSBjYXNlIHRoYXQgY291 bGQgZWFzaWx5IGxlYWQgdG8gVUIKPiAgICBzaW5jZSBpdCdzIG5vdCBvYnZpb3VzIGFuZCBhcyBz dWNoIGhhcyBsaWtlbHkgbmV2ZXIgcmVhbGx5IGJlZW4gdGVzdGVkLgo+ICAgIEFuZCB3ZSBjYW4n dCBoYXZlIHRoYXQgaW4gUnVzdCEKPgo+IFdoaWxlIHRoZSBsYXN0IHBvaW50IGNvdWxkIHRlY2hu aWNhbGx5IHN0aWxsIGJlIGFuIGlzc3VlIGlmIGEgZHJpdmVyCj4gZG9lc24ndCBmaWxsIG91dCB0 aGUgdmJsYW5rIGhhbmRsaW5nIGNhbGxiYWNrcyBmb3IgYWxsIENSVENzLCB0aGlzIGlzIGEKPiBn b29kIHN0YXJ0IGF0IGNsZWFuaW5nIHRoaXMgc3RyYW5nZSBiZWhhdmlvciB1cC4KPgo+IFNvLCBq dXN0IGdldCByaWQgb2YgdGhpcyBwYXJhbWV0ZXIgZW50aXJlbHkgYW5kIHN0YXJ0IHVzaW5nIHRo ZSBEUk0ncwo+IGludGVybmFsIGNvdW50IG9mIENSVENzLiBXZSBhcHBseSB0aGlzIGNoYW5nZSBh Y3Jvc3MgdGhlIHRyZWUgdXNpbmcgdGhpcwo+IGNvY2NpbmVsbGUgcGF0Y2g6CgpJIGhhZCBiZWVu IHdvcmtpbmcgb24gYmV0dGVyIHN1cHBvcnQgZm9yIHNvZnR3YXJlLXRpbWVyIHZibGFuayBldmVu dHMuIApBbmQgZm9yIHVzZXIgc3BhY2UsIHdlIHdhbnRlZCB0byBkaXN0aW5ndWlzaCBiZXR3ZWVu IHJlYWwgSFcgc3VwcG9ydCBhbmQgCnRoZSBzb2Z0d2FyZS1iYXNlZCBpbXBsZW1lbnRhdGlvbi4K ClRoZXJlZm9yZSwgY291bGQgd2Uga2VlcCB0aGUgcGFyYW1ldGVyLCBidXQgcmUtZGVzaWduYXRl IGl0IHRvIGJlIGEgCmZsYWdzIGFyZ3VtZW50PyBBbGwgZHJpdmVycyB3aXRoIHNvZnR3YXJlIHZi bGFuayB0aW1lcnMgd291bGQgZmxhZyB0aGVtIAphcyBzdWNoLgoKQmVzdCByZWdhcmRzClRob21h cwoKCj4KPiAgICB2aXJ0dWFsIHBhdGNoCj4KPiAgICBAZGVwZW5kcyBvbiBwYXRjaEAKPiAgICBl eHByZXNzaW9uIGRldjsKPiAgICBAQAo+Cj4gICAgLSBkcm1fdmJsYW5rX2luaXQoZGV2LCAuLi4p Cj4gICAgKyBkcm1fdmJsYW5rX2luaXQoZGV2KQo+Cj4gQW5kIHRoZW4gZml4dXAgc29tZSBvZiB0 aGUgZnVua3kgd2hpdGVzcGFjZSBlcnJvcnMgdGhhdCBpbnRyb2R1Y2VzIGJ5IGhhbmQuCj4KPiBT aWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQuY29tPgo+IEFzc2lzdGVkLWJ5 OiBDb2NjaW5lbGxlCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYWRwL2FkcF9kcnYuYyAgICAg ICAgICAgICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfdmttcy5jICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdjEwXzAuYyAgICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9kY2VfdjZfMC5jICAgICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jICAgICAgICAgICAgICAgfCAyICstCj4gICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jICAgfCAyICstCj4g ICBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9rbXMuYyAgICAgfCAy ICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5jICAgICAgICAgICAgICAgICAg ICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYyAgICAgICAgICAg ICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYuYyAg ICAgICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYXNwZWVkL2FzcGVlZF9n ZnhfZHJ2LmMgICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxj ZGMvYXRtZWxfaGxjZGNfZGMuYyAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vZHJt X3ZibGFuay5jICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0tLQo+ICAgZHJpdmVycy9n cHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2Rydi5jICAgICAgICAgICAgIHwgMiArLQo+ICAgZHJp dmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9kcm1fZHJ2LmMgICAgICAgICAgIHwgMiArLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZHJ2LmMgICAgICAgICAgICAgICAgICAgIHwg MiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZHJ2LmMg ICAgIHwgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1f ZHJ2LmMgICAgIHwgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2h5cGVydi9oeXBlcnZfZHJtX21v ZGVzZXQuYyAgICAgICAgIHwgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X2RyaXZlci5jIHwgMyArLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pbXgvZGMv ZGMta21zLmMgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p bXgvZGNzcy9kY3NzLWttcy5jICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9pbXgvaXB1djMvaW14LWRybS1jb3JlLmMgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZl cnMvZ3B1L2RybS9pbXgvbGNkYy9pbXgtbGNkYy5jICAgICAgICAgICAgICAgICB8IDIgKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pbmdlbmljL2luZ2VuaWMtZHJtLWRydi5jICAgICAgICAgICB8IDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9rbWIva21iX2Rydi5jICAgICAgICAgICAgICAgICAgICAg ICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9sb2dpY3ZjL2xvZ2ljdmNfbW9kZS5jICAgICAg ICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9sb29uZ3Nvbi9sc2RjX2Rydi5jICAg ICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tY2RlL21jZGVfZHJ2LmMg ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2Rydi5jICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9tZXNv bi9tZXNvbl9kcnYuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2ttcy5jICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMv Z3B1L2RybS9teHNmYi9sY2RpZl9kcnYuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRy aXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jICAgICAgICAgICB8 IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgICAgICAgICAgICAg ICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9wbDExMS9wbDExMV9kcnYuYyAgICAgICAg ICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYyAg ICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2lycV9rbXMuYyAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9yZW5lc2Fz L3JjYXItZHUvcmNhcl9kdV9rbXMuYyAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9y ZW5lc2FzL3J6LWR1L3J6ZzJsX2R1X2ttcy5jICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1 L2RybS9yZW5lc2FzL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYyAgICB8IDIgKy0KPiAgIGRyaXZl cnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMgICAgICAgICB8IDIgKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS9zcHJkL3NwcmRfZHJtLmMgICAgICAgICAgICAgICAgICAgICB8IDIg Ky0KPiAgIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NvbXBvc2l0b3IuYyAgICAgICAgICAgICAg ICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYyAgICAg ICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYyAgICAg ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS90aWRzcy90aWRz c19rbXMuYyAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS90aWxj ZGMvdGlsY2RjX2Rydi5jICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2Ry bS90aW55L2JvY2hzLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMv Z3B1L2RybS90aW55L2NpcnJ1cy1xZW11LmMgICAgICAgICAgICAgICAgICB8IDIgKy0KPiAgIGRy aXZlcnMvZ3B1L2RybS90dmUyMDAvdHZlMjAwX2Rydi5jICAgICAgICAgICAgICAgICB8IDIgKy0K PiAgIGRyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2ttcy5jICAgICAgICAgICAgICAgICAgICAgICB8 IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS92ZXJpc2lsaWNvbi92c19kcm0uYyAgICAgICAgICAg ICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMg ICAgICAgICAgICB8IDIgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmMgICAg ICAgICAgICAgICAgICAgICB8IDMgKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dm eF92a21zLmMgICAgICAgICAgICAgICAgfCAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0veGxueC96 eW5xbXBfa21zLmMgICAgICAgICAgICAgICAgICAgfCAyICstCj4gICBpbmNsdWRlL2RybS9kcm1f dmJsYW5rLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCj4gICA2MCBmaWxlcyBj aGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYWRwL2FkcF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hZHAvYWRw X2Rydi5jCj4gaW5kZXggY2U5ZGQ2MjIyNjM0ZC4uY2MxZWQ2ODgwNmNmMSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vYWRwL2FkcF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h ZHAvYWRwX2Rydi5jCj4gQEAgLTQ0NCw3ICs0NDQsNyBAQCBzdGF0aWMgaW50IGFkcF9zZXR1cF9t b2RlX2NvbmZpZyhzdHJ1Y3QgYWRwX2Rydl9wcml2YXRlICphZHApCj4gICAJaWYgKElTX0VSUihh ZHAtPmNvbm5lY3RvcikpCj4gICAJCXJldHVybiBQVFJfRVJSKGFkcC0+Y29ubmVjdG9yKTsKPiAg IAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSwgZHJtLT5tb2RlX2NvbmZpZy5udW1fY3J0 Yyk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtKTsKPiAgIAlpZiAocmV0IDwgMCkgewo+ ICAgCQlkcm1fZXJyKGRybSwgImZhaWxlZCB0byBpbml0aWFsaXplIHZibGFuayIpOwo+ICAgCQly ZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfdmttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZrbXMuYwo+IGlu ZGV4IDE3MGFkYWY3ZTc2YWIuLjc5YWFhOWQ4ZmNkYWYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZrbXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV92a21zLmMKPiBAQCAtNDEzLDcgKzQxMyw3IEBAIHN0YXRpYyBpbnQg YW1kZ3B1X3ZrbXNfc3dfaW5pdChzdHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrICppcF9ibG9jaykKPiAg IAkJCXJldHVybiByOwo+ICAgCX0KPiAgIAo+IC0JciA9IGRybV92YmxhbmtfaW5pdChhZGV2X3Rv X2RybShhZGV2KSwgYWRldi0+bW9kZV9pbmZvLm51bV9jcnRjKTsKPiArCXIgPSBkcm1fdmJsYW5r X2luaXQoYWRldl90b19kcm0oYWRldikpOwo+ICAgCWlmIChyKQo+ICAgCQlyZXR1cm4gcjsKPiAg IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92MTBfMC5jCj4gaW5kZXggZjI5NzdmZTZk ODI0Mi4uNjQ5ZDMzMTk3MzI4MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9kY2VfdjEwXzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 MTBfMC5jCj4gQEAgLTI4MDksNyArMjgwOSw3IEBAIHN0YXRpYyBpbnQgZGNlX3YxMF8wX3N3X2lu aXQoc3RydWN0IGFtZGdwdV9pcF9ibG9jayAqaXBfYmxvY2spCj4gICAJLyogWFhYOiBjYW4gdGhp cyBiZSBlbmFibGVkIGZvciBEQz8gKi8KPiAgIAlhZGV2X3RvX2RybShhZGV2KS0+dmJsYW5rX2Rp c2FibGVfaW1tZWRpYXRlID0gdHJ1ZTsKPiAgIAo+IC0JciA9IGRybV92YmxhbmtfaW5pdChhZGV2 X3RvX2RybShhZGV2KSwgYWRldi0+bW9kZV9pbmZvLm51bV9jcnRjKTsKPiArCXIgPSBkcm1fdmJs YW5rX2luaXQoYWRldl90b19kcm0oYWRldikpOwo+ICAgCWlmIChyKQo+ICAgCQlyZXR1cm4gcjsK PiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjZfMC5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y2XzAuYwo+IGluZGV4IGM2OGRlMGZl MWQ3ZDMuLmQ4MjI3MmNhM2IzM2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZGNlX3Y2XzAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92 Nl8wLmMKPiBAQCAtMjc1OSw3ICsyNzU5LDcgQEAgc3RhdGljIGludCBkY2VfdjZfMF9zd19pbml0 KHN0cnVjdCBhbWRncHVfaXBfYmxvY2sgKmlwX2Jsb2NrKQo+ICAgCS8qIFhYWDogY2FuIHRoaXMg YmUgZW5hYmxlZCBmb3IgREM/ICovCj4gICAJYWRldl90b19kcm0oYWRldiktPnZibGFua19kaXNh YmxlX2ltbWVkaWF0ZSA9IHRydWU7Cj4gICAKPiAtCXIgPSBkcm1fdmJsYW5rX2luaXQoYWRldl90 b19kcm0oYWRldiksIGFkZXYtPm1vZGVfaW5mby5udW1fY3J0Yyk7Cj4gKwlyID0gZHJtX3ZibGFu a19pbml0KGFkZXZfdG9fZHJtKGFkZXYpKTsKPiAgIAlpZiAocikKPiAgIAkJcmV0dXJuIHI7Cj4g ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKPiBpbmRleCBjMzkwNjI3MGYy NWVmLi43NmQ2ZGIxOTU5NjQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2RjZV92OF8wLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2Vfdjhf MC5jCj4gQEAgLTI3MjgsNyArMjcyOCw3IEBAIHN0YXRpYyBpbnQgZGNlX3Y4XzBfc3dfaW5pdChz dHJ1Y3QgYW1kZ3B1X2lwX2Jsb2NrICppcF9ibG9jaykKPiAgIAkvKiBYWFg6IGNhbiB0aGlzIGJl IGVuYWJsZWQgZm9yIERDPyAqLwo+ICAgCWFkZXZfdG9fZHJtKGFkZXYpLT52YmxhbmtfZGlzYWJs ZV9pbW1lZGlhdGUgPSB0cnVlOwo+ICAgCj4gLQlyID0gZHJtX3ZibGFua19pbml0KGFkZXZfdG9f ZHJtKGFkZXYpLCBhZGV2LT5tb2RlX2luZm8ubnVtX2NydGMpOwo+ICsJciA9IGRybV92Ymxhbmtf aW5pdChhZGV2X3RvX2RybShhZGV2KSk7Cj4gICAJaWYgKHIpCj4gICAJCXJldHVybiByOwo+ICAg Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1k Z3B1X2RtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9k bS5jCj4gaW5kZXggMzhjZmZlMTI3OTg5Ni4uMDdiODM1ODRjN2E5ZCAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYwo+IEBAIC04 OTMsNyArODkzLDcgQEAgc3RhdGljIGludCBhbWRncHVfZG1faW5pdChzdHJ1Y3QgYW1kZ3B1X2Rl dmljZSAqYWRldikKPiAgIAlhZGV2X3RvX2RybShhZGV2KS0+bW9kZV9jb25maWcuY3Vyc29yX3dp ZHRoID0gYWRldi0+ZG0uZGMtPmNhcHMubWF4X2N1cnNvcl9zaXplOwo+ICAgCWFkZXZfdG9fZHJt KGFkZXYpLT5tb2RlX2NvbmZpZy5jdXJzb3JfaGVpZ2h0ID0gYWRldi0+ZG0uZGMtPmNhcHMubWF4 X2N1cnNvcl9zaXplOwo+ICAgCj4gLQlpZiAoZHJtX3ZibGFua19pbml0KGFkZXZfdG9fZHJtKGFk ZXYpLCBhZGV2LT5kbS5kaXNwbGF5X2luZGV4ZXNfbnVtKSkgewo+ICsJaWYgKGRybV92Ymxhbmtf aW5pdChhZGV2X3RvX2RybShhZGV2KSkpIHsKPiAgIAkJZHJtX2VycihhZGV2X3RvX2RybShhZGV2 KSwKPiAgIAkJImZhaWxlZCB0byBpbml0aWFsaXplIHZibGFuayBmb3IgZGlzcGxheSBzdXBwb3J0 LlxuIik7Cj4gICAJCWdvdG8gZXJyb3I7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h cm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfa21zLmMKPiBpbmRleCBmYWE4YjA0MTM3M2E3Li4wMmU3MDM3Yzli NDZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29t ZWRhX2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21l ZGFfa21zLmMKPiBAQCAtMjk3LDcgKzI5Nyw3IEBAIHN0cnVjdCBrb21lZGFfa21zX2RldiAqa29t ZWRhX2ttc19hdHRhY2goc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpCj4gICAJaWYgKGVycikKPiAg IAkJZ290byBjbGVhbnVwX21vZGVfY29uZmlnOwo+ICAgCj4gLQllcnIgPSBkcm1fdmJsYW5rX2lu aXQoZHJtLCBrbXMtPm5fY3J0Y3MpOwo+ICsJZXJyID0gZHJtX3ZibGFua19pbml0KGRybSk7Cj4g ICAJaWYgKGVycikKPiAgIAkJZ290byBjbGVhbnVwX21vZGVfY29uZmlnOwo+ICAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v YXJtL2hkbGNkX2Rydi5jCj4gaW5kZXggODFkNDVmMmRkNmE3MC4uZjM1MzQwNmQwZjdmZCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FybS9oZGxjZF9kcnYuYwo+IEBAIC0yNzUsNyArMjc1LDcgQEAgc3RhdGljIGlu dCBoZGxjZF9kcm1fYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4gICAKPiAgIAlwbV9ydW50aW1l X2VuYWJsZShkZXYpOwo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtLCBkcm0tPm1v ZGVfY29uZmlnLm51bV9jcnRjKTsKPiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0pOwo+ICAg CWlmIChyZXQgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXRpYWxpc2UgdmJs YW5rXG4iKTsKPiAgIAkJZ290byBlcnJfdmJsYW5rOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYXJtL21hbGlkcF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5j Cj4gaW5kZXggMjNmYTk0MmFlNGJiZS4uOTZkZjY3OTA0NDRmZSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0v bWFsaWRwX2Rydi5jCj4gQEAgLTg0OSw3ICs4NDksNyBAQCBzdGF0aWMgaW50IG1hbGlkcF9iaW5k KHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIAlpZiAocmV0IDwgMCkKPiAgIAkJZ290byBpcnFfaW5p dF9mYWlsOwo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtLCBkcm0tPm1vZGVfY29u ZmlnLm51bV9jcnRjKTsKPiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0pOwo+ICAgCWlmIChy ZXQgPCAwKSB7Cj4gICAJCURSTV9FUlJPUigiZmFpbGVkIHRvIGluaXRpYWxpc2UgdmJsYW5rXG4i KTsKPiAgIAkJZ290byB2YmxhbmtfZmFpbDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FybWFkYS9hcm1hZGFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtYWRhL2FybWFkYV9kcnYu Ywo+IGluZGV4IGNhZTI1YWQ2NmM3NDkuLjM2MzhiMTNkMGNlZTkgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FybWFkYS9hcm1hZGFfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YXJtYWRhL2FybWFkYV9kcnYuYwo+IEBAIC0xMjIsNyArMTIyLDcgQEAgc3RhdGljIGludCBhcm1h ZGFfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8g ZXJyX2ttczsKPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KCZwcml2LT5kcm0sIHByaXYt PmRybS5tb2RlX2NvbmZpZy5udW1fY3J0Yyk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoJnBy aXYtPmRybSk7Cj4gICAJaWYgKHJldCkKPiAgIAkJZ290byBlcnJfY29tcDsKPiAgIAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXNwZWVkL2FzcGVlZF9nZnhfZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vYXNwZWVkL2FzcGVlZF9nZnhfZHJ2LmMKPiBpbmRleCBkNDU3NzY2M2ExZjBlLi5i YTc4Njk1ZDEwMTVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3BlZWQvYXNwZWVk X2dmeF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hc3BlZWQvYXNwZWVkX2dmeF9kcnYu Ywo+IEBAIC0yMDUsNyArMjA1LDcgQEAgc3RhdGljIGludCBhc3BlZWRfZ2Z4X2xvYWQoc3RydWN0 IGRybV9kZXZpY2UgKmRybSkKPiAgIAlpZiAocmV0IDwgMCkKPiAgIAkJcmV0dXJuIHJldDsKPiAg IAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSwgMSk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5r X2luaXQoZHJtKTsKPiAgIAlpZiAocmV0IDwgMCkgewo+ICAgCQlkZXZfZXJyKGRybS0+ZGV2LCAi RmFpbGVkIHRvIGluaXRpYWxpc2UgdmJsYW5rXG4iKTsKPiAgIAkJcmV0dXJuIHJldDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMgYi9k cml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYwo+IGluZGV4IDJmNDFi Y2U1NzRkYzUuLjFhNWYyNzM1MjdiYjQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2F0 bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwt aGxjZGMvYXRtZWxfaGxjZGNfZGMuYwo+IEBAIC04NjcsNyArODY3LDcgQEAgc3RhdGljIGludCBh dG1lbF9obGNkY19kY19sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICAKPiAgIAlwbV9y dW50aW1lX2VuYWJsZShkZXYtPmRldik7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChk ZXYsIDEpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldik7Cj4gICAJaWYgKHJldCA8IDAp IHsKPiAgIAkJZHJtX2VycihkZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB2YmxhbmtcbiIpOwo+ ICAgCQlnb3RvIGVycl9wZXJpcGhfY2xrX2Rpc2FibGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fdmJsYW5rLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5jCj4gaW5k ZXggYzZmNjFhMzliNWQxNi4uMTcyODNlODkyMDM3OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX3ZibGFuay5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV92YmxhbmsuYwo+ IEBAIC01MzYsMTggKzUzNiwxOCBAQCBzdGF0aWMgdm9pZCBkcm1fdmJsYW5rX2luaXRfcmVsZWFz ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpwdHIpCj4gICAvKioKPiAgICAqIGRybV92 YmxhbmtfaW5pdCAtIGluaXRpYWxpemUgdmJsYW5rIHN1cHBvcnQKPiAgICAqIEBkZXY6IERSTSBk ZXZpY2UKPiAtICogQG51bV9jcnRjczogbnVtYmVyIG9mIENSVENzIHN1cHBvcnRlZCBieSBAZGV2 Cj4gICAgKgo+IC0gKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHZibGFuayBzdXBwb3J0IGZv ciBAbnVtX2NydGNzIGRpc3BsYXkgcGlwZWxpbmVzLgo+ICsgKiBUaGlzIGZ1bmN0aW9uIGluaXRp YWxpemVzIHZibGFuayBzdXBwb3J0IGZvciBkaXNwbGF5IHBpcGVsaW5lcy4KPiAgICAqIENsZWFu dXAgaXMgaGFuZGxlZCBhdXRvbWF0aWNhbGx5IHRocm91Z2ggYSBjbGVhbnVwIGZ1bmN0aW9uIGFk ZGVkIHdpdGgKPiAgICAqIGRybW1fYWRkX2FjdGlvbl9vcl9yZXNldCgpLgo+ICAgICoKPiAgICAq IFJldHVybnM6Cj4gICAgKiBaZXJvIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2Rl IG9uIGZhaWx1cmUuCj4gICAgKi8KPiAtaW50IGRybV92YmxhbmtfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbnVtX2NydGNzKQo+ICtpbnQgZHJtX3ZibGFua19pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICB7Cj4gICAJaW50IHJldDsKPiArCXVuc2lnbmVk IGludCBudW1fY3J0Y3MgPSBkZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjOwo+ICAgCXVuc2lnbmVk IGludCBpOwo+ICAgCj4gICAJc3Bpbl9sb2NrX2luaXQoJmRldi0+dmJsX2xvY2spOwo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHJ2LmMKPiBpbmRleCA5ZWUzMDA4Njg3OWY5Li40 MmM2MDUzY2RjOWVjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9z X2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9kcnYu Ywo+IEBAIC0yNzMsNyArMjczLDcgQEAgc3RhdGljIGludCBleHlub3NfZHJtX2JpbmQoc3RydWN0 IGRldmljZSAqZGV2KQo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gZXJyX21vZGVfY29uZmlnX2Ns ZWFudXA7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0sIGRybS0+bW9kZV9jb25m aWcubnVtX2NydGMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSk7Cj4gICAJaWYgKHJl dCkKPiAgIAkJZ290byBlcnJfdW5iaW5kX2FsbDsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX2Rydi5jCj4gaW5kZXggM2JiZmMxYjU2YTY1NS4uMzk3Njg1NjViNDM3 ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jCj4gQEAg LTEyMiw3ICsxMjIsNyBAQCBzdGF0aWMgaW50IGZzbF9kY3VfbG9hZChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB1bnNpZ25lZCBsb25nIGZsYWdzKQo+ICAgCQkJcmV0dXJuIGRldl9lcnJfcHJvYmUo ZGV2LT5kZXYsIHJldCwgImZhaWxlZCB0byBlbmFibGUgcGl4Y2xrXG4iKTsKPiAgIAl9Cj4gICAK PiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkZXYsIGRldi0+bW9kZV9jb25maWcubnVtX2NydGMp Owo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldik7Cj4gICAJaWYgKHJldCA8IDApIHsKPiAg IAkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBpbml0aWFsaXplIHZibGFua1xuIik7Cj4g ICAJCWdvdG8gZG9uZV92Ymxhbms7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1 MDAvcHNiX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZHJ2LmMKPiBpbmRleCBk MTdjYjViNGE0YmYyLi5iZWYzMmQyOTA0NmRmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9nbWE1MDAvcHNiX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZHJ2 LmMKPiBAQCAtMzY0LDcgKzM2NCw3IEBAIHN0YXRpYyBpbnQgcHNiX2RyaXZlcl9sb2FkKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCj4gICAJYWNwaV92aWRlb19y ZWdpc3RlcigpOwo+ICAgCj4gICAJLyogU2V0dXAgdmVydGljYWwgYmxhbmtpbmcgaGFuZGxpbmcg Ki8KPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkZXYsIGRldl9wcml2LT5udW1fcGlwZSk7Cj4g KwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2KTsKPiAgIAlpZiAocmV0KQo+ICAgCQlnb3RvIG91 dF9lcnI7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJt Yy9oaWJtY19kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1j X2RybV9kcnYuYwo+IGluZGV4IDRkODVjODlmM2Y4ODIuLjhmNjIyNzMyODMwZTYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9oaWJtYy9oaWJtY19kcm1fZHJ2LmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2hpYm1jL2hpYm1jX2RybV9kcnYuYwo+IEBA IC0zOTgsNyArMzk4LDcgQEAgc3RhdGljIGludCBoaWJtY19sb2FkKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gICAJaWYgKHJldCkKPiAgIAkJZ290byBlcnI7Cj4gICAKPiAtCXJldCA9IGRybV92 YmxhbmtfaW5pdChkZXYsIGRldi0+bW9kZV9jb25maWcubnVtX2NydGMpOwo+ICsJcmV0ID0gZHJt X3ZibGFua19pbml0KGRldik7Cj4gICAJaWYgKHJldCkgewo+ICAgCQlkcm1fZXJyKGRldiwgImZh aWxlZCB0byBpbml0aWFsaXplIHZibGFuazogJWRcbiIsIHJldCk7Cj4gICAJCWdvdG8gZXJyOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2Rydi5jCj4g aW5kZXggOGExMWMyZGY1Yjg4Ni4uNjE3ZDg4ODRlZjY0OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9oaXNpbGljb24va2lyaW4va2lyaW5fZHJtX2Rydi5jCj4gQEAgLTE4MSw3ICsxODEs NyBAQCBzdGF0aWMgaW50IGtpcmluX2RybV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICAgCX0KPiAgIAo+ICAgCS8qIHZibGFuayBpbml0ICovCj4gLQlyZXQgPSBkcm1fdmJsYW5r X2luaXQoZGV2LCBkZXYtPm1vZGVfY29uZmlnLm51bV9jcnRjKTsKPiArCXJldCA9IGRybV92Ymxh bmtfaW5pdChkZXYpOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8g aW5pdGlhbGl6ZSB2YmxhbmsuXG4iKTsKPiAgIAkJZ290byBlcnJfdW5iaW5kX2FsbDsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2h5cGVydi9oeXBlcnZfZHJtX21vZGVzZXQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9oeXBlcnYvaHlwZXJ2X2RybV9tb2Rlc2V0LmMKPiBpbmRleCAxODU1NzQ5 YzFlNDFmLi45OTgzM2Y1Y2UzNjEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oeXBl cnYvaHlwZXJ2X2RybV9tb2Rlc2V0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaHlwZXJ2L2h5 cGVydl9kcm1fbW9kZXNldC5jCj4gQEAgLTMzMCw3ICszMzAsNyBAQCBpbnQgaHZfZHJtX21vZGVf Y29uZmlnX2luaXQoc3RydWN0IGh2X2RybV9kZXZpY2UgKmh2KQo+ICAgCQlyZXR1cm4gcmV0Owo+ ICAgCX0KPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgMSk7Cj4gKwlyZXQgPSBk cm1fdmJsYW5rX2luaXQoZGV2KTsKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAg Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV9kcml2ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9k cml2ZXIuYwo+IGluZGV4IGJiNTMwMWI5MDIzMWEuLjUwMWE0YmM5ZGZkNTAgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X2RyaXZlci5j Cj4gQEAgLTIxNyw4ICsyMTcsNyBAQCBpbnQgaW50ZWxfZGlzcGxheV9kcml2ZXJfcHJvYmVfbm9p cnEoc3RydWN0IGludGVsX2Rpc3BsYXkgKmRpc3BsYXkpCj4gICAJaW50ZWxfYndfaW5pdF9odyhk aXNwbGF5KTsKPiAgIAo+ICAgCWlmIChIQVNfRElTUExBWShkaXNwbGF5KSkgewo+IC0JCXJldCA9 IGRybV92YmxhbmtfaW5pdChkaXNwbGF5LT5kcm0sCj4gLQkJCQkgICAgICBJTlRFTF9OVU1fUElQ RVMoZGlzcGxheSkpOwo+ICsJCXJldCA9IGRybV92YmxhbmtfaW5pdChkaXNwbGF5LT5kcm0pOwo+ ICAgCQlpZiAocmV0KQo+ICAgCQkJZ290byBjbGVhbnVwX29wcmVnaW9uOwo+ICAgCX0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2lteC9kYy9kYy1rbXMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pbXgvZGMvZGMta21zLmMKPiBpbmRleCAwZjhjZmFmNGM0ZDE1Li5mYmZmMzA3Yzg3MjQwIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvZGMvZGMta21zLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaW14L2RjL2RjLWttcy5jCj4gQEAgLTExOCw3ICsxMTgsNyBAQCBpbnQgZGNf a21zX2luaXQoc3RydWN0IGRjX2RybV9kZXZpY2UgKmRjX2RybSkKPiAgIAkJCXJldHVybiByZXQ7 Cj4gICAJfQo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtLCBEQ19ESVNQTEFZUyk7 Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtKTsKPiAgIAlpZiAocmV0KSB7Cj4gICAJCWRl dl9lcnIoZHJtLT5kZXYsICJmYWlsZWQgdG8gaW5pdCB2Ymxhbmsgc3VwcG9ydDogJWRcbiIsIHJl dCk7Cj4gICAJCXJldHVybiByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgv ZGNzcy9kY3NzLWttcy5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9kY3NzL2Rjc3Mta21zLmMKPiBp bmRleCA3YzVhNmUyYmM4OWFjLi5kM2I5ZDY5MjU0MjczIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvZGNzcy9kY3NzLWttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9k Y3NzL2Rjc3Mta21zLmMKPiBAQCAtMTI5LDcgKzEyOSw3IEBAIHN0cnVjdCBkY3NzX2ttc19kZXYg KmRjc3Nfa21zX2F0dGFjaChzdHJ1Y3QgZGNzc19kZXYgKmRjc3MpCj4gICAKPiAgIAlkY3NzX2tt c19tb2RlX2NvbmZpZ19pbml0KGttcyk7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChk cm0sIDEpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSk7Cj4gICAJaWYgKHJldCkKPiAg IAkJZ290byBjbGVhbnVwX21vZGVfY29uZmlnOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pbXgvaXB1djMvaW14LWRybS1jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lw dXYzL2lteC1kcm0tY29yZS5jCj4gaW5kZXggNTFhMGVjMDQzMjQ4NC4uNTNlYTg5NmQ1MzM1MyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaW14L2lwdXYzL2lteC1kcm0tY29yZS5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My9pbXgtZHJtLWNvcmUuYwo+IEBAIC0yMzMs NyArMjMzLDcgQEAgc3RhdGljIGludCBpbXhfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gZXJyX2ttczsKPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFu a19pbml0KGRybSwgTUFYX0NSVEMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSk7Cj4g ICAJaWYgKHJldCkKPiAgIAkJZ290byBlcnJfa21zOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pbXgvbGNkYy9pbXgtbGNkYy5jIGIvZHJpdmVycy9ncHUvZHJtL2lteC9sY2Rj L2lteC1sY2RjLmMKPiBpbmRleCBjNjdmZTgwYjgxMTVlLi5jYzJhMmMzODY3MzBhIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvbGNkYy9pbXgtbGNkYy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2lteC9sY2RjL2lteC1sY2RjLmMKPiBAQCAtNDM1LDcgKzQzNSw3IEBAIHN0YXRp YyBpbnQgaW14X2xjZGNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIAlp ZiAocmV0IDwgMCkKPiAgIAkJcmV0dXJuIGRldl9lcnJfcHJvYmUoZHJtLT5kZXYsIHJldCwgIkNh bm5vdCBzZXR1cCBzaW1wbGUgZGlzcGxheSBwaXBlXG4iKTsKPiAgIAo+IC0JcmV0ID0gZHJtX3Zi bGFua19pbml0KGRybSwgZHJtLT5tb2RlX2NvbmZpZy5udW1fY3J0Yyk7Cj4gKwlyZXQgPSBkcm1f dmJsYW5rX2luaXQoZHJtKTsKPiAgIAlpZiAocmV0IDwgMCkKPiAgIAkJcmV0dXJuIGRldl9lcnJf cHJvYmUoZHJtLT5kZXYsIHJldCwgIkZhaWxlZCB0byBpbml0aWFsaXplIHZibGFua1xuIik7Cj4g ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2luZ2VuaWMvaW5nZW5pYy1kcm0tZHJ2 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaW5nZW5pYy9pbmdlbmljLWRybS1kcnYuYwo+IGluZGV4IDcz OGE4MGIyNTUwZmYuLjRlMTdmNTcwN2U3MDggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2luZ2VuaWMvaW5nZW5pYy1kcm0tZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaW5nZW5p Yy9pbmdlbmljLWRybS1kcnYuYwo+IEBAIC0xMzQ4LDcgKzEzNDgsNyBAQCBzdGF0aWMgaW50IGlu Z2VuaWNfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LCBib29sIGhhc19jb21wb25lbnRzKQo+ ICAgCQlnb3RvIGVycl9kcnZkYXRhOwo+ICAgCX0KPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19p bml0KGRybSwgMSk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtKTsKPiAgIAlpZiAocmV0 KSB7Cj4gICAJCWRldl9lcnIoZGV2LCAiRmFpbGVkIGNhbGxpbmcgZHJtX3ZibGFua19pbml0KClc biIpOwo+ICAgCQlnb3RvIGVycl9kcnZkYXRhOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0va21iL2ttYl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9rbWIva21iX2Rydi5jCj4gaW5kZXgg N2MyZWIxMTUyZmMyZi4uNjAyNjcwMmZhMzFmOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0va21iL2ttYl9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9rbWIva21iX2Rydi5jCj4g QEAgLTE5MSw3ICsxOTEsNyBAQCBzdGF0aWMgaW50IGttYl9zZXR1cF9tb2RlX2NvbmZpZyhzdHJ1 Y3QgZHJtX2RldmljZSAqZHJtKQo+ICAgCXJldCA9IGttYl9kc2lfZW5jb2Rlcl9pbml0KGRybSwg a21iLT5rbWJfZHNpKTsKPiAgIAkvKiBTZXQgdGhlIENSVEMncyBwb3J0IHNvIHRoYXQgdGhlIGVu Y29kZXIgY29tcG9uZW50IGNhbiBmaW5kIGl0ICovCj4gICAJa21iLT5jcnRjLnBvcnQgPSBvZl9n cmFwaF9nZXRfcG9ydF9ieV9pZChkcm0tPmRldi0+b2Zfbm9kZSwgMCk7Cj4gLQlyZXQgPSBkcm1f dmJsYW5rX2luaXQoZHJtLCBkcm0tPm1vZGVfY29uZmlnLm51bV9jcnRjKTsKPiArCXJldCA9IGRy bV92YmxhbmtfaW5pdChkcm0pOwo+ICAgCWlmIChyZXQgPCAwKSB7Cj4gICAJCWRybV9lcnIoZHJt LCAiZmFpbGVkIHRvIGluaXRpYWxpemUgdmJsYW5rXG4iKTsKPiAgIAkJcG1fcnVudGltZV9kaXNh YmxlKGRybS0+ZGV2KTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2xvZ2ljdmMvbG9n aWN2Y19tb2RlLmMgYi9kcml2ZXJzL2dwdS9kcm0vbG9naWN2Yy9sb2dpY3ZjX21vZGUuYwo+IGlu ZGV4IDNjZjA0YjcwYmQyNzEuLjliNjdmMTJmMzI3NTcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2xvZ2ljdmMvbG9naWN2Y19tb2RlLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbG9n aWN2Yy9sb2dpY3ZjX21vZGUuYwo+IEBAIC0zNiw3ICszNiw3IEBAIGludCBsb2dpY3ZjX21vZGVf aW5pdChzdHJ1Y3QgbG9naWN2Y19kcm0gKmxvZ2ljdmMpCj4gICAJdWludDMyX3QgcHJlZmVycmVk X2RlcHRoOwo+ICAgCWludCByZXQ7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm1f ZGV2LCBtb2RlX2NvbmZpZy0+bnVtX2NydGMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRy bV9kZXYpOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJZHJtX2Vycihkcm1fZGV2LCAiRmFpbGVkIHRv IGluaXRpYWxpemUgdmJsYW5rXG4iKTsKPiAgIAkJcmV0dXJuIHJldDsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xzZGNfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbG9v bmdzb24vbHNkY19kcnYuYwo+IGluZGV4IDNmZDgyOGQyMzI3MWMuLjE5YTdlOThlNmNkMDQgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2xvb25nc29uL2xzZGNfZHJ2LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbG9vbmdzb24vbHNkY19kcnYuYwo+IEBAIC0yOTYsNyArMjk2LDcgQEAg c3RhdGljIGludCBsc2RjX3BjaV9wcm9iZShzdHJ1Y3QgcGNpX2RldiAqcGRldiwgY29uc3Qgc3Ry dWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKPiAgIAlkcm1tX2ttc19oZWxwZXJfcG9sbF9pbml0KGRk ZXYpOwo+ICAgCj4gICAJaWYgKGxvb25nc29uX3ZibGFuaykgewo+IC0JCXJldCA9IGRybV92Ymxh bmtfaW5pdChkZGV2LCBkZXNjcC0+bnVtX29mX2NydGMpOwo+ICsJCXJldCA9IGRybV92Ymxhbmtf aW5pdChkZGV2KTsKPiAgIAkJaWYgKHJldCkKPiAgIAkJCXJldHVybiByZXQ7Cj4gICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21jZGUvbWNkZV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tY2RlL21jZGVfZHJ2LmMKPiBpbmRleCA1MzI3NWI1NzVmMGNiLi5mOTQ3NTBkOTNmZDU1IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tY2RlL21jZGVfZHJ2LmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vbWNkZS9tY2RlX2Rydi5jCj4gQEAgLTE3NCw3ICsxNzQsNyBAQCBzdGF0aWMg aW50IG1jZGVfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCj4gICAJbW9kZV9j b25maWctPm1pbl9oZWlnaHQgPSAxOwo+ICAgCW1vZGVfY29uZmlnLT5tYXhfaGVpZ2h0ID0gMTA4 MDsKPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSwgMSk7Cj4gKwlyZXQgPSBkcm1f dmJsYW5rX2luaXQoZHJtKTsKPiAgIAlpZiAocmV0KSB7Cj4gICAJCWRldl9lcnIoZHJtLT5kZXYs ICJmYWlsZWQgdG8gaW5pdCB2YmxhbmtcbiIpOwo+ICAgCQlyZXR1cm4gcmV0Owo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gaW5kZXggYzg2YTNmNTRmMzViYy4uNDBiMzg3 NzM1MGZkOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k cnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jCj4gQEAg LTU3NCw3ICs1NzQsNyBAQCBzdGF0aWMgaW50IG10a19kcm1fa21zX2luaXQoc3RydWN0IGRybV9k ZXZpY2UgKmRybSkKPiAgIAkgKi8KPiAgIAlkbWFfc2V0X21heF9zZWdfc2l6ZShkbWFfZGV2LCBV SU5UX01BWCk7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0sIE1BWF9DUlRDKTsK PiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0pOwo+ICAgCWlmIChyZXQgPCAwKQo+ICAgCQln b3RvIGVycl9jb21wb25lbnRfdW5iaW5kOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZXNvbi9tZXNvbl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZXNvbi9tZXNvbl9kcnYu Ywo+IGluZGV4IDQ5ZmY5ZjFmMTZkMzIuLmQ4N2E5MTEzNWVjYjMgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lc29uL21lc29uX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l c29uL21lc29uX2Rydi5jCj4gQEAgLTI2Miw3ICsyNjIsNyBAQCBzdGF0aWMgaW50IG1lc29uX2Ry dl9iaW5kX21hc3RlcihzdHJ1Y3QgZGV2aWNlICpkZXYsIGJvb2wgaGFzX2NvbXBvbmVudHMpCj4g ICAKPiAgIAlwcml2LT52c3luY19pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOwo+ICAg Cj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtLCAxKTsKPiArCXJldCA9IGRybV92Ymxhbmtf aW5pdChkcm0pOwo+ICAgCWlmIChyZXQpCj4gICAJCWdvdG8gZnJlZV9jYW52YXNfdmQxXzI7Cj4g ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9rbXMuYwo+IGluZGV4IGU1ZDBlYTYyOTQ0ODQuLjIzZjBmMmEyNWVh NjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuYwo+IEBAIC0zMTcsNyArMzE3LDcgQEAgaW50IG1z bV9kcm1fa21zX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBjb25zdCBzdHJ1Y3QgZHJtX2RyaXZl ciAqZHJ2KQo+ICAgCQlzY2hlZF9zZXRfZmlmbyhldl90aHJlYWQtPndvcmtlci0+dGFzayk7Cj4g ICAJfQo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGRldiwgZGRldi0+bW9kZV9jb25m aWcubnVtX2NydGMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRkZXYpOwo+ICAgCWlmIChy ZXQgPCAwKSB7Cj4gICAJCURSTV9ERVZfRVJST1IoZGV2LCAiZmFpbGVkIHRvIGluaXRpYWxpemUg dmJsYW5rXG4iKTsKPiAgIAkJZ290byBlcnJfbXNtX3VuaW5pdDsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL214c2ZiL2xjZGlmX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL214c2ZiL2xj ZGlmX2Rydi5jCj4gaW5kZXggZTIxNzNjNGQ2ZmMyOC4uN2ZhMTU5MWE3NGJkZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbGNkaWZfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbXhzZmIvbGNkaWZfZHJ2LmMKPiBAQCAtMTc1LDcgKzE3NSw3IEBAIHN0YXRpYyBpbnQg bGNkaWZfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtKQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAg CX0KPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSwgZHJtLT5tb2RlX2NvbmZpZy5u dW1fY3J0Yyk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtKTsKPiAgIAlpZiAocmV0IDwg MCkgewo+ICAgCQlkZXZfZXJyKGRybS0+ZGV2LCAiRmFpbGVkIHRvIGluaXRpYWxpc2UgdmJsYW5r XG4iKTsKPiAgIAkJcmV0dXJuIHJldDsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL214 c2ZiL214c2ZiX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Rydi5jCj4gaW5k ZXggOGI0YTUwMDM0N2ZiZC4uODdkMzhhODRlZDE2OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXhzZmIvbXhzZmJfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXhzZmIvbXhz ZmJfZHJ2LmMKPiBAQCAtMjU3LDcgKzI1Nyw3IEBAIHN0YXRpYyBpbnQgbXhzZmJfbG9hZChzdHJ1 Y3QgZHJtX2RldmljZSAqZHJtLAo+ICAgCQlnb3RvIGVycl92Ymxhbms7Cj4gICAJfQo+ICAgCj4g LQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtLCBkcm0tPm1vZGVfY29uZmlnLm51bV9jcnRjKTsK PiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0pOwo+ICAgCWlmIChyZXQgPCAwKSB7Cj4gICAJ CWRldl9lcnIoZHJtLT5kZXYsICJGYWlsZWQgdG8gaW5pdGlhbGlzZSB2YmxhbmtcbiIpOwo+ICAg CQlnb3RvIGVycl92Ymxhbms7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1 L25vdXZlYXVfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNw bGF5LmMKPiBpbmRleCBkNzFkY2ZjNmVlNjZiLi45MzA1ODc2YmRhZDMzIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9kaXNwbGF5LmMKPiBAQCAtNzEzLDcgKzcxMyw3IEBA IG5vdXZlYXVfZGlzcGxheV9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAlkcm1f bW9kZV9jb25maWdfcmVzZXQoZGV2KTsKPiAgIAo+ICAgCWlmIChkZXYtPm1vZGVfY29uZmlnLm51 bV9jcnRjKSB7Cj4gLQkJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgZGV2LT5tb2RlX2NvbmZp Zy5udW1fY3J0Yyk7Cj4gKwkJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldik7Cj4gICAJCWlmIChy ZXQpCj4gICAJCQlnb3RvIHZibGFua19lcnI7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBf ZHJ2LmMKPiBpbmRleCA5MmQ2YTFmOWMwYTFhLi5hYWQ1NzUzMzc4MGNkIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vb21hcGRybS9vbWFwX2Rydi5jCj4gQEAgLTczMSw3ICs3MzEsNyBAQCBzdGF0aWMgaW50IG9t YXBkcm1faW5pdChzdHJ1Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiwgc3RydWN0IGRldmljZSAq ZGV2KQo+ICAgCX0KPiAgIAo+ICAgCS8qIEluaXRpYWxpemUgdmJsYW5rIGhhbmRsaW5nLCBzdGFy dCB3aXRoIGFsbCBDUlRDcyBkaXNhYmxlZC4gKi8KPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChk ZGV2LCBwcml2LT5udW1fcGlwZXMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRkZXYpOwo+ ICAgCWlmIChyZXQpIHsKPiAgIAkJZGV2X2Vycihwcml2LT5kZXYsICJjb3VsZCBub3QgaW5pdCB2 YmxhbmtcbiIpOwo+ICAgCQlnb3RvIGVycl9jbGVhbnVwX21vZGVzZXQ7Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wbDExMS9wbDExMV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9wbDEx MS9wbDExMV9kcnYuYwo+IGluZGV4IDhlYzY1OWIzYzA4ZWIuLmUyMGE2M2FkMWEwZTEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BsMTExL3BsMTExX2Rydi5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BsMTExL3BsMTExX2Rydi5jCj4gQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMg aW50IHBsMTExX21vZGVzZXRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCQlyZXR1 cm4gcmV0Owo+ICAgCj4gICAJaWYgKCFwcml2LT52YXJpYW50LT5icm9rZW5fdmJsYW5rKSB7Cj4g LQkJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgMSk7Cj4gKwkJcmV0ID0gZHJtX3ZibGFua19p bml0KGRldik7Cj4gICAJCWlmIChyZXQgIT0gMCkgewo+ICAgCQkJZHJtX2VycihkZXYsICJGYWls ZWQgdG8gaW5pdCB2YmxhbmtcbiIpOwo+ICAgCQkJZ290byBvdXRfYnJpZGdlOwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v cXhsL3F4bF9kaXNwbGF5LmMKPiBpbmRleCA3ZjQxNzg4MDBhZmQ3Li4wZWQ5M2JlMDQzOWYxIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9xeGwvcXhsX2Rpc3BsYXkuYwo+IEBAIC0xMzA0LDcgKzEzMDQsNyBAQCBp bnQgcXhsX21vZGVzZXRfaW5pdChzdHJ1Y3QgcXhsX2RldmljZSAqcWRldikKPiAgIAo+ICAgCXF4 bF9kaXNwbGF5X3JlYWRfY2xpZW50X21vbml0b3JzX2NvbmZpZyhxZGV2KTsKPiAgIAo+IC0JcmV0 ID0gZHJtX3ZibGFua19pbml0KCZxZGV2LT5kZGV2LCBxeGxfbnVtX2NydGMpOwo+ICsJcmV0ID0g ZHJtX3ZibGFua19pbml0KCZxZGV2LT5kZGV2KTsKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4g cmV0Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2ly cV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2lycV9rbXMuYwo+IGluZGV4 IDgzOWQ2MTllNTYwMmIuLmU2ODgwZDNmNjY1ZWUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JhZGVvbi9yYWRlb25faXJxX2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25faXJxX2ttcy5jCj4gQEAgLTMxNCw3ICszMTQsNyBAQCBpbnQgcmFkZW9uX2lycV9r bXNfaW5pdChzdHJ1Y3QgcmFkZW9uX2RldmljZSAqcmRldikKPiAgIAkvKiBEaXNhYmxlIHZibGFu ayBpcnFzIGFnZ3Jlc3NpdmVseSBmb3IgcG93ZXItc2F2aW5nICovCj4gICAJcmRldl90b19kcm0o cmRldiktPnZibGFua19kaXNhYmxlX2ltbWVkaWF0ZSA9IHRydWU7Cj4gICAKPiAtCXIgPSBkcm1f dmJsYW5rX2luaXQocmRldl90b19kcm0ocmRldiksIHJkZXYtPm51bV9jcnRjKTsKPiArCXIgPSBk cm1fdmJsYW5rX2luaXQocmRldl90b19kcm0ocmRldikpOwo+ICAgCWlmIChyKSB7Cj4gICAJCXJl dHVybiByOwo+ICAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMvcmNh ci1kdS9yY2FyX2R1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMvcmNhci1kdS9yY2Fy X2R1X2ttcy5jCj4gaW5kZXggOTIyOGE3YWQwZGZhNC4uYzllMjlkYTUzZDA1NiAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vcmVuZXNhcy9yY2FyLWR1L3JjYXJfZHVfa21zLmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vcmVuZXNhcy9yY2FyLWR1L3JjYXJfZHVfa21zLmMKPiBAQCAtODg4 LDcgKzg4OCw3IEBAIGludCByY2FyX2R1X21vZGVzZXRfaW5pdChzdHJ1Y3QgcmNhcl9kdV9kZXZp Y2UgKnJjZHUpCj4gICAJICogSW5pdGlhbGl6ZSB2ZXJ0aWNhbCBibGFua2luZyBpbnRlcnJ1cHRz IGhhbmRsaW5nLiBTdGFydCB3aXRoIHZibGFuawo+ICAgCSAqIGRpc2FibGVkIGZvciBhbGwgQ1JU Q3MuCj4gICAJICovCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2LCByY2R1LT5udW1fY3J0 Y3MpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRldik7Cj4gICAJaWYgKHJldCA8IDApCj4g ICAJCXJldHVybiByZXQ7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JlbmVz YXMvcnotZHUvcnpnMmxfZHVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmVuZXNhcy9yei1kdS9y emcybF9kdV9rbXMuYwo+IGluZGV4IDg3ZjE3MTE0NWEyMzAuLjQ5N2YzODkxYzU4NmEgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMvcnotZHUvcnpnMmxfZHVfa21zLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vcmVuZXNhcy9yei1kdS9yemcybF9kdV9rbXMuYwo+IEBAIC00 MzAsNyArNDMwLDcgQEAgaW50IHJ6ZzJsX2R1X21vZGVzZXRfaW5pdChzdHJ1Y3QgcnpnMmxfZHVf ZGV2aWNlICpyY2R1KQo+ICAgCSAqIEluaXRpYWxpemUgdmVydGljYWwgYmxhbmtpbmcgaW50ZXJy dXB0cyBoYW5kbGluZy4gU3RhcnQgd2l0aCB2YmxhbmsKPiAgIAkgKiBkaXNhYmxlZCBmb3IgYWxs IENSVENzLgo+ICAgCSAqLwo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRldiwgcmNkdS0+bnVt X2NydGNzKTsKPiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkZXYpOwo+ICAgCWlmIChyZXQgPCAw KQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9y ZW5lc2FzL3NobW9iaWxlL3NobW9iX2RybV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yZW5lc2Fz L3NobW9iaWxlL3NobW9iX2RybV9kcnYuYwo+IGluZGV4IDJmMzE4MjJiMjI0NTguLjcxM2ExYWJi MzY0YjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMvc2htb2JpbGUvc2ht b2JfZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JlbmVzYXMvc2htb2JpbGUvc2ht b2JfZHJtX2Rydi5jCj4gQEAgLTIyOCw3ICsyMjgsNyBAQCBzdGF0aWMgaW50IHNobW9iX2RybV9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAgCWlmIChyZXQpCj4gICAJCXJl dHVybiByZXQ7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkZGV2LCAxKTsKPiArCXJl dCA9IGRybV92YmxhbmtfaW5pdChkZGV2KTsKPiAgIAlpZiAocmV0IDwgMCkgewo+ICAgCQlkZXZf ZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB2YmxhbmtcbiIpOwo+ICAgCQly ZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2No aXBfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYu Ywo+IGluZGV4IDMwOTk0MDhlOWQwNTAuLjZlMTRjMzgzMmFiZmYgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmMKPiBAQCAtMTg2LDcgKzE4Niw3IEBA IHN0YXRpYyBpbnQgcm9ja2NoaXBfZHJtX2JpbmQoc3RydWN0IGRldmljZSAqZGV2KQo+ICAgCWlm IChyZXQpCj4gICAJCWdvdG8gZXJyX3VuYmluZF9hbGw7Cj4gICAKPiAtCXJldCA9IGRybV92Ymxh bmtfaW5pdChkcm1fZGV2LCBkcm1fZGV2LT5tb2RlX2NvbmZpZy5udW1fY3J0Yyk7Cj4gKwlyZXQg PSBkcm1fdmJsYW5rX2luaXQoZHJtX2Rldik7Cj4gICAJaWYgKHJldCkKPiAgIAkJZ290byBlcnJf aW9tbXVfY2xlYW51cDsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3ByZC9z cHJkX2RybS5jIGIvZHJpdmVycy9ncHUvZHJtL3NwcmQvc3ByZF9kcm0uYwo+IGluZGV4IGMyZmQ1 MzgwYTgzNGYuLmE0OTI0N2E2Y2MyNWQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Nw cmQvc3ByZF9kcm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zcHJkL3NwcmRfZHJtLmMKPiBA QCAtODksNyArODksNyBAQCBzdGF0aWMgaW50IHNwcmRfZHJtX2JpbmQoc3RydWN0IGRldmljZSAq ZGV2KQo+ICAgCX0KPiAgIAo+ICAgCS8qIHZibGFuayBpbml0ICovCj4gLQlyZXQgPSBkcm1fdmJs YW5rX2luaXQoZHJtLCBkcm0tPm1vZGVfY29uZmlnLm51bV9jcnRjKTsKPiArCXJldCA9IGRybV92 YmxhbmtfaW5pdChkcm0pOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJZHJtX2Vycihkcm0sICJmYWls ZWQgdG8gaW5pdGlhbGl6ZSB2YmxhbmsuXG4iKTsKPiAgIAkJZ290byBlcnJfdW5iaW5kX2FsbDsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY29tcG9zaXRvci5jIGIvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfY29tcG9zaXRvci5jCj4gaW5kZXggOGM1MjliMGNjYThiNC4u NTQ3ODgyNmFlYjQyMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jb21w b3NpdG9yLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jb21wb3NpdG9yLmMKPiBA QCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyBpbnQgc3RpX2NvbXBvc2l0b3JfYmluZChzdHJ1Y3Qg ZGV2aWNlICpkZXYsCj4gICAJCX0KPiAgIAl9Cj4gICAKPiAtCWRybV92YmxhbmtfaW5pdChkcm1f ZGV2LCBjcnRjX2lkKTsKPiArCWRybV92YmxhbmtfaW5pdChkcm1fZGV2KTsKPiAgIAo+ICAgCXJl dHVybiAwOwo+ICAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYyBi L2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jCj4gaW5kZXggODgxOGRjZjk4ZGE3OS4uMWU4YWM3 YmJiZWE1YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RtL2x0ZGMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9zdG0vbHRkYy5jCj4gQEAgLTIwNzYsNyArMjA3Niw3IEBAIGludCBs dGRjX2xvYWQoc3RydWN0IGRybV9kZXZpY2UgKmRkZXYpCj4gICAJCWdvdG8gZXJyOwo+ICAgCX0K PiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRkZXYsIE5CX0NSVEMpOwo+ICsJcmV0ID0g ZHJtX3ZibGFua19pbml0KGRkZXYpOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJZHJtX2VycihkZGV2 LCAiRmFpbGVkIGNhbGxpbmcgZHJtX3ZibGFua19pbml0KClcbiIpOwo+ICAgCQlnb3RvIGVycjsK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jIGIvZHJpdmVy cy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jCj4gaW5kZXggZTliYWNhMzYwMTYwYi4uYjc0YWIx YmNiNDFlZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfZHJ2LmMKPiBAQCAtOTUsNyArOTUs NyBAQCBzdGF0aWMgaW50IHN1bjRpX2Rydl9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldikKPiAgIAl9 Cj4gICAKPiAgIAkvKiBkcm1fdmJsYW5rX2luaXQgY2FsbHMga2NhbGxvYywgd2hpY2ggY2FuIGZh aWwgKi8KPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkcm0sIGRybS0+bW9kZV9jb25maWcubnVt X2NydGMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KGRybSk7Cj4gICAJaWYgKHJldCkKPiAg IAkJZ290byB1bmJpbmRfYWxsOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 ZWdyYS9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9kcm0uYwo+IGluZGV4IDMyNDQ4MGM4 N2ZiMWYuLmQ1ZmU4ZjM1MTA3ZTkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3RlZ3Jh L2RybS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2RybS5jCj4gQEAgLTEyNDEsNyAr MTI0MSw3IEBAIHN0YXRpYyBpbnQgaG9zdDF4X2RybV9wcm9iZShzdHJ1Y3QgaG9zdDF4X2Rldmlj ZSAqZGV2KQo+ICAgCS8qIHN5bmNwb2ludHMgYXJlIHVzZWQgZm9yIGZ1bGwgMzItYml0IGhhcmR3 YXJlIFZCTEFOSyBjb3VudGVycyAqLwo+ICAgCWRybS0+bWF4X3ZibGFua19jb3VudCA9IDB4ZmZm ZmZmZmY7Cj4gICAKPiAtCWVyciA9IGRybV92YmxhbmtfaW5pdChkcm0sIGRybS0+bW9kZV9jb25m aWcubnVtX2NydGMpOwo+ICsJZXJyID0gZHJtX3ZibGFua19pbml0KGRybSk7Cj4gICAJaWYgKGVy ciA8IDApCj4gICAJCWdvdG8gaHViOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS90aWRzcy90aWRzc19rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS90aWRzcy90aWRzc19rbXMuYwo+ IGluZGV4IDcwYzE0YzNiZTEwZDUuLjhiNDVhYzZhNWU3MDQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3RpZHNzL3RpZHNzX2ttcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpZHNz L3RpZHNzX2ttcy5jCj4gQEAgLTI4OSw3ICsyODksNyBAQCBpbnQgdGlkc3NfbW9kZXNldF9pbml0 KHN0cnVjdCB0aWRzc19kZXZpY2UgKnRpZHNzKQo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiBy ZXQ7Cj4gICAKPiAtCXJldCA9IGRybV92YmxhbmtfaW5pdChkZGV2LCB0aWRzcy0+bnVtX2NydGNz KTsKPiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkZGV2KTsKPiAgIAlpZiAocmV0KQo+ICAgCQly ZXR1cm4gcmV0Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGls Y2RjX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMKPiBpbmRleCAx ZDZjOWE0MjNhNDEwLi4zNzUwOGZjZDI2MWMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS90aWxjZGMvdGlsY2RjX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxj ZGNfZHJ2LmMKPiBAQCAtNDA1LDcgKzQwNSw3IEBAIHN0YXRpYyBpbnQgdGlsY2RjX3BkZXZfcHJv YmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgIAkJZ290byB1bnJlZ2lzdGVyX2Nw dWZyZXFfbm90aWY7Cj4gICAJfQo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGRldiwg MSk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGRldik7Cj4gICAJaWYgKHJldCA8IDApIHsK PiAgIAkJZHJtX2VycihkZGV2LCAiZmFpbGVkIHRvIGluaXRpYWxpemUgdmJsYW5rXG4iKTsKPiAg IAkJZ290byB1bnJlZ2lzdGVyX2NwdWZyZXFfbm90aWY7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS90aW55L2JvY2hzLmMgYi9kcml2ZXJzL2dwdS9kcm0vdGlueS9ib2Nocy5jCj4gaW5k ZXggZTJkOTU3ZTUxNTA1Yy4uMzYxOTY2ODJhY2UyZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vdGlueS9ib2Nocy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3RpbnkvYm9jaHMuYwo+ IEBAIC02NzcsNyArNjc3LDcgQEAgc3RhdGljIGludCBib2Noc19rbXNfaW5pdChzdHJ1Y3QgYm9j aHNfZGV2aWNlICpib2NocykKPiAgIAlkcm1fY29ubmVjdG9yX2F0dGFjaF9lZGlkX3Byb3BlcnR5 KGNvbm5lY3Rvcik7Cj4gICAJZHJtX2Nvbm5lY3Rvcl9hdHRhY2hfZW5jb2Rlcihjb25uZWN0b3Is IGVuY29kZXIpOwo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2LCAxKTsKPiArCXJl dCA9IGRybV92YmxhbmtfaW5pdChkZXYpOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7 Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbnkvY2lycnVzLXFlbXUuYyBi L2RyaXZlcnMvZ3B1L2RybS90aW55L2NpcnJ1cy1xZW11LmMKPiBpbmRleCAwNzUyMjFiNDMxZDM3 Li5kNjczMDc2M2FjYWRlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aW55L2NpcnJ1 cy1xZW11LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdGlueS9jaXJydXMtcWVtdS5jCj4gQEAg LTUwMSw3ICs1MDEsNyBAQCBzdGF0aWMgaW50IGNpcnJ1c19waXBlX2luaXQoc3RydWN0IGNpcnJ1 c19kZXZpY2UgKmNpcnJ1cykKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAgCj4g LQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2LCAxKTsKPiArCXJldCA9IGRybV92YmxhbmtfaW5p dChkZXYpOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4gICAKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3R2ZTIwMC90dmUyMDBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v dHZlMjAwL3R2ZTIwMF9kcnYuYwo+IGluZGV4IDhkMGU3YzdjODJlODQuLmY0MTc0ODQzNmFjNWEg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3R2ZTIwMC90dmUyMDBfZHJ2LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vdHZlMjAwL3R2ZTIwMF9kcnYuYwo+IEBAIC0xMjAsNyArMTIwLDcg QEAgc3RhdGljIGludCB0dmUyMDBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gICAJZGV2X2luZm8oZGV2LT5kZXYsICJhdHRhY2hlZCB0byBwYW5lbCAlc1xuIiwKPiAgIAkJ IGRldl9uYW1lKHBhbmVsLT5kZXYpKTsKPiAgIAo+IC0JcmV0ID0gZHJtX3ZibGFua19pbml0KGRl diwgMSk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2KTsKPiAgIAlpZiAocmV0KSB7Cj4g ICAJCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8gaW5pdCB2YmxhbmtcbiIpOwo+ICAgCQln b3RvIG91dF9icmlkZ2U7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2tt cy5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMKPiBpbmRleCA4ZjA4NTY3ZDI4ZmM2 Li4yYzFjNDc5NDk0YjEyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2tt cy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfa21zLmMKPiBAQCAtMTE1MSw3ICsx MTUxLDcgQEAgaW50IHZjNF9rbXNfbG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCS8q IFNldCBzdXBwb3J0IGZvciB2YmxhbmsgaXJxIGZhc3QgZGlzYWJsZSwgYmVmb3JlIGRybV92Ymxh bmtfaW5pdCgpICovCj4gICAJZGV2LT52YmxhbmtfZGlzYWJsZV9pbW1lZGlhdGUgPSB0cnVlOwo+ ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZGV2LCBkZXYtPm1vZGVfY29uZmlnLm51bV9j cnRjKTsKPiArCXJldCA9IGRybV92YmxhbmtfaW5pdChkZXYpOwo+ICAgCWlmIChyZXQgPCAwKSB7 Cj4gICAJCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB2YmxhbmtcbiIp Owo+ICAgCQlyZXR1cm4gcmV0Owo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmVyaXNp bGljb24vdnNfZHJtLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmVyaXNpbGljb24vdnNfZHJtLmMKPiBp bmRleCBmZDI1OWQ1M2Y0OWYxLi4zZTQ5NDRlYjc0NWM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS92ZXJpc2lsaWNvbi92c19kcm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92ZXJp c2lsaWNvbi92c19kcm0uYwo+IEBAIC0xMjEsNyArMTIxLDcgQEAgaW50IHZzX2RybV9pbml0aWFs aXplKHN0cnVjdCB2c19kYyAqZGMsIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gICAJ CXZkcm0tPmNydGNzW2ldID0gY3J0YzsKPiAgIAl9Cj4gICAKPiAtCXJldCA9IGRybV92Ymxhbmtf aW5pdChkcm0sIGRjLT5pZGVudGl0eS5kaXNwbGF5X2NvdW50KTsKPiArCXJldCA9IGRybV92Ymxh bmtfaW5pdChkcm0pOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4gICAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZpcnRpby92aXJ0Z3B1X2Rpc3BsYXkuYyBiL2RyaXZl cnMvZ3B1L2RybS92aXJ0aW8vdmlydGdwdV9kaXNwbGF5LmMKPiBpbmRleCA0NGZmZmZlYzU1MGZk Li45NzFjNWE3NDI0YjM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92aXJ0aW8vdmly dGdwdV9kaXNwbGF5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmlydGlvL3ZpcnRncHVfZGlz cGxheS5jCj4gQEAgLTM4MSw3ICszODEsNyBAQCBpbnQgdmlydGlvX2dwdV9tb2Rlc2V0X2luaXQo c3RydWN0IHZpcnRpb19ncHVfZGV2aWNlICp2Z2RldikKPiAgIAlmb3IgKGkgPSAwIDsgaSA8IHZn ZGV2LT5udW1fc2Nhbm91dHM7ICsraSkKPiAgIAkJdmdkZXZfb3V0cHV0X2luaXQodmdkZXYsIGkp Owo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQodmdkZXYtPmRkZXYsIHZnZGV2LT5udW1f c2Nhbm91dHMpOwo+ICsJcmV0ID0gZHJtX3ZibGFua19pbml0KHZnZGV2LT5kZGV2KTsKPiAgIAlp ZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS92a21zL3ZrbXNfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5jCj4g aW5kZXggNWE2NDBiNTMxZDg4Zi4uNWE4MzBjZWU3ZmU5YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vdmttcy92a21zX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmtt c19kcnYuYwo+IEBAIC0xOTIsOCArMTkyLDcgQEAgaW50IHZrbXNfY3JlYXRlKHN0cnVjdCB2a21z X2NvbmZpZyAqY29uZmlnKQo+ICAgCQlnb3RvIG91dF9kZXZyZXM7Cj4gICAJfQo+ICAgCj4gLQly ZXQgPSBkcm1fdmJsYW5rX2luaXQoJnZrbXNfZGV2aWNlLT5kcm0sCj4gLQkJCSAgICAgIHZrbXNf Y29uZmlnX2dldF9udW1fY3J0Y3MoY29uZmlnKSk7Cj4gKwlyZXQgPSBkcm1fdmJsYW5rX2luaXQo JnZrbXNfZGV2aWNlLT5kcm0pOwo+ICAgCWlmIChyZXQpIHsKPiAgIAkJRFJNX0VSUk9SKCJGYWls ZWQgdG8gdmJsYW5rXG4iKTsKPiAgIAkJZ290byBvdXRfZGV2cmVzOwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF92a21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vdm13 Z2Z4L3Ztd2dmeF92a21zLmMKPiBpbmRleCA3YjgxNjNiNWU1MDE0Li4yMjYwMTA2MDcyN2ZiIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3ZrbXMuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS92bXdnZngvdm13Z2Z4X3ZrbXMuYwo+IEBAIC0yMTIsNyArMjEyLDcg QEAgdm13X3ZrbXNfaW5pdChzdHJ1Y3Qgdm13X3ByaXZhdGUgKnZtdykKPiAgIAo+ICAgCXJldCA9 IGtzdHJ0b2Jvb2woYnVmZmVyLCAmdm13LT52a21zX2VuYWJsZWQpOwo+ICAgCWlmICghcmV0ICYm IHZtdy0+dmttc19lbmFibGVkKSB7Cj4gLQkJcmV0ID0gZHJtX3ZibGFua19pbml0KCZ2bXctPmRy bSwgVk1XR0ZYX05VTV9ESVNQTEFZX1VOSVRTKTsKPiArCQlyZXQgPSBkcm1fdmJsYW5rX2luaXQo JnZtdy0+ZHJtKTsKPiAgIAkJdm13LT52a21zX2VuYWJsZWQgPSAocmV0ID09IDApOwo+ICAgCX0K PiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfa21zLmMgYi9k cml2ZXJzL2dwdS9kcm0veGxueC96eW5xbXBfa21zLmMKPiBpbmRleCBkNWY5MjI0NTA1NjU1Li5j NTIwOWRmNDZhZmU1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9r bXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS94bG54L3p5bnFtcF9rbXMuYwo+IEBAIC01MDQs NyArNTA0LDcgQEAgaW50IHp5bnFtcF9kcHN1Yl9kcm1faW5pdChzdHJ1Y3QgenlucW1wX2Rwc3Vi ICpkcHN1YikKPiAgIAlkcm0tPm1vZGVfY29uZmlnLm1heF93aWR0aCA9IFpZTlFNUF9ESVNQX01B WF9XSURUSDsKPiAgIAlkcm0tPm1vZGVfY29uZmlnLm1heF9oZWlnaHQgPSBaWU5RTVBfRElTUF9N QVhfSEVJR0hUOwo+ICAgCj4gLQlyZXQgPSBkcm1fdmJsYW5rX2luaXQoZHJtLCAxKTsKPiArCXJl dCA9IGRybV92YmxhbmtfaW5pdChkcm0pOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7 Cj4gICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3ZibGFuay5oIGIvaW5jbHVkZS9k cm0vZHJtX3ZibGFuay5oCj4gaW5kZXggMmZjZWY5YzBmNWIxYi4uZDc4ZjQwZDNhODViZSAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fdmJsYW5rLmgKPiArKysgYi9pbmNsdWRlL2RybS9k cm1fdmJsYW5rLmgKPiBAQCAtMjg1LDcgKzI4NSw3IEBAIHN0cnVjdCBkcm1fdmJsYW5rX2NydGMg ewo+ICAgfTsKPiAgIAo+ICAgc3RydWN0IGRybV92YmxhbmtfY3J0YyAqZHJtX2NydGNfdmJsYW5r X2NydGMoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPiAtaW50IGRybV92YmxhbmtfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgbnVtX2NydGNzKTsKPiAraW50IGRybV92 YmxhbmtfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgIGJvb2wgZHJtX2Rldl9oYXNf dmJsYW5rKGNvbnN0IHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAgdTY0IGRybV9jcnRjX3Zi bGFua19jb3VudChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICAgdTY0IGRybV9jcnRjX3ZibGFu a19jb3VudF9hbmRfdGltZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCgotLSAKLS0KVGhvbWFzIFpp bW1lcm1hbm4KR3JhcGhpY3MgRHJpdmVyIERldmVsb3BlcgpTVVNFIFNvZnR3YXJlIFNvbHV0aW9u cyBHZXJtYW55IEdtYkgKRnJhbmtlbnN0ci4gMTQ2LCA5MDQ2MSBOw7xybmJlcmcsIEdlcm1hbnks IHd3dy5zdXNlLmNvbQpHRjogSm9jaGVuIEphc2VyLCBBbmRyZXcgTWNEb25hbGQsIChIUkIgMzY4 MDksIEFHIE7DvHJuYmVyZykKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1yb2NrY2hpcAo=