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 7B7BAC04FFE for ; Sat, 11 May 2024 06:36:09 +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-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=e1MUVnyEy//Ns9iQok9xd0uxOJZtZU251OzqEqxHC7g=; b=5B0GEc2786TofT blZTeZwWEuzfkve5XHGLiB8luwm9neGItr6wnMohT/HzDyHlUFig2HEjNrqpRBHDvDPWepa9qgxdu CMa+F1isgFBBBNEnMlylxRwma6FXseKVrXpvvD/WXzn38/f34UTXF64/mx7vMwGWZSsqx3V7ynvEt zG92g7UgRG+72Pnh+J4PiPIdr0innGxbTtjgOVXHGZOjxvekydUSwwpsnKspjTigEshXEPxRyc1MK EY52THTodCWo9BXVCPHWoYEIOQdzTbm9cmySVf8VuUGN3qXojEW33F1TnQnU37Og1dICbBO72fAZX 5OqzV8YrSXD7sZpgmx0g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s5gL2-00000007Oiy-3mVb; Sat, 11 May 2024 06:36:08 +0000 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s5gKz-00000007OiB-1IWS for linux-phy@lists.infradead.org; Sat, 11 May 2024 06:36:07 +0000 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1ee38966529so26684735ad.1 for ; Fri, 10 May 2024 23:35:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1715409358; x=1716014158; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=IqIfpOLwqxPWanvAjHeCvfxgD+z2mm62/kCYisTKI8U=; b=KId7O7XaYVZPA9G+AWPkHMq8no5PJItUpwCA/wbh30vUhMmKH2P98/eBnfVRwHmXj/ VAHlG31Q0tlNqxwQfgWRcl+Y650rF1PUa0UHYhl/eWIsUykB4HDq0VDQr3Ig3BVn4o4K ofxluDDa50C8w35QA+Wy3D573d+iOEzpzurA2qSaT98M1viCaYYj6svg7q9zc3DSUxY+ +XriCuMmp6CeDJnDTCp1uMXSBm5FnP8SGHfaNNxaluiBUxSiPd7BTU5cxWhSsvUUkv5g gK/SrfDQZuLY2RACHjjk/0cxLGyAmYlRL0rL/6ZsiDLY13O0WGUz1oD2sQQOLqiGF3/3 IxtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715409358; x=1716014158; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IqIfpOLwqxPWanvAjHeCvfxgD+z2mm62/kCYisTKI8U=; b=ay/U+RvjMMUaCg5hI8/h1CTwbDWNZCWmtR00Eb2ocS5KYabKsvNBRjrtu75EokiDvT LV4P5f6WJ0H1OnlQ94JJWLJZEqR+a5SgIP1dahvCmdFRrabUr4aylUcOv1tNBF59oNNx BzhG7CRdgMthWHq4sz+ur944hWa3Kh71LDHIDl/q2WQS9/GcPAl2Ifbb/oLaRztVRTwc 2WLza5pxKDTvMkW2EZoBYbUoxL5P29P6w/LUS/AioTXoTX1AnwTqc6OQp+AEqcG1u+YF BwxzRAszsTd7UoW4OKUz6WHX+CM9xVSkqiyr/hnaxZb9vbQk8h1k3kCM9sFut3YvfaFD rbxg== X-Forwarded-Encrypted: i=1; AJvYcCVfMzsA9p6nQFGH9QqBvsUvoXQFquZMafC1334sIdVWUQIHK8GSpHm+TjEaFXHUSxA6wIQz6XYl+JkbzzaQNn9RoyHLrg49tvLhZ8a88g== X-Gm-Message-State: AOJu0Yzf31lhSnlgXqjIn1EbQn9OM2F982ODX75s/EB7CDqJuXkskvNL Kr03XlFo88NCJ32Cuel7cfY/ogPzNp+LY0DXEwuQvevmu1xGed6lQoCt2mQCRQ== X-Google-Smtp-Source: AGHT+IHHyqUI4TfbPefohtbqZ9ixiRB6pTcvG2f7w+LQvX0WdsliXOh0O0HjCpE95r6EWK0cWtHvNA== X-Received: by 2002:a17:902:f68f:b0:1e0:9964:76f4 with SMTP id d9443c01a7336-1ef42e6e646mr68429675ad.14.1715409357941; Fri, 10 May 2024 23:35:57 -0700 (PDT) Received: from thinkpad ([220.158.156.38]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-1ef0bad819csm42528305ad.84.2024.05.10.23.35.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 May 2024 23:35:57 -0700 (PDT) Date: Sat, 11 May 2024 12:05:50 +0530 From: Manivannan Sadhasivam To: Alexandru Gagniuc Cc: Bjorn Andersson , Konrad Dybcio , Lorenzo Pieralisi , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Rob Herring , Bjorn Helgaas , Krzysztof Kozlowski , Conor Dooley , Vinod Koul , Kishon Vijay Abraham I , Michael Turquette , Stephen Boyd , linux-arm-msm@vger.kernel.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-clk@vger.kernel.org Subject: Re: [PATCH v4 RESEND 4/8] PCI: qcom: Switch to devm_clk_bulk_get_all() API to get the clocks from Devicetree Message-ID: <20240511063550.GA6672@thinkpad> References: <20240501042847.1545145-1-mr.nuke.me@gmail.com> <20240501042847.1545145-5-mr.nuke.me@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240501042847.1545145-5-mr.nuke.me@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240510_233605_420204_6E0ED862 X-CRM114-Status: GOOD ( 28.60 ) X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org T24gVHVlLCBBcHIgMzAsIDIwMjQgYXQgMTE6Mjg6NDNQTSAtMDUwMCwgQWxleGFuZHJ1IEdhZ25p dWMgd3JvdGU6Cj4gRnJvbTogTWFuaXZhbm5hbiBTYWRoYXNpdmFtIDxtYW5pdmFubmFuLnNhZGhh c2l2YW1AbGluYXJvLm9yZz4KPiAKPiBUaGVyZSBpcyBubyBuZWVkIGZvciB0aGUgZGV2aWNlIGRy aXZlcnMgdG8gdmFsaWRhdGUgdGhlIGNsb2NrcyBkZWZpbmVkIGluCj4gRGV2aWNldHJlZS4gVGhl IHZhbGlkYXRpb24gc2hvdWxkIGJlIHBlcmZvcm1lZCBieSB0aGUgRFQgc2NoZW1hIGFuZCB0aGUK PiBkcml2ZXJzIHNob3VsZCBqdXN0IGdldCBhbGwgdGhlIGNsb2NrcyBmcm9tIERULiBSaWdodCBu b3cgdGhlIGRyaXZlcgo+IGhhcmRjb2RlcyB0aGUgY2xvY2sgaW5mbyBhbmQgdmFsaWRhdGVzIHRo ZW0gYWdhaW5zdCBEVCB3aGljaCBpcyByZWR1bmRhbnQuCj4gCj4gU28gdXNlIGRldm1fY2xrX2J1 bGtfZ2V0X2FsbCgpIHRoYXQganVzdCBnZXRzIGFsbCB0aGUgY2xvY2tzIGRlZmluZWQgaW4gRFQK PiBhbmQgZ2V0IHJpZCBvZiBhbGwgc3RhdGljIGNsb2NrcyBpbmZvIGZyb20gdGhlIGRyaXZlci4g VGhpcyBzaW1wbGlmaWVzIHRoZQo+IGRyaXZlci4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYW5pdmFu bmFuIFNhZGhhc2l2YW0gPG1hbml2YW5uYW4uc2FkaGFzaXZhbUBsaW5hcm8ub3JnPgo+IFNpZ25l ZC1vZmYtYnk6IEFsZXhhbmRydSBHYWduaXVjIDxtci5udWtlLm1lQGdtYWlsLmNvbT4KPiBbbW92 ZWQgY2xrcyB0byBzdHJ1Y3QgcWNvbV9wY2llIHRvIHJlZHVjZSBjb2RlIGR1cGxpY2F0aW9uXQoK Q2FuIHlvdSBwbGVhc2UgcmV2ZXJ0IHRvIG15IG9yaWdpbmFsIHBhdGNoPyBFdmVuIHRob3VnaCBt b3ZpbmcgdGhlCmRldm1fY2xrX2J1bGtfZ2V0X2FsbCgpIEFQSSB0byBwcm9iZSBzYXZlcyBmZXcg TE9DLCBpdCBhbHNvIG1ha2VzIHRoZSByZXNvdXJjZQpoYW5kbGluZyBjb2RlIHNjYXR0ZXJlZCBh Y3Jvc3MgdGhlIGRyaXZlci4gU28gSSdkIGxpa2UgdG8ga2VlcCBhbGwgdGhlIHJlc291cmNlCmhh bmRsaW5nIHdpdGhpbiB0aGUgZ2V0X3Jlc291cmNlcygpIGNhbGxiYWNrLgoKLSBNYW5pCgo+IC0t LQo+ICBkcml2ZXJzL3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLXFjb20uYyB8IDE2MyArKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAx MzggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGNpL2NvbnRyb2xsZXIv ZHdjL3BjaWUtcWNvbS5jIGIvZHJpdmVycy9wY2kvY29udHJvbGxlci9kd2MvcGNpZS1xY29tLmMK PiBpbmRleCAxNDc3MmVkY2YwZDMuLmVhODFmZjY4ZDQzMyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L3BjaS9jb250cm9sbGVyL2R3Yy9wY2llLXFjb20uYwo+ICsrKyBiL2RyaXZlcnMvcGNpL2NvbnRy b2xsZXIvZHdjL3BjaWUtcWNvbS5jCj4gQEAgLTE1NCw1OCArMTU0LDQyIEBACj4gICNkZWZpbmUg UUNPTV9QQ0lFX0xJTktfU1BFRURfVE9fQlcoc3BlZWQpIFwKPiAgCQlNYnBzX3RvX2ljYyhQQ0lF X1NQRUVEMk1CU19FTkMocGNpZV9saW5rX3NwZWVkW3NwZWVkXSkpCj4gIAo+IC0jZGVmaW5lIFFD T01fUENJRV8xXzBfMF9NQVhfQ0xPQ0tTCQk0Cj4gIHN0cnVjdCBxY29tX3BjaWVfcmVzb3VyY2Vz XzFfMF8wIHsKPiAtCXN0cnVjdCBjbGtfYnVsa19kYXRhIGNsa3NbUUNPTV9QQ0lFXzFfMF8wX01B WF9DTE9DS1NdOwo+ICAJc3RydWN0IHJlc2V0X2NvbnRyb2wgKmNvcmU7Cj4gIAlzdHJ1Y3QgcmVn dWxhdG9yICp2ZGRhOwo+ICB9Owo+ICAKPiAtI2RlZmluZSBRQ09NX1BDSUVfMl8xXzBfTUFYX0NM T0NLUwkJNQo+ICAjZGVmaW5lIFFDT01fUENJRV8yXzFfMF9NQVhfUkVTRVRTCQk2Cj4gICNkZWZp bmUgUUNPTV9QQ0lFXzJfMV8wX01BWF9TVVBQTFkJCTMKPiAgc3RydWN0IHFjb21fcGNpZV9yZXNv dXJjZXNfMl8xXzAgewo+IC0Jc3RydWN0IGNsa19idWxrX2RhdGEgY2xrc1tRQ09NX1BDSUVfMl8x XzBfTUFYX0NMT0NLU107Cj4gIAlzdHJ1Y3QgcmVzZXRfY29udHJvbF9idWxrX2RhdGEgcmVzZXRz W1FDT01fUENJRV8yXzFfMF9NQVhfUkVTRVRTXTsKPiAgCWludCBudW1fcmVzZXRzOwo+ICAJc3Ry dWN0IHJlZ3VsYXRvcl9idWxrX2RhdGEgc3VwcGxpZXNbUUNPTV9QQ0lFXzJfMV8wX01BWF9TVVBQ TFldOwo+ICB9Owo+ICAKPiAtI2RlZmluZSBRQ09NX1BDSUVfMl8zXzJfTUFYX0NMT0NLUwkJNAo+ ICAjZGVmaW5lIFFDT01fUENJRV8yXzNfMl9NQVhfU1VQUExZCQkyCj4gIHN0cnVjdCBxY29tX3Bj aWVfcmVzb3VyY2VzXzJfM18yIHsKPiAtCXN0cnVjdCBjbGtfYnVsa19kYXRhIGNsa3NbUUNPTV9Q Q0lFXzJfM18yX01BWF9DTE9DS1NdOwo+ICAJc3RydWN0IHJlZ3VsYXRvcl9idWxrX2RhdGEgc3Vw cGxpZXNbUUNPTV9QQ0lFXzJfM18yX01BWF9TVVBQTFldOwo+ICB9Owo+ICAKPiAtI2RlZmluZSBR Q09NX1BDSUVfMl8zXzNfTUFYX0NMT0NLUwkJNQo+ICAjZGVmaW5lIFFDT01fUENJRV8yXzNfM19N QVhfUkVTRVRTCQk3Cj4gIHN0cnVjdCBxY29tX3BjaWVfcmVzb3VyY2VzXzJfM18zIHsKPiAtCXN0 cnVjdCBjbGtfYnVsa19kYXRhIGNsa3NbUUNPTV9QQ0lFXzJfM18zX01BWF9DTE9DS1NdOwo+ICAJ c3RydWN0IHJlc2V0X2NvbnRyb2xfYnVsa19kYXRhIHJzdFtRQ09NX1BDSUVfMl8zXzNfTUFYX1JF U0VUU107Cj4gIH07Cj4gIAo+IC0jZGVmaW5lIFFDT01fUENJRV8yXzRfMF9NQVhfQ0xPQ0tTCQk0 Cj4gICNkZWZpbmUgUUNPTV9QQ0lFXzJfNF8wX01BWF9SRVNFVFMJCTEyCj4gIHN0cnVjdCBxY29t X3BjaWVfcmVzb3VyY2VzXzJfNF8wIHsKPiAtCXN0cnVjdCBjbGtfYnVsa19kYXRhIGNsa3NbUUNP TV9QQ0lFXzJfNF8wX01BWF9DTE9DS1NdOwo+IC0JaW50IG51bV9jbGtzOwo+ICAJc3RydWN0IHJl c2V0X2NvbnRyb2xfYnVsa19kYXRhIHJlc2V0c1tRQ09NX1BDSUVfMl80XzBfTUFYX1JFU0VUU107 Cj4gIAlpbnQgbnVtX3Jlc2V0czsKPiAgfTsKPiAgCj4gLSNkZWZpbmUgUUNPTV9QQ0lFXzJfN18w X01BWF9DTE9DS1MJCTE1Cj4gICNkZWZpbmUgUUNPTV9QQ0lFXzJfN18wX01BWF9TVVBQTElFUwkJ Mgo+ICBzdHJ1Y3QgcWNvbV9wY2llX3Jlc291cmNlc18yXzdfMCB7Cj4gLQlzdHJ1Y3QgY2xrX2J1 bGtfZGF0YSBjbGtzW1FDT01fUENJRV8yXzdfMF9NQVhfQ0xPQ0tTXTsKPiAtCWludCBudW1fY2xr czsKPiAgCXN0cnVjdCByZWd1bGF0b3JfYnVsa19kYXRhIHN1cHBsaWVzW1FDT01fUENJRV8yXzdf MF9NQVhfU1VQUExJRVNdOwo+ICAJc3RydWN0IHJlc2V0X2NvbnRyb2wgKnJzdDsKPiAgfTsKPiAg Cj4gLSNkZWZpbmUgUUNPTV9QQ0lFXzJfOV8wX01BWF9DTE9DS1MJCTUKPiAgc3RydWN0IHFjb21f cGNpZV9yZXNvdXJjZXNfMl85XzAgewo+IC0Jc3RydWN0IGNsa19idWxrX2RhdGEgY2xrc1tRQ09N X1BDSUVfMl85XzBfTUFYX0NMT0NLU107Cj4gIAlzdHJ1Y3QgcmVzZXRfY29udHJvbCAqcnN0Owo+ ICB9Owo+ICAKPiBAQCAtMjQ3LDYgKzIzMSw4IEBAIHN0cnVjdCBxY29tX3BjaWUgewo+ICAJc3Ry dWN0IGljY19wYXRoICppY2NfbWVtOwo+ICAJY29uc3Qgc3RydWN0IHFjb21fcGNpZV9jZmcgKmNm ZzsKPiAgCXN0cnVjdCBkZW50cnkgKmRlYnVnZnM7Cj4gKwlzdHJ1Y3QgY2xrX2J1bGtfZGF0YSAq Y2xrczsKPiArCWludCBudW1fY2xrczsKPiAgCWJvb2wgc3VzcGVuZGVkOwo+ICB9Owo+ICAKPiBA QCAtMzM3LDIyICszMjMsNiBAQCBzdGF0aWMgaW50IHFjb21fcGNpZV9nZXRfcmVzb3VyY2VzXzJf MV8wKHN0cnVjdCBxY29tX3BjaWUgKnBjaWUpCj4gIAlpZiAocmV0KQo+ICAJCXJldHVybiByZXQ7 Cj4gIAo+IC0JcmVzLT5jbGtzWzBdLmlkID0gImlmYWNlIjsKPiAtCXJlcy0+Y2xrc1sxXS5pZCA9 ICJjb3JlIjsKPiAtCXJlcy0+Y2xrc1syXS5pZCA9ICJwaHkiOwo+IC0JcmVzLT5jbGtzWzNdLmlk ID0gImF1eCI7Cj4gLQlyZXMtPmNsa3NbNF0uaWQgPSAicmVmIjsKPiAtCj4gLQkvKiBpZmFjZSwg Y29yZSwgcGh5IGFyZSByZXF1aXJlZCAqLwo+IC0JcmV0ID0gZGV2bV9jbGtfYnVsa19nZXQoZGV2 LCAzLCByZXMtPmNsa3MpOwo+IC0JaWYgKHJldCA8IDApCj4gLQkJcmV0dXJuIHJldDsKPiAtCj4g LQkvKiBhdXgsIHJlZiBhcmUgb3B0aW9uYWwgKi8KPiAtCXJldCA9IGRldm1fY2xrX2J1bGtfZ2V0 X29wdGlvbmFsKGRldiwgMiwgcmVzLT5jbGtzICsgMyk7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQly ZXR1cm4gcmV0Owo+IC0KPiAgCXJlcy0+cmVzZXRzWzBdLmlkID0gInBjaSI7Cj4gIAlyZXMtPnJl c2V0c1sxXS5pZCA9ICJheGkiOwo+ICAJcmVzLT5yZXNldHNbMl0uaWQgPSAiYWhiIjsKPiBAQCAt MzczLDcgKzM0Myw3IEBAIHN0YXRpYyB2b2lkIHFjb21fcGNpZV9kZWluaXRfMl8xXzAoc3RydWN0 IHFjb21fcGNpZSAqcGNpZSkKPiAgewo+ICAJc3RydWN0IHFjb21fcGNpZV9yZXNvdXJjZXNfMl8x XzAgKnJlcyA9ICZwY2llLT5yZXMudjJfMV8wOwo+ICAKPiAtCWNsa19idWxrX2Rpc2FibGVfdW5w cmVwYXJlKEFSUkFZX1NJWkUocmVzLT5jbGtzKSwgcmVzLT5jbGtzKTsKPiArCWNsa19idWxrX2Rp c2FibGVfdW5wcmVwYXJlKHBjaWUtPm51bV9jbGtzLCBwY2llLT5jbGtzKTsKPiAgCXJlc2V0X2Nv bnRyb2xfYnVsa19hc3NlcnQocmVzLT5udW1fcmVzZXRzLCByZXMtPnJlc2V0cyk7Cj4gIAo+ICAJ d3JpdGVsKDEsIHBjaWUtPnBhcmYgKyBQQVJGX1BIWV9DVFJMKTsKPiBAQCAtNDEzLDcgKzM4Myw2 IEBAIHN0YXRpYyBpbnQgcWNvbV9wY2llX2luaXRfMl8xXzAoc3RydWN0IHFjb21fcGNpZSAqcGNp ZSkKPiAgCj4gIHN0YXRpYyBpbnQgcWNvbV9wY2llX3Bvc3RfaW5pdF8yXzFfMChzdHJ1Y3QgcWNv bV9wY2llICpwY2llKQo+ICB7Cj4gLQlzdHJ1Y3QgcWNvbV9wY2llX3Jlc291cmNlc18yXzFfMCAq cmVzID0gJnBjaWUtPnJlcy52Ml8xXzA7Cj4gIAlzdHJ1Y3QgZHdfcGNpZSAqcGNpID0gcGNpZS0+ cGNpOwo+ICAJc3RydWN0IGRldmljZSAqZGV2ID0gcGNpLT5kZXY7Cj4gIAlzdHJ1Y3QgZGV2aWNl X25vZGUgKm5vZGUgPSBkZXYtPm9mX25vZGU7Cj4gQEAgLTQyNSw3ICszOTQsNyBAQCBzdGF0aWMg aW50IHFjb21fcGNpZV9wb3N0X2luaXRfMl8xXzAoc3RydWN0IHFjb21fcGNpZSAqcGNpZSkKPiAg CXZhbCAmPSB+UEhZX1RFU1RfUFdSX0RPV047Cj4gIAl3cml0ZWwodmFsLCBwY2llLT5wYXJmICsg UEFSRl9QSFlfQ1RSTCk7Cj4gIAo+IC0JcmV0ID0gY2xrX2J1bGtfcHJlcGFyZV9lbmFibGUoQVJS QVlfU0laRShyZXMtPmNsa3MpLCByZXMtPmNsa3MpOwo+ICsJcmV0ID0gY2xrX2J1bGtfcHJlcGFy ZV9lbmFibGUocGNpZS0+bnVtX2Nsa3MsIHBjaWUtPmNsa3MpOwo+ICAJaWYgKHJldCkKPiAgCQly ZXR1cm4gcmV0Owo+ICAKPiBAQCAtNDc2LDIxICs0NDUsMTEgQEAgc3RhdGljIGludCBxY29tX3Bj aWVfZ2V0X3Jlc291cmNlc18xXzBfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJc3RydWN0 IHFjb21fcGNpZV9yZXNvdXJjZXNfMV8wXzAgKnJlcyA9ICZwY2llLT5yZXMudjFfMF8wOwo+ICAJ c3RydWN0IGR3X3BjaWUgKnBjaSA9IHBjaWUtPnBjaTsKPiAgCXN0cnVjdCBkZXZpY2UgKmRldiA9 IHBjaS0+ZGV2Owo+IC0JaW50IHJldDsKPiAgCj4gIAlyZXMtPnZkZGEgPSBkZXZtX3JlZ3VsYXRv cl9nZXQoZGV2LCAidmRkYSIpOwo+ICAJaWYgKElTX0VSUihyZXMtPnZkZGEpKQo+ICAJCXJldHVy biBQVFJfRVJSKHJlcy0+dmRkYSk7Cj4gIAo+IC0JcmVzLT5jbGtzWzBdLmlkID0gImlmYWNlIjsK PiAtCXJlcy0+Y2xrc1sxXS5pZCA9ICJhdXgiOwo+IC0JcmVzLT5jbGtzWzJdLmlkID0gIm1hc3Rl cl9idXMiOwo+IC0JcmVzLT5jbGtzWzNdLmlkID0gInNsYXZlX2J1cyI7Cj4gLQo+IC0JcmV0ID0g ZGV2bV9jbGtfYnVsa19nZXQoZGV2LCBBUlJBWV9TSVpFKHJlcy0+Y2xrcyksIHJlcy0+Y2xrcyk7 Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAgCXJlcy0+Y29yZSA9IGRl dm1fcmVzZXRfY29udHJvbF9nZXRfZXhjbHVzaXZlKGRldiwgImNvcmUiKTsKPiAgCXJldHVybiBQ VFJfRVJSX09SX1pFUk8ocmVzLT5jb3JlKTsKPiAgfQo+IEBAIC01MDAsNyArNDU5LDcgQEAgc3Rh dGljIHZvaWQgcWNvbV9wY2llX2RlaW5pdF8xXzBfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ ICAJc3RydWN0IHFjb21fcGNpZV9yZXNvdXJjZXNfMV8wXzAgKnJlcyA9ICZwY2llLT5yZXMudjFf MF8wOwo+ICAKPiAgCXJlc2V0X2NvbnRyb2xfYXNzZXJ0KHJlcy0+Y29yZSk7Cj4gLQljbGtfYnVs a19kaXNhYmxlX3VucHJlcGFyZShBUlJBWV9TSVpFKHJlcy0+Y2xrcyksIHJlcy0+Y2xrcyk7Cj4g KwljbGtfYnVsa19kaXNhYmxlX3VucHJlcGFyZShwY2llLT5udW1fY2xrcywgcGNpZS0+Y2xrcyk7 Cj4gIAlyZWd1bGF0b3JfZGlzYWJsZShyZXMtPnZkZGEpOwo+ICB9Cj4gIAo+IEBAIC01MTcsNyAr NDc2LDcgQEAgc3RhdGljIGludCBxY29tX3BjaWVfaW5pdF8xXzBfMChzdHJ1Y3QgcWNvbV9wY2ll ICpwY2llKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JcmV0ID0gY2xrX2J1bGtfcHJl cGFyZV9lbmFibGUoQVJSQVlfU0laRShyZXMtPmNsa3MpLCByZXMtPmNsa3MpOwo+ICsJcmV0ID0g Y2xrX2J1bGtfcHJlcGFyZV9lbmFibGUocGNpZS0+bnVtX2Nsa3MsIHBjaWUtPmNsa3MpOwo+ICAJ aWYgKHJldCkgewo+ICAJCWRldl9lcnIoZGV2LCAiY2Fubm90IHByZXBhcmUvZW5hYmxlIGNsb2Nr c1xuIik7Cj4gIAkJZ290byBlcnJfYXNzZXJ0X3Jlc2V0Owo+IEBAIC01MzIsNyArNDkxLDcgQEAg c3RhdGljIGludCBxY29tX3BjaWVfaW5pdF8xXzBfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ ICAJcmV0dXJuIDA7Cj4gIAo+ICBlcnJfZGlzYWJsZV9jbGtzOgo+IC0JY2xrX2J1bGtfZGlzYWJs ZV91bnByZXBhcmUoQVJSQVlfU0laRShyZXMtPmNsa3MpLCByZXMtPmNsa3MpOwo+ICsJY2xrX2J1 bGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+bnVtX2Nsa3MsIHBjaWUtPmNsa3MpOwo+ICBlcnJf YXNzZXJ0X3Jlc2V0Ogo+ICAJcmVzZXRfY29udHJvbF9hc3NlcnQocmVzLT5jb3JlKTsKPiAgCj4g QEAgLTU4MCwxNSArNTM5LDYgQEAgc3RhdGljIGludCBxY29tX3BjaWVfZ2V0X3Jlc291cmNlc18y XzNfMihzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0 Owo+ICAKPiAtCXJlcy0+Y2xrc1swXS5pZCA9ICJhdXgiOwo+IC0JcmVzLT5jbGtzWzFdLmlkID0g ImNmZyI7Cj4gLQlyZXMtPmNsa3NbMl0uaWQgPSAiYnVzX21hc3RlciI7Cj4gLQlyZXMtPmNsa3Nb M10uaWQgPSAiYnVzX3NsYXZlIjsKPiAtCj4gLQlyZXQgPSBkZXZtX2Nsa19idWxrX2dldChkZXYs IEFSUkFZX1NJWkUocmVzLT5jbGtzKSwgcmVzLT5jbGtzKTsKPiAtCWlmIChyZXQgPCAwKQo+IC0J CXJldHVybiByZXQ7Cj4gLQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gQEAgLTU5Niw3ICs1NDYs NyBAQCBzdGF0aWMgdm9pZCBxY29tX3BjaWVfZGVpbml0XzJfM18yKHN0cnVjdCBxY29tX3BjaWUg KnBjaWUpCj4gIHsKPiAgCXN0cnVjdCBxY29tX3BjaWVfcmVzb3VyY2VzXzJfM18yICpyZXMgPSAm cGNpZS0+cmVzLnYyXzNfMjsKPiAgCj4gLQljbGtfYnVsa19kaXNhYmxlX3VucHJlcGFyZShBUlJB WV9TSVpFKHJlcy0+Y2xrcyksIHJlcy0+Y2xrcyk7Cj4gKwljbGtfYnVsa19kaXNhYmxlX3VucHJl cGFyZShwY2llLT5udW1fY2xrcywgcGNpZS0+Y2xrcyk7Cj4gIAlyZWd1bGF0b3JfYnVsa19kaXNh YmxlKEFSUkFZX1NJWkUocmVzLT5zdXBwbGllcyksIHJlcy0+c3VwcGxpZXMpOwo+ICB9Cj4gIAo+ IEBAIC02MTMsNyArNTYzLDcgQEAgc3RhdGljIGludCBxY29tX3BjaWVfaW5pdF8yXzNfMihzdHJ1 Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JcmV0ID0g Y2xrX2J1bGtfcHJlcGFyZV9lbmFibGUoQVJSQVlfU0laRShyZXMtPmNsa3MpLCByZXMtPmNsa3Mp Owo+ICsJcmV0ID0gY2xrX2J1bGtfcHJlcGFyZV9lbmFibGUocGNpZS0+bnVtX2Nsa3MsIHBjaWUt PmNsa3MpOwo+ICAJaWYgKHJldCkgewo+ICAJCWRldl9lcnIoZGV2LCAiY2Fubm90IHByZXBhcmUv ZW5hYmxlIGNsb2Nrc1xuIik7Cj4gIAkJcmVndWxhdG9yX2J1bGtfZGlzYWJsZShBUlJBWV9TSVpF KHJlcy0+c3VwcGxpZXMpLCByZXMtPnN1cHBsaWVzKTsKPiBAQCAtNjYxLDE4ICs2MTEsNiBAQCBz dGF0aWMgaW50IHFjb21fcGNpZV9nZXRfcmVzb3VyY2VzXzJfNF8wKHN0cnVjdCBxY29tX3BjaWUg KnBjaWUpCj4gIAlib29sIGlzX2lwcSA9IG9mX2RldmljZV9pc19jb21wYXRpYmxlKGRldi0+b2Zf bm9kZSwgInFjb20scGNpZS1pcHE0MDE5Iik7Cj4gIAlpbnQgcmV0Owo+ICAKPiAtCXJlcy0+Y2xr c1swXS5pZCA9ICJhdXgiOwo+IC0JcmVzLT5jbGtzWzFdLmlkID0gIm1hc3Rlcl9idXMiOwo+IC0J cmVzLT5jbGtzWzJdLmlkID0gInNsYXZlX2J1cyI7Cj4gLQlyZXMtPmNsa3NbM10uaWQgPSAiaWZh Y2UiOwo+IC0KPiAtCS8qIHFjb20scGNpZS1pcHE0MDE5IGlzIGRlZmluZWQgd2l0aG91dCAiaWZh Y2UiICovCj4gLQlyZXMtPm51bV9jbGtzID0gaXNfaXBxID8gMyA6IDQ7Cj4gLQo+IC0JcmV0ID0g ZGV2bV9jbGtfYnVsa19nZXQoZGV2LCByZXMtPm51bV9jbGtzLCByZXMtPmNsa3MpOwo+IC0JaWYg KHJldCA8IDApCj4gLQkJcmV0dXJuIHJldDsKPiAtCj4gIAlyZXMtPnJlc2V0c1swXS5pZCA9ICJh eGlfbSI7Cj4gIAlyZXMtPnJlc2V0c1sxXS5pZCA9ICJheGlfcyI7Cj4gIAlyZXMtPnJlc2V0c1sy XS5pZCA9ICJheGlfbV9zdGlja3kiOwo+IEBAIC03MDAsNyArNjM4LDcgQEAgc3RhdGljIHZvaWQg cWNvbV9wY2llX2RlaW5pdF8yXzRfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJc3RydWN0 IHFjb21fcGNpZV9yZXNvdXJjZXNfMl80XzAgKnJlcyA9ICZwY2llLT5yZXMudjJfNF8wOwo+ICAK PiAgCXJlc2V0X2NvbnRyb2xfYnVsa19hc3NlcnQocmVzLT5udW1fcmVzZXRzLCByZXMtPnJlc2V0 cyk7Cj4gLQljbGtfYnVsa19kaXNhYmxlX3VucHJlcGFyZShyZXMtPm51bV9jbGtzLCByZXMtPmNs a3MpOwo+ICsJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+bnVtX2Nsa3MsIHBjaWUt PmNsa3MpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHFjb21fcGNpZV9pbml0XzJfNF8wKHN0cnVj dCBxY29tX3BjaWUgKnBjaWUpCj4gQEAgLTcyNiw3ICs2NjQsNyBAQCBzdGF0aWMgaW50IHFjb21f cGNpZV9pbml0XzJfNF8wKHN0cnVjdCBxY29tX3BjaWUgKnBjaWUpCj4gIAo+ICAJdXNsZWVwX3Jh bmdlKDEwMDAwLCAxMjAwMCk7Cj4gIAo+IC0JcmV0ID0gY2xrX2J1bGtfcHJlcGFyZV9lbmFibGUo cmVzLT5udW1fY2xrcywgcmVzLT5jbGtzKTsKPiArCXJldCA9IGNsa19idWxrX3ByZXBhcmVfZW5h YmxlKHBjaWUtPm51bV9jbGtzLCBwY2llLT5jbGtzKTsKPiAgCWlmIChyZXQpIHsKPiAgCQlyZXNl dF9jb250cm9sX2J1bGtfYXNzZXJ0KHJlcy0+bnVtX3Jlc2V0cywgcmVzLT5yZXNldHMpOwo+ICAJ CXJldHVybiByZXQ7Cj4gQEAgLTc0MiwxNiArNjgwLDYgQEAgc3RhdGljIGludCBxY29tX3BjaWVf Z2V0X3Jlc291cmNlc18yXzNfMyhzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJc3RydWN0IGRl dmljZSAqZGV2ID0gcGNpLT5kZXY7Cj4gIAlpbnQgcmV0Owo+ICAKPiAtCXJlcy0+Y2xrc1swXS5p ZCA9ICJpZmFjZSI7Cj4gLQlyZXMtPmNsa3NbMV0uaWQgPSAiYXhpX20iOwo+IC0JcmVzLT5jbGtz WzJdLmlkID0gImF4aV9zIjsKPiAtCXJlcy0+Y2xrc1szXS5pZCA9ICJhaGIiOwo+IC0JcmVzLT5j bGtzWzRdLmlkID0gImF1eCI7Cj4gLQo+IC0JcmV0ID0gZGV2bV9jbGtfYnVsa19nZXQoZGV2LCBB UlJBWV9TSVpFKHJlcy0+Y2xrcyksIHJlcy0+Y2xrcyk7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQly ZXR1cm4gcmV0Owo+IC0KPiAgCXJlcy0+cnN0WzBdLmlkID0gImF4aV9tIjsKPiAgCXJlcy0+cnN0 WzFdLmlkID0gImF4aV9zIjsKPiAgCXJlcy0+cnN0WzJdLmlkID0gInBpcGUiOwo+IEBAIC03Njks OSArNjk3LDcgQEAgc3RhdGljIGludCBxY29tX3BjaWVfZ2V0X3Jlc291cmNlc18yXzNfMyhzdHJ1 Y3QgcWNvbV9wY2llICpwY2llKQo+ICAKPiAgc3RhdGljIHZvaWQgcWNvbV9wY2llX2RlaW5pdF8y XzNfMyhzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICB7Cj4gLQlzdHJ1Y3QgcWNvbV9wY2llX3Jl c291cmNlc18yXzNfMyAqcmVzID0gJnBjaWUtPnJlcy52Ml8zXzM7Cj4gLQo+IC0JY2xrX2J1bGtf ZGlzYWJsZV91bnByZXBhcmUoQVJSQVlfU0laRShyZXMtPmNsa3MpLCByZXMtPmNsa3MpOwo+ICsJ Y2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUocGNpZS0+bnVtX2Nsa3MsIHBjaWUtPmNsa3MpOwo+ ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHFjb21fcGNpZV9pbml0XzJfM18zKHN0cnVjdCBxY29tX3Bj aWUgKnBjaWUpCj4gQEAgLTgwMSw3ICs3MjcsNyBAQCBzdGF0aWMgaW50IHFjb21fcGNpZV9pbml0 XzJfM18zKHN0cnVjdCBxY29tX3BjaWUgKnBjaWUpCj4gIAkgKi8KPiAgCXVzbGVlcF9yYW5nZSgy MDAwLCAyNTAwKTsKPiAgCj4gLQlyZXQgPSBjbGtfYnVsa19wcmVwYXJlX2VuYWJsZShBUlJBWV9T SVpFKHJlcy0+Y2xrcyksIHJlcy0+Y2xrcyk7Cj4gKwlyZXQgPSBjbGtfYnVsa19wcmVwYXJlX2Vu YWJsZShwY2llLT5udW1fY2xrcywgcGNpZS0+Y2xrcyk7Cj4gIAlpZiAocmV0KSB7Cj4gIAkJZGV2 X2VycihkZXYsICJjYW5ub3QgcHJlcGFyZS9lbmFibGUgY2xvY2tzXG4iKTsKPiAgCQlnb3RvIGVy cl9hc3NlcnRfcmVzZXRzOwo+IEBAIC04NjIsOCArNzg4LDYgQEAgc3RhdGljIGludCBxY29tX3Bj aWVfZ2V0X3Jlc291cmNlc18yXzdfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJc3RydWN0 IHFjb21fcGNpZV9yZXNvdXJjZXNfMl83XzAgKnJlcyA9ICZwY2llLT5yZXMudjJfN18wOwo+ICAJ c3RydWN0IGR3X3BjaWUgKnBjaSA9IHBjaWUtPnBjaTsKPiAgCXN0cnVjdCBkZXZpY2UgKmRldiA9 IHBjaS0+ZGV2Owo+IC0JdW5zaWduZWQgaW50IG51bV9jbGtzLCBudW1fb3B0X2Nsa3M7Cj4gLQl1 bnNpZ25lZCBpbnQgaWR4Owo+ICAJaW50IHJldDsKPiAgCj4gIAlyZXMtPnJzdCA9IGRldm1fcmVz ZXRfY29udHJvbF9hcnJheV9nZXRfZXhjbHVzaXZlKGRldik7Cj4gQEAgLTg3NywzNyArODAxLDYg QEAgc3RhdGljIGludCBxY29tX3BjaWVfZ2V0X3Jlc291cmNlc18yXzdfMChzdHJ1Y3QgcWNvbV9w Y2llICpwY2llKQo+ICAJaWYgKHJldCkKPiAgCQlyZXR1cm4gcmV0Owo+ICAKPiAtCWlkeCA9IDA7 Cj4gLQlyZXMtPmNsa3NbaWR4KytdLmlkID0gImF1eCI7Cj4gLQlyZXMtPmNsa3NbaWR4KytdLmlk ID0gImNmZyI7Cj4gLQlyZXMtPmNsa3NbaWR4KytdLmlkID0gImJ1c19tYXN0ZXIiOwo+IC0JcmVz LT5jbGtzW2lkeCsrXS5pZCA9ICJidXNfc2xhdmUiOwo+IC0JcmVzLT5jbGtzW2lkeCsrXS5pZCA9 ICJzbGF2ZV9xMmEiOwo+IC0KPiAtCW51bV9jbGtzID0gaWR4Owo+IC0KPiAtCXJldCA9IGRldm1f Y2xrX2J1bGtfZ2V0KGRldiwgbnVtX2Nsa3MsIHJlcy0+Y2xrcyk7Cj4gLQlpZiAocmV0IDwgMCkK PiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAtCXJlcy0+Y2xrc1tpZHgrK10uaWQgPSAidGJ1IjsKPiAt CXJlcy0+Y2xrc1tpZHgrK10uaWQgPSAiZGRyc3Nfc2ZfdGJ1IjsKPiAtCXJlcy0+Y2xrc1tpZHgr K10uaWQgPSAiYWdncmUwIjsKPiAtCXJlcy0+Y2xrc1tpZHgrK10uaWQgPSAiYWdncmUxIjsKPiAt CXJlcy0+Y2xrc1tpZHgrK10uaWQgPSAibm9jX2FnZ3IiOwo+IC0JcmVzLT5jbGtzW2lkeCsrXS5p ZCA9ICJub2NfYWdncl80IjsKPiAtCXJlcy0+Y2xrc1tpZHgrK10uaWQgPSAibm9jX2FnZ3Jfc291 dGhfc2YiOwo+IC0JcmVzLT5jbGtzW2lkeCsrXS5pZCA9ICJjbm9jX3F4IjsKPiAtCXJlcy0+Y2xr c1tpZHgrK10uaWQgPSAic2xlZXAiOwo+IC0JcmVzLT5jbGtzW2lkeCsrXS5pZCA9ICJjbm9jX3Nm X2F4aSI7Cj4gLQo+IC0JbnVtX29wdF9jbGtzID0gaWR4IC0gbnVtX2Nsa3M7Cj4gLQlyZXMtPm51 bV9jbGtzID0gaWR4Owo+IC0KPiAtCXJldCA9IGRldm1fY2xrX2J1bGtfZ2V0X29wdGlvbmFsKGRl diwgbnVtX29wdF9jbGtzLCByZXMtPmNsa3MgKyBudW1fY2xrcyk7Cj4gLQlpZiAocmV0IDwgMCkK PiAtCQlyZXR1cm4gcmV0Owo+IC0KPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC05MjUsNyAr ODE4LDcgQEAgc3RhdGljIGludCBxY29tX3BjaWVfaW5pdF8yXzdfMChzdHJ1Y3QgcWNvbV9wY2ll ICpwY2llKQo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JcmV0ID0gY2xrX2J1bGtfcHJl cGFyZV9lbmFibGUocmVzLT5udW1fY2xrcywgcmVzLT5jbGtzKTsKPiArCXJldCA9IGNsa19idWxr X3ByZXBhcmVfZW5hYmxlKHBjaWUtPm51bV9jbGtzLCBwY2llLT5jbGtzKTsKPiAgCWlmIChyZXQg PCAwKQo+ICAJCWdvdG8gZXJyX2Rpc2FibGVfcmVndWxhdG9yczsKPiAgCj4gQEAgLTk3Nyw3ICs4 NzAsNyBAQCBzdGF0aWMgaW50IHFjb21fcGNpZV9pbml0XzJfN18wKHN0cnVjdCBxY29tX3BjaWUg KnBjaWUpCj4gIAo+ICAJcmV0dXJuIDA7Cj4gIGVycl9kaXNhYmxlX2Nsb2NrczoKPiAtCWNsa19i dWxrX2Rpc2FibGVfdW5wcmVwYXJlKHJlcy0+bnVtX2Nsa3MsIHJlcy0+Y2xrcyk7Cj4gKwljbGtf YnVsa19kaXNhYmxlX3VucHJlcGFyZShwY2llLT5udW1fY2xrcywgcGNpZS0+Y2xrcyk7Cj4gIGVy cl9kaXNhYmxlX3JlZ3VsYXRvcnM6Cj4gIAlyZWd1bGF0b3JfYnVsa19kaXNhYmxlKEFSUkFZX1NJ WkUocmVzLT5zdXBwbGllcyksIHJlcy0+c3VwcGxpZXMpOwo+ICAKPiBAQCAtMTAxNSw3ICs5MDgs NyBAQCBzdGF0aWMgdm9pZCBxY29tX3BjaWVfZGVpbml0XzJfN18wKHN0cnVjdCBxY29tX3BjaWUg KnBjaWUpCj4gIHsKPiAgCXN0cnVjdCBxY29tX3BjaWVfcmVzb3VyY2VzXzJfN18wICpyZXMgPSAm cGNpZS0+cmVzLnYyXzdfMDsKPiAgCj4gLQljbGtfYnVsa19kaXNhYmxlX3VucHJlcGFyZShyZXMt Pm51bV9jbGtzLCByZXMtPmNsa3MpOwo+ICsJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUocGNp ZS0+bnVtX2Nsa3MsIHBjaWUtPmNsa3MpOwo+ICAKPiAgCXJlZ3VsYXRvcl9idWxrX2Rpc2FibGUo QVJSQVlfU0laRShyZXMtPnN1cHBsaWVzKSwgcmVzLT5zdXBwbGllcyk7Cj4gIH0KPiBAQCAtMTEw MSwxNyArOTk0LDYgQEAgc3RhdGljIGludCBxY29tX3BjaWVfZ2V0X3Jlc291cmNlc18yXzlfMChz dHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAJc3RydWN0IHFjb21fcGNpZV9yZXNvdXJjZXNfMl85 XzAgKnJlcyA9ICZwY2llLT5yZXMudjJfOV8wOwo+ICAJc3RydWN0IGR3X3BjaWUgKnBjaSA9IHBj aWUtPnBjaTsKPiAgCXN0cnVjdCBkZXZpY2UgKmRldiA9IHBjaS0+ZGV2Owo+IC0JaW50IHJldDsK PiAtCj4gLQlyZXMtPmNsa3NbMF0uaWQgPSAiaWZhY2UiOwo+IC0JcmVzLT5jbGtzWzFdLmlkID0g ImF4aV9tIjsKPiAtCXJlcy0+Y2xrc1syXS5pZCA9ICJheGlfcyI7Cj4gLQlyZXMtPmNsa3NbM10u aWQgPSAiYXhpX2JyaWRnZSI7Cj4gLQlyZXMtPmNsa3NbNF0uaWQgPSAicmNobmciOwo+IC0KPiAt CXJldCA9IGRldm1fY2xrX2J1bGtfZ2V0KGRldiwgQVJSQVlfU0laRShyZXMtPmNsa3MpLCByZXMt PmNsa3MpOwo+IC0JaWYgKHJldCA8IDApCj4gLQkJcmV0dXJuIHJldDsKPiAgCj4gIAlyZXMtPnJz dCA9IGRldm1fcmVzZXRfY29udHJvbF9hcnJheV9nZXRfZXhjbHVzaXZlKGRldik7Cj4gIAlpZiAo SVNfRVJSKHJlcy0+cnN0KSkKPiBAQCAtMTEyMiw5ICsxMDA0LDcgQEAgc3RhdGljIGludCBxY29t X3BjaWVfZ2V0X3Jlc291cmNlc18yXzlfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+ICAKPiAg c3RhdGljIHZvaWQgcWNvbV9wY2llX2RlaW5pdF8yXzlfMChzdHJ1Y3QgcWNvbV9wY2llICpwY2ll KQo+ICB7Cj4gLQlzdHJ1Y3QgcWNvbV9wY2llX3Jlc291cmNlc18yXzlfMCAqcmVzID0gJnBjaWUt PnJlcy52Ml85XzA7Cj4gLQo+IC0JY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUoQVJSQVlfU0la RShyZXMtPmNsa3MpLCByZXMtPmNsa3MpOwo+ICsJY2xrX2J1bGtfZGlzYWJsZV91bnByZXBhcmUo cGNpZS0+bnVtX2Nsa3MsIHBjaWUtPmNsa3MpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW50IHFjb21f cGNpZV9pbml0XzJfOV8wKHN0cnVjdCBxY29tX3BjaWUgKnBjaWUpCj4gQEAgLTExNTMsNyArMTAz Myw3IEBAIHN0YXRpYyBpbnQgcWNvbV9wY2llX2luaXRfMl85XzAoc3RydWN0IHFjb21fcGNpZSAq cGNpZSkKPiAgCj4gIAl1c2xlZXBfcmFuZ2UoMjAwMCwgMjUwMCk7Cj4gIAo+IC0JcmV0dXJuIGNs a19idWxrX3ByZXBhcmVfZW5hYmxlKEFSUkFZX1NJWkUocmVzLT5jbGtzKSwgcmVzLT5jbGtzKTsK PiArCXJldHVybiBjbGtfYnVsa19wcmVwYXJlX2VuYWJsZShwY2llLT5udW1fY2xrcywgcGNpZS0+ Y2xrcyk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgcWNvbV9wY2llX3Bvc3RfaW5pdF8yXzlfMChz dHJ1Y3QgcWNvbV9wY2llICpwY2llKQo+IEBAIC0xNTYxLDYgKzE0NDEsMTMgQEAgc3RhdGljIGlu dCBxY29tX3BjaWVfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiAgCQlnb3Rv IGVycl9wbV9ydW50aW1lX3B1dDsKPiAgCX0KPiAgCj4gKwlwY2llLT5udW1fY2xrcyA9IGRldm1f Y2xrX2J1bGtfZ2V0X2FsbChkZXYsICZwY2llLT5jbGtzKTsKPiArCWlmIChwY2llLT5udW1fY2xr cyA8IDApIHsKPiArCQlyZXQgPSBwY2llLT5udW1fY2xrczsKPiArCQlkZXZfZXJyKGRldiwgIkZh aWxlZCB0byBnZXQgY2xvY2tzXG4iKTsKPiArCQlnb3RvIGVycl9wbV9ydW50aW1lX3B1dDsKPiAr CX0KPiArCj4gIAlyZXQgPSBxY29tX3BjaWVfaWNjX2luaXQocGNpZSk7Cj4gIAlpZiAocmV0KQo+ ICAJCWdvdG8gZXJyX3BtX3J1bnRpbWVfcHV0Owo+IC0tIAo+IDIuNDAuMQo+IAoKLS0gCuCuruCu o+Cuv+CuteCuo+CvjeCuo+CuqeCvjSDgrprgrqTgrr7grprgrr/grrXgrq7gr40KCi0tIApsaW51 eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo=