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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,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 91D62C76188 for ; Tue, 16 Jul 2019 03:53:24 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 67F0F20693 for ; Tue, 16 Jul 2019 03:53:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="XGKRr2lV"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=samsung.com header.i=@samsung.com header.b="OYtb2z3w" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 67F0F20693 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:References:In-Reply-To:MIME-Version: Date:Message-ID:From:To:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WUk/R+wUSTmoPw/toQloGsJzE7mfJC5OfZNvTicwgcU=; b=XGKRr2lVALVTHm i3Z295LYc8LcE0z12wPPO4LBDPmiTdjFXLOL282tPTfNngWPb/TqMojIt/L+iVn5sVdBseWgjL1Vd 1bNufVVpW3/BXEL9jLRgQ2SGevM/7km2fLWtxhS9FfL5sUgLCpC29GoQol83UMy/8XukQAK2I25QQ iu1CYrHg8jpM1/lu+NbRQ7SSZXDAWJ/EqKxNYG1aSXrO57oPvTFhxzwNDB4juM7a1mPn7r4CwN4k3 /fRRaCTmNSIT62SoCwhRNzID+U/lJFtD8mRONdwcMGSEThZPnZg0pW62oj2A77iXQexU46wuyYhhv 1RdFesbHF1qt4tlBzORw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hnEWp-0002Rl-8v; Tue, 16 Jul 2019 03:53:23 +0000 Received: from mailout2.samsung.com ([203.254.224.25]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hnEWl-0002RJ-8s for linux-arm-kernel@lists.infradead.org; Tue, 16 Jul 2019 03:53:21 +0000 Received: from epcas1p2.samsung.com (unknown [182.195.41.46]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20190716035315epoutp021c97751d10033a8c16356c19e70a1d37~xxtxKpiFS2226322263epoutp02F for ; Tue, 16 Jul 2019 03:53:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20190716035315epoutp021c97751d10033a8c16356c19e70a1d37~xxtxKpiFS2226322263epoutp02F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1563249195; bh=xOrfF2V1TrRx6HR73KDvk6kIn5NuviCScjP9u9RMzGo=; h=Subject:To:Cc:From:Date:In-Reply-To:References:From; b=OYtb2z3wcaCoLAnKd55vnRr5w7c/ICsZ+Q1i1n5GOBmQ99jOEWr9Xv9rKUQv+ornU 2Wz5cSdeS9L7q6JfULe4+Rt1SdWMRutBv4pCjzYUsjbDiFKnJCqsFj6xCaBLMgI0Q9 SvDr+xOnMpURp3RvP6fY/aYI7Kq4xR9h/luNA+hw= Received: from epsnrtp2.localdomain (unknown [182.195.42.163]) by epcas1p1.samsung.com (KnoxPortal) with ESMTP id 20190716035314epcas1p1f1025c2e606ef06dc96c8d6a002fba13~xxtwkzj4T2629426294epcas1p1Q; Tue, 16 Jul 2019 03:53:14 +0000 (GMT) Received: from epsmges1p1.samsung.com (unknown [182.195.40.154]) by epsnrtp2.localdomain (Postfix) with ESMTP id 45nmhS1BKSzMqYkh; Tue, 16 Jul 2019 03:53:12 +0000 (GMT) Received: from epcas1p1.samsung.com ( [182.195.41.45]) by epsmges1p1.samsung.com (Symantec Messaging Gateway) with SMTP id 1B.3F.04088.82A4D2D5; Tue, 16 Jul 2019 12:53:12 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas1p1.samsung.com (KnoxPortal) with ESMTPA id 20190716035311epcas1p1424c1017594946117013e11c31479c22~xxtt10Rze2629426294epcas1p1E; Tue, 16 Jul 2019 03:53:11 +0000 (GMT) Received: from epsmgms1p2new.samsung.com (unknown [182.195.42.42]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20190716035311epsmtrp2dc38d1fc8ae77259f25193da690def31~xxtt0-uE-2387423874epsmtrp2k; Tue, 16 Jul 2019 03:53:11 +0000 (GMT) X-AuditID: b6c32a35-85dff70000000ff8-57-5d2d4a28c96e Received: from epsmtip1.samsung.com ( [182.195.34.30]) by epsmgms1p2new.samsung.com (Symantec Messaging Gateway) with SMTP id 4F.4D.03638.72A4D2D5; Tue, 16 Jul 2019 12:53:11 +0900 (KST) Received: from [10.113.221.102] (unknown [10.113.221.102]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20190716035311epsmtip140bf7c8efb4b5b9bb249b5a4818b165d~xxttoDJOn1311713117epsmtip1S; Tue, 16 Jul 2019 03:53:11 +0000 (GMT) Subject: Re: [PATCH v2 2/4] devfreq: exynos-bus: convert to use dev_pm_opp_set_rate() To: Kamil Konieczny From: Chanwoo Choi Organization: Samsung Electronics Message-ID: <7f7cf551-005a-c647-d571-77eb5426478a@samsung.com> Date: Tue, 16 Jul 2019 12:56:17 +0900 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2 MIME-Version: 1.0 In-Reply-To: <20190715120416.3561-3-k.konieczny@partner.samsung.com> Content-Language: en-US X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrAJsWRmVeSWpSXmKPExsWy7bCmrq6Gl26swewlLBYbZ6xntZh/5Byr Rd++/4wW/Y9fM1ucP7+B3eJs0xt2i02Pr7FaXN41h83ic+8RRosZ5/cxWaw9cpfdYun1i0wW txtXsFm8+XGWyaJ17xF2i3/XNrJYbH5wjM1B0GPNvDWMHptWdbJ5bF5S73Hw3R4mj74tqxg9 jt/YzuTxeZNcAHtUtk1GamJKapFCal5yfkpmXrqtkndwvHO8qZmBoa6hpYW5kkJeYm6qrZKL T4CuW2YO0AdKCmWJOaVAoYDE4mIlfTubovzSklSFjPziElul1IKUnALLAr3ixNzi0rx0veT8 XCtDAwMjU6DChOyM+987WQrOJFVcv7WZtYGxw7eLkZNDQsBE4sHaD6xdjFwcQgI7GCXW37/N BOF8YpT4MeUaC4TzjVHi8aO3TDAtx899Y4RI7GWUaP00Har/PaNE78V97CBVwgLhEr/u72IE sUUETCUerW4AK2IWuMwiMe3RJFaQBJuAlsT+FzfYQGx+AUWJqz8eAzVwcPAK2Em0zg8ACbMI qEpcuPAArFxUIELi1JF5LCA2r4CgxMmZT8BsTgEXidczJ4HtZRYQl7j1ZD4ThC0v0bx1NjPI XgmBc+wS62fPYwKZLwHUcHmxLMQ3whKvjm9hh7ClJD6/28sGYVdLrDx5hA2it4NRYsv+C6wQ CWOJ/Usng81hFtCUWL9LHyKsKLHz91xGiL18Eu++9rBCrOKV6GgTgihRlrj84C40ECUlFrd3 sk1gVJqF5JtZSD6YheSDWQjLFjCyrGIUSy0ozk1PLTYsMESO7U2M4NStZbqDcco5n0OMAhyM Sjy8Cvt1YoVYE8uKK3MPMUpwMCuJ8Np+1Y4V4k1JrKxKLcqPLyrNSS0+xGgKDOyJzFKiyfnA vJJXEm9oamRsbGxhYmhmamioJM47749mrJBAemJJanZqakFqEUwfEwenVAOjTephw5I5L6L8 kvWDgid+qDPhjy+dEO2YfejHhpvHtv3kkMuV3s18nme+cXU138J77OfVXI/3O6eav/lu31mW Hd6wwGMO797/qsIXXYz+fzqcJhadsDlgQ/JxbrU5X5RFhRWZF0z+eexuy+/tghM4bxbm310a 2Z/XsqZNfs7JNkdHkdsPLwkqsRRnJBpqMRcVJwIAmibJQfMDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrNIsWRmVeSWpSXmKPExsWy7bCSnK66l26swYftshYbZ6xntZh/5Byr Rd++/4wW/Y9fM1ucP7+B3eJs0xt2i02Pr7FaXN41h83ic+8RRosZ5/cxWaw9cpfdYun1i0wW txtXsFm8+XGWyaJ17xF2i3/XNrJYbH5wjM1B0GPNvDWMHptWdbJ5bF5S73Hw3R4mj74tqxg9 jt/YzuTxeZNcAHsUl01Kak5mWWqRvl0CV8b9750sBWeSKq7f2szawNjh28XIySEhYCJx/Nw3 xi5GLg4hgd2MEnePNLFAJCQlpl08ytzFyAFkC0scPlwMUfOWUeLg9pVgNcIC4RK/7u9iBLFF BEwlHq1uYAUpYha4yiJxfuMcNoiOi0AdO7exgVSxCWhJ7H9xA8zmF1CUuPrjMSPIBl4BO4nW +QEgYRYBVYkLFx6wgtiiAhESk67tBFvGKyAocXLmEzCbU8BF4vXMSewgNrOAusSfeZeYIWxx iVtP5jNB2PISzVtnM09gFJ6FpH0WkpZZSFpmIWlZwMiyilEytaA4Nz232LDAKC+1XK84Mbe4 NC9dLzk/dxMjOIq1tHYwnjgRf4hRgINRiYf3xB6dWCHWxLLiytxDjBIczEoivLZftWOFeFMS K6tSi/Lji0pzUosPMUpzsCiJ88rnH4sUEkhPLEnNTk0tSC2CyTJxcEo1MOauNd/mpX904RaP 7QVT39o+DVrIIPne97OWyh7T5C1dFXZfjWrinzw1nsaVarFlTkOVjob/gtBKF82+P7c3lz+3 mxT8udnsfcaUimMqga/dkhluaa87EXhTLXEK+/eQ57ZPbbbf+Pq4lHPZvn/ZCzwObDjAKBa5 /1vWuSfcE3ac/cYhKbzv5hElluKMREMt5qLiRABHES1s3gIAAA== X-CMS-MailID: 20190716035311epcas1p1424c1017594946117013e11c31479c22 X-Msg-Generator: CA X-Sendblock-Type: SVC_REQ_APPROVE CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20190715120431eucas1p215eae81d0ca772d7e2a22a803669068a References: <20190715120416.3561-1-k.konieczny@partner.samsung.com> <20190715120416.3561-3-k.konieczny@partner.samsung.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190715_205319_725212_820D1F29 X-CRM114-Status: GOOD ( 36.62 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Nishanth Menon , linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Bartlomiej Zolnierkiewicz , Stephen Boyd , Viresh Kumar , linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, Krzysztof Kozlowski , Rob Herring , Kyungmin Park , Kukjin Kim , MyungJoo Ham , devicetree@vger.kernel.org, Marek Szyprowski Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGkgS2FtaWwsCgpMb29rcyBnb29kIHRvIG1lLiBCdXQsIHRoaXMgcGF0Y2ggaGFzIHNvbWUgaXNz dWUuCkkgYWRkZWQgdGhlIGRldGFpbGVkIHJldmlld3MuCgpJIHJlY29tbWVuZCB0aGF0IHlvdSBt YWtlIHRoZSBzZXBhcmF0ZSBwYXRjaGVzIGFzIGZvbGxvd2luZwppbiBvcmRlciB0byBjbGFyaWZ5 IHRoZSByb2xlIG9mIHdoaWNoIGFwcGx5IHRoZSBkZXZfcG1fb3BwXyogZnVuY3Rpb24uCgpGaXJz dCBwYXRjaCwKTmVlZCB0byBjb25zb2xpZGF0ZSB0aGUgZm9sbG93aW5nIHR3byBmdW5jdGlvbiBp bnRvIG9uZSBmdW5jdGlvbi4KYmVjYXVzZSB0aGUgb3JpZ2luYWwgZXh5bm9zLWJ1cy5jIGhhcyB0 aGUgcHJvYmxlbSB0aGF0IHRoZSByZWd1bGF0b3IKb2YgcGFyZW50IGRldmZyZXEgZGV2aWNlIGhh dmUgdG8gYmUgZW5hYmxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIGNsb2NrLgpUaGlzIGlzc3VlIGRp ZCBub3QgaGFwcGVuIGJlY2F1c2UgYm9vdGxvYWRlciBlbmFibGVzIHRoZSBidXMtcmVsYXRlZApy ZWd1bGF0b3JzIGJlZm9yZSBrZXJuZWwgYm9vdGluZy4KLSBleHlub3NfYnVzX3BhcnNlX29mKCkK LSBleHlub3NfYnVzX3BhcmVudF9wYXJzZV9vZigpCgpTZWNvbmQgcGF0Y2gsCkFwcGx5IGRldl9w bV9vcHBfc2V0X3JlZ3VsYXRvcnMoKSBhbmQgZGV2X3BtX29wcF9zZXRfcmF0ZSgpCgoKT24gMTku IDcuIDE1LiDsmKTtm4QgOTowNCwgS2FtaWwgS29uaWVjem55IHdyb3RlOgo+IFJldXNlIG9wcCBj b3JlIGNvZGUgZm9yIHNldHRpbmcgYnVzIGNsb2NrIGFuZCB2b2x0YWdlLiBBcyBhIHNpZGUKPiBl ZmZlY3QgdGhpcyBhbGxvdyB1c2VhZ2Ugb2YgY291cGxlZCByZWd1bGF0b3JzIGZlYXR1cmUgKHJl cXVpcmVkCj4gZm9yIGJvYXJkcyB1c2luZyBFeHlub3M1NDIyLzU4MDAgU29DcykgYmVjYXVzZSBk ZXZfcG1fb3BwX3NldF9yYXRlKCkKPiB1c2VzIHJlZ3VsYXRvcl9zZXRfdm9sdGFnZV90cmlwbGV0 KCkgZm9yIHNldHRpbmcgcmVndWxhdG9yIHZvbHRhZ2UKPiB3aGlsZSB0aGUgb2xkIGNvZGUgdXNl ZCByZWd1bGF0b3Jfc2V0X3ZvbHRhZ2VfdG9sKCkgd2l0aCBmaXhlZAo+IHRvbGVyYW5jZS4gVGhp cyBwYXRjaCBhbHNvIHJlbW92ZXMgbm8gbG9uZ2VyIG5lZWRlZCBwYXJzaW5nIG9mIERUCj4gcHJv cGVydHkgImV4eW5vcyx2b2x0YWdlLXRvbGVyYW5jZSIgKG5vIEV4eW5vcyBkZXZmcmVxIERUIG5v ZGUgdXNlcwo+IGl0KS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBLYW1pbCBLb25pZWN6bnkgPGsua29u aWVjem55QHBhcnRuZXIuc2Ftc3VuZy5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZGV2ZnJlcS9leHlu b3MtYnVzLmMgfCAxNzIgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgMSBm aWxlIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDEwNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9kZXZmcmVxL2V4eW5vcy1idXMuYyBiL2RyaXZlcnMvZGV2ZnJlcS9l eHlub3MtYnVzLmMKPiBpbmRleCA0ODZjYzViNDIyZjEuLjdmYzRmNzZiZDg0OCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2RldmZyZXEvZXh5bm9zLWJ1cy5jCj4gKysrIGIvZHJpdmVycy9kZXZmcmVx L2V4eW5vcy1idXMuYwo+IEBAIC0yNSw3ICsyNSw2IEBACj4gICNpbmNsdWRlIDxsaW51eC9zbGFi Lmg+Cj4gIAo+ICAjZGVmaW5lIERFRkFVTFRfU0FUVVJBVElPTl9SQVRJTwk0MAo+IC0jZGVmaW5l IERFRkFVTFRfVk9MVEFHRV9UT0xFUkFOQ0UJMgo+ICAKPiAgc3RydWN0IGV4eW5vc19idXMgewo+ ICAJc3RydWN0IGRldmljZSAqZGV2Owo+IEBAIC0zNyw5ICszNiw5IEBAIHN0cnVjdCBleHlub3Nf YnVzIHsKPiAgCj4gIAl1bnNpZ25lZCBsb25nIGN1cnJfZnJlcTsKPiAgCj4gLQlzdHJ1Y3QgcmVn dWxhdG9yICpyZWd1bGF0b3I7Cj4gKwlzdHJ1Y3Qgb3BwX3RhYmxlICpvcHBfdGFibGU7Cj4gKwo+ ICAJc3RydWN0IGNsayAqY2xrOwo+IC0JdW5zaWduZWQgaW50IHZvbHRhZ2VfdG9sZXJhbmNlOwo+ ICAJdW5zaWduZWQgaW50IHJhdGlvOwo+ICB9Owo+ICAKPiBAQCAtOTksNTYgKzk4LDI1IEBAIHN0 YXRpYyBpbnQgZXh5bm9zX2J1c190YXJnZXQoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBs b25nICpmcmVxLCB1MzIgZmxhZ3MpCj4gIHsKPiAgCXN0cnVjdCBleHlub3NfYnVzICpidXMgPSBk ZXZfZ2V0X2RydmRhdGEoZGV2KTsKPiAgCXN0cnVjdCBkZXZfcG1fb3BwICpuZXdfb3BwOwo+IC0J dW5zaWduZWQgbG9uZyBvbGRfZnJlcSwgbmV3X2ZyZXEsIG5ld192b2x0LCB0b2w7Cj4gIAlpbnQg cmV0ID0gMDsKPiAtCj4gLQkvKiBHZXQgbmV3IG9wcC1idXMgaW5zdGFuY2UgYWNjb3JkaW5nIHRv IG5ldyBidXMgY2xvY2sgKi8KPiArCS8qCj4gKwkgKiBOZXcgZnJlcXVlbmN5IGZvciBidXMgbWF5 IG5vdCBiZSBleGFjdGx5IG1hdGNoZWQgdG8gb3BwLCBhZGp1c3QKPiArCSAqICpmcmVxIHRvIGNv cnJlY3QgdmFsdWUuCj4gKwkgKi8KCllvdSBiZXR0ZXIgdG8gY2hhbmdlIHRoaXMgY29tbWVudCB3 aXRoIGZvbGxvd2luZyBzdHlsZXMKdG8ga2VlcCB0aGUgY29uc2lzdGVuY3k6CgoJLyogR2V0IGNv cnJlY3QgZnJlcXVlbmN5IGZvciBidXMgLi4uICovCgo+ICAJbmV3X29wcCA9IGRldmZyZXFfcmVj b21tZW5kZWRfb3BwKGRldiwgZnJlcSwgZmxhZ3MpOwo+ICAJaWYgKElTX0VSUihuZXdfb3BwKSkg ewo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCByZWNvbW1lbmRlZCBvcHAgaW5zdGFu Y2VcbiIpOwo+ICAJCXJldHVybiBQVFJfRVJSKG5ld19vcHApOwo+ICAJfQo+ICAKPiAtCW5ld19m cmVxID0gZGV2X3BtX29wcF9nZXRfZnJlcShuZXdfb3BwKTsKPiAtCW5ld192b2x0ID0gZGV2X3Bt X29wcF9nZXRfdm9sdGFnZShuZXdfb3BwKTsKPiAgCWRldl9wbV9vcHBfcHV0KG5ld19vcHApOwo+ ICAKPiAtCW9sZF9mcmVxID0gYnVzLT5jdXJyX2ZyZXE7Cj4gLQo+IC0JaWYgKG9sZF9mcmVxID09 IG5ld19mcmVxKQo+IC0JCXJldHVybiAwOwo+IC0JdG9sID0gbmV3X3ZvbHQgKiBidXMtPnZvbHRh Z2VfdG9sZXJhbmNlIC8gMTAwOwo+IC0KPiAgCS8qIENoYW5nZSB2b2x0YWdlIGFuZCBmcmVxdWVu Y3kgYWNjb3JkaW5nIHRvIG5ldyBPUFAgbGV2ZWwgKi8KPiAgCW11dGV4X2xvY2soJmJ1cy0+bG9j ayk7Cj4gKwlyZXQgPSBkZXZfcG1fb3BwX3NldF9yYXRlKGRldiwgKmZyZXEpOwo+ICsJaWYgKCFy ZXQpCj4gKwkJYnVzLT5jdXJyX2ZyZXEgPSAqZnJlcTsKCkhhdmUgdG8gcHJpbnQgdGhlIGVycm9y IGxvZyBpZiByZXQgaGFzIG1pbnVzIGVycm9yIHZhbHVlLgpNb2RpZnkgaXQgYXMgZm9sbG93aW5n OgoKCWlmIChyZXQgPCAwKSB7CgkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gc2V0IGJ1cyByYXRl XG4iKTsKCQlnb3RvIGVycjoKCX0KCWJ1cy0+Y3Vycl9mcmVxID0gKmZyZXE7CgplcnI6CgltdXRl eF91bmxvY2soJmJ1cy0+bG9jayk7CgkKCXJldHVybiByZXQ7Cgo+ICAKPiAtCWlmIChvbGRfZnJl cSA8IG5ld19mcmVxKSB7Cj4gLQkJcmV0ID0gcmVndWxhdG9yX3NldF92b2x0YWdlX3RvbChidXMt PnJlZ3VsYXRvciwgbmV3X3ZvbHQsIHRvbCk7Cj4gLQkJaWYgKHJldCA8IDApIHsKPiAtCQkJZGV2 X2VycihidXMtPmRldiwgImZhaWxlZCB0byBzZXQgdm9sdGFnZVxuIik7Cj4gLQkJCWdvdG8gb3V0 Owo+IC0JCX0KPiAtCX0KPiAtCj4gLQlyZXQgPSBjbGtfc2V0X3JhdGUoYnVzLT5jbGssIG5ld19m cmVxKTsKPiAtCWlmIChyZXQgPCAwKSB7Cj4gLQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gY2hh bmdlIGNsb2NrIG9mIGJ1c1xuIik7Cj4gLQkJY2xrX3NldF9yYXRlKGJ1cy0+Y2xrLCBvbGRfZnJl cSk7Cj4gLQkJZ290byBvdXQ7Cj4gLQl9Cj4gLQo+IC0JaWYgKG9sZF9mcmVxID4gbmV3X2ZyZXEp IHsKPiAtCQlyZXQgPSByZWd1bGF0b3Jfc2V0X3ZvbHRhZ2VfdG9sKGJ1cy0+cmVndWxhdG9yLCBu ZXdfdm9sdCwgdG9sKTsKPiAtCQlpZiAocmV0IDwgMCkgewo+IC0JCQlkZXZfZXJyKGJ1cy0+ZGV2 LCAiZmFpbGVkIHRvIHNldCB2b2x0YWdlXG4iKTsKPiAtCQkJZ290byBvdXQ7Cj4gLQkJfQo+IC0J fQo+IC0JYnVzLT5jdXJyX2ZyZXEgPSBuZXdfZnJlcTsKPiAtCj4gLQlkZXZfZGJnKGRldiwgIlNl dCB0aGUgZnJlcXVlbmN5IG9mIGJ1cyAoJWx1SHogLT4gJWx1SHosICVsdUh6KVxuIiwKPiAtCQkJ b2xkX2ZyZXEsIG5ld19mcmVxLCBjbGtfZ2V0X3JhdGUoYnVzLT5jbGspKTsKPiAtb3V0Ogo+ICAJ bXV0ZXhfdW5sb2NrKCZidXMtPmxvY2spOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gQEAgLTE5NCwx MCArMTYyLDExIEBAIHN0YXRpYyB2b2lkIGV4eW5vc19idXNfZXhpdChzdHJ1Y3QgZGV2aWNlICpk ZXYpCj4gIAlpZiAocmV0IDwgMCkKPiAgCQlkZXZfd2FybihkZXYsICJmYWlsZWQgdG8gZGlzYWJs ZSB0aGUgZGV2ZnJlcS1ldmVudCBkZXZpY2VzXG4iKTsKPiAgCj4gLQlpZiAoYnVzLT5yZWd1bGF0 b3IpCj4gLQkJcmVndWxhdG9yX2Rpc2FibGUoYnVzLT5yZWd1bGF0b3IpOwo+ICsJaWYgKGJ1cy0+ b3BwX3RhYmxlKQo+ICsJCWRldl9wbV9vcHBfcHV0X3JlZ3VsYXRvcnMoYnVzLT5vcHBfdGFibGUp OwoKSGF2ZSB0byBkaXNhYmxlIHJlZ3VsYXRvciBhZnRlciBkaXNhYmxpbmcgdGhlIGNsb2NrCnRv IHByZXZlbnQgdGhlIGgvdyBmYXVsdC4KCkkgdGhpbmsgdGhhdCB5b3Ugc2hvdWxkIGNhbGwgdGhl bSB3aXRoIGZvbGxvd2luZyBzZXF1ZW5jZToKCgljbGtfZGlzYWJsZV91bnByZXBhcmUoYnVzLT5j bGspOwoJaWYgKGJ1cy0+b3BwX3RhYmxlKQoJCWRldl9wbV9vcHBfcHV0X3JlZ3VsYXRvcnMoYnVz LT5vcHBfdGFibGUpOwoJZGV2X3BtX29wcF9vZl9yZW1vdmVfdGFibGUoZGV2KTsKCj4gIAo+ICAJ ZGV2X3BtX29wcF9vZl9yZW1vdmVfdGFibGUoZGV2KTsKPiArCj4gIAljbGtfZGlzYWJsZV91bnBy ZXBhcmUoYnVzLT5jbGspOwo+ICB9Cj4gIAo+IEBAIC0yMDksMzkgKzE3OCwyNiBAQCBzdGF0aWMg aW50IGV4eW5vc19idXNfcGFzc2l2ZV90YXJnZXQoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25l ZCBsb25nICpmcmVxLAo+ICB7Cj4gIAlzdHJ1Y3QgZXh5bm9zX2J1cyAqYnVzID0gZGV2X2dldF9k cnZkYXRhKGRldik7Cj4gIAlzdHJ1Y3QgZGV2X3BtX29wcCAqbmV3X29wcDsKPiAtCXVuc2lnbmVk IGxvbmcgb2xkX2ZyZXEsIG5ld19mcmVxOwo+IC0JaW50IHJldCA9IDA7Cj4gKwlpbnQgcmV0Owo+ ICAKPiAtCS8qIEdldCBuZXcgb3BwLWJ1cyBpbnN0YW5jZSBhY2NvcmRpbmcgdG8gbmV3IGJ1cyBj bG9jayAqLwo+ICsJLyoKPiArCSAqIE5ldyBmcmVxdWVuY3kgZm9yIGJ1cyBtYXkgbm90IGJlIGV4 YWN0bHkgbWF0Y2hlZCB0byBvcHAsIGFkanVzdAo+ICsJICogKmZyZXEgdG8gY29ycmVjdCB2YWx1 ZS4KPiArCSAqLwoKWW91IGJldHRlciB0byBjaGFuZ2UgdGhpcyBjb21tZW50IHdpdGggZm9sbG93 aW5nIHN0eWxlcwp0byBrZWVwIHRoZSBjb25zaXN0ZW5jeToKCgkvKiBHZXQgY29ycmVjdCBmcmVx dWVuY3kgZm9yIGJ1cyAuLi4gKi8KCj4gIAluZXdfb3BwID0gZGV2ZnJlcV9yZWNvbW1lbmRlZF9v cHAoZGV2LCBmcmVxLCBmbGFncyk7Cj4gIAlpZiAoSVNfRVJSKG5ld19vcHApKSB7Cj4gIAkJZGV2 X2VycihkZXYsICJmYWlsZWQgdG8gZ2V0IHJlY29tbWVuZGVkIG9wcCBpbnN0YW5jZVxuIik7Cj4g IAkJcmV0dXJuIFBUUl9FUlIobmV3X29wcCk7Cj4gIAl9Cj4gIAo+IC0JbmV3X2ZyZXEgPSBkZXZf cG1fb3BwX2dldF9mcmVxKG5ld19vcHApOwo+ICAJZGV2X3BtX29wcF9wdXQobmV3X29wcCk7Cj4g IAo+IC0Jb2xkX2ZyZXEgPSBidXMtPmN1cnJfZnJlcTsKPiAtCj4gLQlpZiAob2xkX2ZyZXEgPT0g bmV3X2ZyZXEpCj4gLQkJcmV0dXJuIDA7Cj4gLQo+ICAJLyogQ2hhbmdlIHRoZSBmcmVxdWVuY3kg YWNjb3JkaW5nIHRvIG5ldyBPUFAgbGV2ZWwgKi8KPiAgCW11dGV4X2xvY2soJmJ1cy0+bG9jayk7 Cj4gKwlyZXQgPSBkZXZfcG1fb3BwX3NldF9yYXRlKGRldiwgKmZyZXEpOwo+ICsJaWYgKCFyZXQp Cj4gKwkJYnVzLT5jdXJyX2ZyZXEgPSAqZnJlcTsKCmRpdHRvLiBIYXZlIHRvIHByaW50IHRoZSBl cnJvciBsb2csIGNoZWNrIGFib3ZlIGNvbW1lbnQuCgo+ICAKPiAtCXJldCA9IGNsa19zZXRfcmF0 ZShidXMtPmNsaywgbmV3X2ZyZXEpOwo+IC0JaWYgKHJldCA8IDApIHsKPiAtCQlkZXZfZXJyKGRl diwgImZhaWxlZCB0byBzZXQgdGhlIGNsb2NrIG9mIGJ1c1xuIik7Cj4gLQkJZ290byBvdXQ7Cj4g LQl9Cj4gLQo+IC0JKmZyZXEgPSBuZXdfZnJlcTsKPiAtCWJ1cy0+Y3Vycl9mcmVxID0gbmV3X2Zy ZXE7Cj4gLQo+IC0JZGV2X2RiZyhkZXYsICJTZXQgdGhlIGZyZXF1ZW5jeSBvZiBidXMgKCVsdUh6 IC0+ICVsdUh6LCAlbHVIeilcbiIsCj4gLQkJCW9sZF9mcmVxLCBuZXdfZnJlcSwgY2xrX2dldF9y YXRlKGJ1cy0+Y2xrKSk7Cj4gLW91dDoKPiAgCW11dGV4X3VubG9jaygmYnVzLT5sb2NrKTsKPiAg Cj4gIAlyZXR1cm4gcmV0Owo+IEBAIC0yNTksMjAgKzIxNSw3IEBAIHN0YXRpYyBpbnQgZXh5bm9z X2J1c19wYXJlbnRfcGFyc2Vfb2Yoc3RydWN0IGRldmljZV9ub2RlICpucCwKPiAgCQkJCQlzdHJ1 Y3QgZXh5bm9zX2J1cyAqYnVzKQo+ICB7Cj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSBidXMtPmRl djsKPiAtCWludCBpLCByZXQsIGNvdW50LCBzaXplOwo+IC0KPiAtCS8qIEdldCB0aGUgcmVndWxh dG9yIHRvIHByb3ZpZGUgZWFjaCBidXMgd2l0aCB0aGUgcG93ZXIgKi8KPiAtCWJ1cy0+cmVndWxh dG9yID0gZGV2bV9yZWd1bGF0b3JfZ2V0KGRldiwgInZkZCIpOwo+IC0JaWYgKElTX0VSUihidXMt PnJlZ3VsYXRvcikpIHsKPiAtCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgVkREIHJlZ3Vs YXRvclxuIik7Cj4gLQkJcmV0dXJuIFBUUl9FUlIoYnVzLT5yZWd1bGF0b3IpOwo+IC0JfQo+IC0K PiAtCXJldCA9IHJlZ3VsYXRvcl9lbmFibGUoYnVzLT5yZWd1bGF0b3IpOwo+IC0JaWYgKHJldCA8 IDApIHsKPiAtCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBlbmFibGUgVkREIHJlZ3VsYXRvclxu Iik7Cj4gLQkJcmV0dXJuIHJldDsKPiAtCX0KPiArCWludCBpLCBjb3VudCwgc2l6ZTsKPiAgCj4g IAkvKgo+ICAJICogR2V0IHRoZSBkZXZmcmVxLWV2ZW50IGRldmljZXMgdG8gZ2V0IHRoZSBjdXJy ZW50IHV0aWxpemF0aW9uIG9mCj4gQEAgLTI4MSwyNCArMjI0LDIwIEBAIHN0YXRpYyBpbnQgZXh5 bm9zX2J1c19wYXJlbnRfcGFyc2Vfb2Yoc3RydWN0IGRldmljZV9ub2RlICpucCwKPiAgCWNvdW50 ID0gZGV2ZnJlcV9ldmVudF9nZXRfZWRldl9jb3VudChkZXYpOwo+ICAJaWYgKGNvdW50IDwgMCkg ewo+ICAJCWRldl9lcnIoZGV2LCAiZmFpbGVkIHRvIGdldCB0aGUgY291bnQgb2YgZGV2ZnJlcS1l dmVudCBkZXZcbiIpOwo+IC0JCXJldCA9IGNvdW50Owo+IC0JCWdvdG8gZXJyX3JlZ3VsYXRvcjsK PiArCQlyZXR1cm4gY291bnQ7Cj4gIAl9Cj4gKwo+ICAJYnVzLT5lZGV2X2NvdW50ID0gY291bnQ7 Cj4gIAo+ICAJc2l6ZSA9IHNpemVvZigqYnVzLT5lZGV2KSAqIGNvdW50Owo+ICAJYnVzLT5lZGV2 ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZSwgR0ZQX0tFUk5FTCk7Cj4gLQlpZiAoIWJ1cy0+ZWRl dikgewo+IC0JCXJldCA9IC1FTk9NRU07Cj4gLQkJZ290byBlcnJfcmVndWxhdG9yOwo+IC0JfQo+ ICsJaWYgKCFidXMtPmVkZXYpCj4gKwkJcmV0dXJuIC1FTk9NRU07Cj4gIAo+ICAJZm9yIChpID0g MDsgaSA8IGNvdW50OyBpKyspIHsKPiAgCQlidXMtPmVkZXZbaV0gPSBkZXZmcmVxX2V2ZW50X2dl dF9lZGV2X2J5X3BoYW5kbGUoZGV2LCBpKTsKPiAtCQlpZiAoSVNfRVJSKGJ1cy0+ZWRldltpXSkp IHsKPiAtCQkJcmV0ID0gLUVQUk9CRV9ERUZFUjsKPiAtCQkJZ290byBlcnJfcmVndWxhdG9yOwo+ IC0JCX0KPiArCQlpZiAoSVNfRVJSKGJ1cy0+ZWRldltpXSkpCj4gKwkJCXJldHVybiAtRVBST0JF X0RFRkVSOwo+ICAJfQo+ICAKPiAgCS8qCj4gQEAgLTMxNCwyMiArMjUzLDE1IEBAIHN0YXRpYyBp bnQgZXh5bm9zX2J1c19wYXJlbnRfcGFyc2Vfb2Yoc3RydWN0IGRldmljZV9ub2RlICpucCwKPiAg CWlmIChvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgImV4eW5vcyxzYXR1cmF0aW9uLXJhdGlvIiwg JmJ1cy0+cmF0aW8pKQo+ICAJCWJ1cy0+cmF0aW8gPSBERUZBVUxUX1NBVFVSQVRJT05fUkFUSU87 Cj4gIAo+IC0JaWYgKG9mX3Byb3BlcnR5X3JlYWRfdTMyKG5wLCAiZXh5bm9zLHZvbHRhZ2UtdG9s ZXJhbmNlIiwKPiAtCQkJCQkmYnVzLT52b2x0YWdlX3RvbGVyYW5jZSkpCj4gLQkJYnVzLT52b2x0 YWdlX3RvbGVyYW5jZSA9IERFRkFVTFRfVk9MVEFHRV9UT0xFUkFOQ0U7Cj4gLQo+ICAJcmV0dXJu IDA7Cj4gLQo+IC1lcnJfcmVndWxhdG9yOgo+IC0JcmVndWxhdG9yX2Rpc2FibGUoYnVzLT5yZWd1 bGF0b3IpOwo+IC0KPiAtCXJldHVybiByZXQ7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgZXh5bm9z X2J1c19wYXJzZV9vZihzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wLAo+IC0JCQkgICAgICBzdHJ1Y3Qg ZXh5bm9zX2J1cyAqYnVzKQo+ICsJCQkgICAgICBzdHJ1Y3QgZXh5bm9zX2J1cyAqYnVzLCBib29s IHBhc3NpdmUpCj4gIHsKPiAgCXN0cnVjdCBkZXZpY2UgKmRldiA9IGJ1cy0+ZGV2Owo+ICsJc3Ry dWN0IG9wcF90YWJsZSAqb3BwX3RhYmxlOwo+ICsJY29uc3QgY2hhciAqdmRkID0gInZkZCI7Cj4g IAlzdHJ1Y3QgZGV2X3BtX29wcCAqb3BwOwo+ICAJdW5zaWduZWQgbG9uZyByYXRlOwo+ICAJaW50 IHJldDsKPiBAQCAtMzQ3LDExICsyNzksMjIgQEAgc3RhdGljIGludCBleHlub3NfYnVzX3BhcnNl X29mKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCj4gIAkJcmV0dXJuIHJldDsKPiAgCX0KPiAgCj4g KwlpZiAoIXBhc3NpdmUpIHsKPiArCQlvcHBfdGFibGUgPSBkZXZfcG1fb3BwX3NldF9yZWd1bGF0 b3JzKGRldiwgJnZkZCwgMSk7Cj4gKwkJaWYgKElTX0VSUihvcHBfdGFibGUpKSB7Cj4gKwkJCXJl dCA9IFBUUl9FUlIob3BwX3RhYmxlKTsKPiArCQkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gc2V0 IHJlZ3VsYXRvcnMgJWRcbiIsIHJldCk7Cj4gKwkJCWdvdG8gZXJyX2NsazsvCj4gKwkJfQo+ICsK PiArCQlidXMtPm9wcF90YWJsZSA9IG9wcF90YWJsZTsKPiArCX0KClRoaXMgZHJpdmVyIGhhcyBl eHlub3NfYnVzX3BhcmVudF9wYXJzZV9vZigpIGZ1bmN0aW9uIGZvciBwYXJlbnQgZGV2ZnJlcSBk ZXZpY2UuCmRldl9wbV9vcHBfc2V0X3JlZ3VsYXRvcnMoKSBoYXZlIHRvIGJlIGNhbGxlZCBpbiBl eHlub3NfYnVzX3BhcmVudF9wYXJzZV9vZigpCmJlY2F1c2UgdGhlIHJlZ3VsYXRvciBpcyBvbmx5 IHVzZWQgYnkgcGFyZW50IGRldmZyZXEgZGV2aWNlLgoKPiArCj4gIAkvKiBHZXQgdGhlIGZyZXEg YW5kIHZvbHRhZ2UgZnJvbSBPUFAgdGFibGUgdG8gc2NhbGUgdGhlIGJ1cyBmcmVxICovCj4gIAly ZXQgPSBkZXZfcG1fb3BwX29mX2FkZF90YWJsZShkZXYpOwo+ICAJaWYgKHJldCA8IDApIHsKPiAg CQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBnZXQgT1BQIHRhYmxlXG4iKTsKPiAtCQlnb3RvIGVy cl9jbGs7Cj4gKwkJZ290byBlcnJfcmVndWxhdG9yOwo+ICAJfQo+ICAKPiAgCXJhdGUgPSBjbGtf Z2V0X3JhdGUoYnVzLT5jbGspOwo+IEBAIC0zNjIsNiArMzA1LDcgQEAgc3RhdGljIGludCBleHlu b3NfYnVzX3BhcnNlX29mKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsCj4gIAkJcmV0ID0gUFRSX0VS UihvcHApOwo+ICAJCWdvdG8gZXJyX29wcDsKPiAgCX0KPiArCj4gIAlidXMtPmN1cnJfZnJlcSA9 IGRldl9wbV9vcHBfZ2V0X2ZyZXEob3BwKTsKPiAgCWRldl9wbV9vcHBfcHV0KG9wcCk7Cj4gIAo+ IEBAIC0zNjksNiArMzEzLDEzIEBAIHN0YXRpYyBpbnQgZXh5bm9zX2J1c19wYXJzZV9vZihzdHJ1 Y3QgZGV2aWNlX25vZGUgKm5wLAo+ICAKPiAgZXJyX29wcDoKPiAgCWRldl9wbV9vcHBfb2ZfcmVt b3ZlX3RhYmxlKGRldik7Cj4gKwo+ICtlcnJfcmVndWxhdG9yOgo+ICsJaWYgKGJ1cy0+b3BwX3Rh YmxlKSB7Cj4gKwkJZGV2X3BtX29wcF9wdXRfcmVndWxhdG9ycyhidXMtPm9wcF90YWJsZSk7Cj4g KwkJYnVzLT5vcHBfdGFibGUgPSBOVUxMOwo+ICsJfQoKQXMgSSBtZW50aW9uZWQgYWJvdmUsIGl0 IGl0IHdyb25nIHRvIGNhbGwgZGV2X3BtX29wcF9wdXRfcmVndWxhdG9ycygpCmFmdGVyIHJlbW92 aW5nIHRoZSBvcHBfdGFibGUgYnkgZGV2X3BtX29wcF9vZl9yZW1vdmVfdGFibGUoKS4KCj4gKwo+ ICBlcnJfY2xrOgo+ICAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGJ1cy0+Y2xrKTsKPiAgCj4gQEAg LTM4Niw2ICszMzcsNyBAQCBzdGF0aWMgaW50IGV4eW5vc19idXNfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPiAgCXN0cnVjdCBleHlub3NfYnVzICpidXM7Cj4gIAlpbnQgcmV0 LCBtYXhfc3RhdGU7Cj4gIAl1bnNpZ25lZCBsb25nIG1pbl9mcmVxLCBtYXhfZnJlcTsKPiArCWJv b2wgcGFzc2l2ZSA9IGZhbHNlOwo+ICAKPiAgCWlmICghbnApIHsKPiAgCQlkZXZfZXJyKGRldiwg ImZhaWxlZCB0byBmaW5kIGRldmljZXRyZWUgbm9kZVxuIik7Cj4gQEAgLTM5NSwxMiArMzQ3LDE4 IEBAIHN0YXRpYyBpbnQgZXh5bm9zX2J1c19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ICAJYnVzID0gZGV2bV9remFsbG9jKCZwZGV2LT5kZXYsIHNpemVvZigqYnVzKSwgR0ZQ X0tFUk5FTCk7Cj4gIAlpZiAoIWJ1cykKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiArCj4gIAltdXRl eF9pbml0KCZidXMtPmxvY2spOwo+ICAJYnVzLT5kZXYgPSAmcGRldi0+ZGV2Owo+ICAJcGxhdGZv cm1fc2V0X2RydmRhdGEocGRldiwgYnVzKTsKPiArCW5vZGUgPSBvZl9wYXJzZV9waGFuZGxlKGRl di0+b2Zfbm9kZSwgImRldmZyZXEiLCAwKTsKPiArCWlmIChub2RlKSB7Cj4gKwkJb2Zfbm9kZV9w dXQobm9kZSk7Cj4gKwkJcGFzc2l2ZSA9IHRydWU7Cj4gKwl9Cj4gIAo+ICAJLyogUGFyc2UgdGhl IGRldmljZS10cmVlIHRvIGdldCB0aGUgcmVzb3VyY2UgaW5mb3JtYXRpb24gKi8KPiAtCXJldCA9 IGV4eW5vc19idXNfcGFyc2Vfb2YobnAsIGJ1cyk7Cj4gKwlyZXQgPSBleHlub3NfYnVzX3BhcnNl X29mKG5wLCBidXMsIHBhc3NpdmUpOwo+ICAJaWYgKHJldCA8IDApCj4gIAkJcmV0dXJuIHJldDsK PiAgCj4gQEAgLTQxMCwxMyArMzY4LDEwIEBAIHN0YXRpYyBpbnQgZXh5bm9zX2J1c19wcm9iZShz dHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJCWdvdG8gZXJyOwo+ICAJfQo+ICAKPiAt CW5vZGUgPSBvZl9wYXJzZV9waGFuZGxlKGRldi0+b2Zfbm9kZSwgImRldmZyZXEiLCAwKTsKPiAt CWlmIChub2RlKSB7Cj4gLQkJb2Zfbm9kZV9wdXQobm9kZSk7Cj4gKwlpZiAocGFzc2l2ZSkKPiAg CQlnb3RvIHBhc3NpdmU7Cj4gLQl9IGVsc2Ugewo+IC0JCXJldCA9IGV4eW5vc19idXNfcGFyZW50 X3BhcnNlX29mKG5wLCBidXMpOwo+IC0JfQo+ICsKPiArCXJldCA9IGV4eW5vc19idXNfcGFyZW50 X3BhcnNlX29mKG5wLCBidXMpOwo+ICAKClJlbW92ZSB1bm5lZWRlZCBibGFuayBsaW5lLgoKPiAg CWlmIChyZXQgPCAwKQo+ICAJCWdvdG8gZXJyOwo+IEBAIC01MDksNiArNDY0LDExIEBAIHN0YXRp YyBpbnQgZXh5bm9zX2J1c19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAK PiAgZXJyOgo+ICAJZGV2X3BtX29wcF9vZl9yZW1vdmVfdGFibGUoZGV2KTsKPiArCWlmIChidXMt Pm9wcF90YWJsZSkgewo+ICsJCWRldl9wbV9vcHBfcHV0X3JlZ3VsYXRvcnMoYnVzLT5vcHBfdGFi bGUpOwo+ICsJCWJ1cy0+b3BwX3RhYmxlID0gTlVMTDsKPiArCX0KPiArCgpkaXR0by4KSGF2ZSB0 byBkaXNhYmxlIHJlZ3VsYXRvciBhZnRlciBkaXNhYmxpbmcgdGhlIGNsb2NrCnRvIHByZXZlbnQg dGhlIGgvdyBmYXVsdC4KCkkgdGhpbmsgdGhhdCB5b3Ugc2hvdWxkIGNhbGwgdGhlbSB3aXRoIGZv bGxvd2luZyBzZXF1ZW5jZToKCgljbGtfZGlzYWJsZV91bnByZXBhcmUoYnVzLT5jbGspOwoJaWYg KGJ1cy0+b3BwX3RhYmxlKQoJCWRldl9wbV9vcHBfcHV0X3JlZ3VsYXRvcnMoYnVzLT5vcHBfdGFi bGUpOwoJZGV2X3BtX29wcF9vZl9yZW1vdmVfdGFibGUoZGV2KTsKCj4gIAljbGtfZGlzYWJsZV91 bnByZXBhcmUoYnVzLT5jbGspOwo+ICAKPiAgCXJldHVybiByZXQ7Cj4gCgoKLS0gCkJlc3QgUmVn YXJkcywKQ2hhbndvbyBDaG9pClNhbXN1bmcgRWxlY3Ryb25pY3MKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBs aXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK