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 067F1C43458 for ; Fri, 10 Jul 2026 21:15:37 +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:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=+Z4l+Qd5G3wL0Ru+GA5dP5itK6qhm3F/iKw3hDeavgQ=; b=B0ZJdcOMCgpwXO PFzm9rX69eeDCudv/KzOGsHyllXA0vtwleYIGocX3GheO8FzljTJK70otwAbMZmJDuyXbp/t3/TCh 4acW8nkfpZX2JmOFJHCQtiPUQ2YjuqH1lPuItJsZu4N5EzzAd+027bhXkVf84MDHwsclDBfh4Wg8Y YjLiT91KPNmHvRX0Ohwvx2eveAeMbRXd3JdgaxsSf5XZOuYjXBP8U6i2r12v6hDQkXi5SKUHtQlLp qVb2u/nxbIGi6GgB3uvo33AY3Ps0OlyzKjX4r6brP9uWhAfz+Rmiv0XovFFEqAENIdPbUWUCSEF8y f1G8hNLj78TegDFULz8Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wiIZM-00000005mng-3G8A; Fri, 10 Jul 2026 21:15:36 +0000 Received: from tor.source.kernel.org ([2600:3c04:e001:324:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wiIZK-00000005mnI-3XqN for linux-phy@lists.infradead.org; Fri, 10 Jul 2026 21:15:34 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 02DB260051; Fri, 10 Jul 2026 21:15:34 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 460201F000E9; Fri, 10 Jul 2026 21:15:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1783718133; bh=mSMn8ktTR1mf/DKEwlzAsknkClUSx+l2ubdqBKejdFQ=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=Ji/gZ+NvlGKnZEG1wlrriS0LSF1cIzsQvOXTkQzq7CEQrWHs/gi683wZ3vbKctxA0 QFQ9R3qfc6yOuEZXKAUyNtm6o14O6DF+FXVnTti/Bwyw4U50xD6SgGNTS8dxKcsqSw V/3d6HtRO0sYnt0jALXuaWympDnSBJdXiXZsX5FN/FBfBzpAOCwzRam8Gpr7ukPjNK RjUzbBe4bwyAzTWeZVZxYdEMxWIQvmvsmsddtCYI0Q8s2zZ2KYD/VCNS8JFEvcD3aq aQUblbqlyVBdldQ2sRH/tXPDlb2xp4jfTIFnSzGsI42nBcgLlEd/AvDZk/Th9Mh0Va B2TghSBSlsR4w== From: sashiko-bot@kernel.org Subject: Re: [PATCH v12 02/36] phy: rockchip: usbdp: Update mode_change after error handling To: "Sebastian Reichel" Cc: conor+dt@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org, linux-phy@lists.infradead.org, vkoul@kernel.org, robh@kernel.org, devicetree@vger.kernel.org In-Reply-To: <20260710-rockchip-usbdp-cleanup-v12-2-8b41a9a9bef0@collabora.com> References: <20260710-rockchip-usbdp-cleanup-v12-0-8b41a9a9bef0@collabora.com> <20260710-rockchip-usbdp-cleanup-v12-2-8b41a9a9bef0@collabora.com> Date: Fri, 10 Jul 2026 21:15:32 +0000 Message-Id: <20260710211533.460201F000E9@smtp.kernel.org> 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: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 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 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg OCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6CgpQcmUtZXhpc3RpbmcgaXNzdWVzOgot IFtDcml0aWNhbF0gQXN5bmNocm9ub3VzIFBIWSBtb2RlIGNoYW5nZXMgd2hpbGUgVVNCIGlzIGFj dGl2ZSBjYXVzZSBmYXRhbCBTRXJyb3JzIChrZXJuZWwgcGFuaWNzKSBiZWNhdXNlIFBIWSBjbG9j a3MgYXJlIGRpc2FibGVkIHdpdGhvdXQgbm90aWZ5aW5nIHRoZSBhY3RpdmUgRFdDMyBjb250cm9s bGVyLgotIFtIaWdoXSBgcmtfdWRwaHlfcG93ZXJfb24oKWAgaW5jb3JyZWN0bHkgZHJvcHMgYWN0 aXZlIGNvbnN1bWVyIHRyYWNraW5nIGluIGB1ZHBoeS0+c3RhdHVzYCBkdXJpbmcgYSBtb2RlIGNo YW5nZSwgcG90ZW50aWFsbHkgY2F1c2luZyB0aGUgUEhZIHRvIGJlIGRpc2FibGVkIHdoaWxlIHN0 aWxsIGluIHVzZS4KLSBbSGlnaF0gVGhlIFUzIChVU0IzKSBwb3J0IGlzIG5vdCByZS1lbmFibGVk IHdoZW4gdHJhbnNpdGlvbmluZyBmcm9tIERQLW9ubHkgbW9kZSB0byBEUCtVU0IgbW9kZSwgY2F1 c2luZyBVU0IzIHRvIHJlbWFpbiBicm9rZW4uCi0gW0hpZ2hdIGBya191ZHBoeV9jbGtfaW5pdCgp YCBzaGFkb3dzIHRoZSBlcnJvciBjb2RlIGZyb20gYGRldm1fY2xrX2J1bGtfZ2V0X2FsbCgpYCwg YnJlYWtpbmcgZGVmZXJyZWQgcHJvYmluZy4KLSBbSGlnaF0gVGhlIGRyaXZlciBsZWFrcyBjbG9j ayBlbmFibGUgY291bnRzIGFuZCBoYXJkd2FyZSByZXNldCBzdGF0ZXMgb24gcHJvYmUgZXJyb3Ig cGF0aHMgaWYgdGhlIGluaXRpYWwgaGFyZHdhcmUgc3RhdHVzIGlzIGFjdGl2ZS4KLSBbSGlnaF0g VGhlIGBya191ZHBoeV9kcF9waHlfY29uZmlndXJlYCBmdW5jdGlvbiBhY2Nlc3NlcyBzaGFyZWQg YXJyYXlzIGFuZCBtb2RpZmllcyBoYXJkd2FyZSByZWdpc3RlcnMgd2l0aG91dCBhY3F1aXJpbmcg YHVkcGh5LT5tdXRleGAsIGxlYWRpbmcgdG8gcmFjZSBjb25kaXRpb25zLgotIFtIaWdoXSBOb24t RFAgQWx0ZXJuYXRlIE1vZGUgZXZlbnRzIGNvcnJ1cHQgdGhlIFBIWSBsYW5lIG11eCBjb25maWd1 cmF0aW9uLCBzaWxlbnRseSBicmVha2luZyBVU0IzIGZ1bmN0aW9uYWxpdHkuCi0gW0hpZ2hdIERp c3BsYXlQb3J0IEhQRCAoSG90IFBsdWcgRGV0ZWN0KSBldmVudHMgcmVjZWl2ZWQgYmVmb3JlIHRo ZSBEUCBQSFkgaXMgaW5pdGlhbGl6ZWQgYXJlIHBlcm1hbmVudGx5IGxvc3QsIHByZXZlbnRpbmcg ZGlzcGxheSBkZXRlY3Rpb24uCi0tCgotLS0gUGF0Y2ggWzJdOiBbUEFUQ0ggdjEyIDAyLzM2XSBw aHk6IHJvY2tjaGlwOiB1c2JkcDogVXBkYXRlIG1vZGVfY2hhbmdlIGFmdGVyIGVycm9yIGhhbmRs aW5nIC0tLQpjb21taXQgNDRhM2U2NTE3NDhkNTNhNDk3ZTdiYjIxMDYxYmYzY2I4NmQ2N2ZiZApB dXRob3I6IFNlYmFzdGlhbiBSZWljaGVsIDxzZWJhc3RpYW4ucmVpY2hlbEBjb2xsYWJvcmEuY29t PgoKcGh5OiByb2NrY2hpcDogdXNiZHA6IFVwZGF0ZSBtb2RlX2NoYW5nZSBhZnRlciBlcnJvciBo YW5kbGluZwoKSWYgcmtfdWRwaHlfaW5pdCgpIG9yIHJrX3VkcGh5X3NldHVwKCkgZmFpbHMsIHRo ZSByZWluaXQgd2lsbCBub3QgYmUKdHJpZWQgYWdhaW4uIEZpeCB0aGlzIGJ5IG9ubHkgdXBkYXRp bmcgdGhlIHZhcmlhYmxlIGFmdGVyIGFsbCBwb3RlbnRpYWwKZXJyb3JzIGhhdmUgYmVlbiBoYW5k bGVkLgoKTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtcGh5LzIwMjYwNjEyMTYz ODM1LjhENTQ3MUYwMDBFOUBzbXRwLmtlcm5lbC5vcmcvCgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtdXNiZHAuYyBiL2RyaXZlcnMvcGh5L3JvY2tjaGlw L3BoeS1yb2NrY2hpcC11c2JkcC5jCj4gaW5kZXggZmJhMzU1MTBkODhjZS4uYTVmZmRmN2E2ZTc2 YiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtdXNiZHAu Ywo+ICsrKyBiL2RyaXZlcnMvcGh5L3JvY2tjaGlwL3BoeS1yb2NrY2hpcC11c2JkcC5jCj4gQEAg LTEwMDAsMTUgKzEwMDAsMTQgQEAgc3RhdGljIGludCBya191ZHBoeV9wb3dlcl9vbihzdHJ1Y3Qg cmtfdWRwaHkgKnVkcGh5LCB1OCBtb2RlKQo+ICAJfQo+ICAKPiAgCWlmICh1ZHBoeS0+c3RhdHVz ID09IFVEUEhZX01PREVfTk9ORSkgewo+IC0JCXVkcGh5LT5tb2RlX2NoYW5nZSA9IGZhbHNlOwo+ ICAJCXJldCA9IHJrX3VkcGh5X3NldHVwKHVkcGh5KTsKPiAgCQlpZiAocmV0KQo+ICAJCQlyZXR1 cm4gcmV0Owo+ICAKPiAgCQlpZiAodWRwaHktPm1vZGUgJiBVRFBIWV9NT0RFX1VTQikKPiAgCQkJ cmtfdWRwaHlfdTNfcG9ydF9kaXNhYmxlKHVkcGh5LCBmYWxzZSk7Cj4gLQl9IGVsc2UgaWYgKHVk cGh5LT5tb2RlX2NoYW5nZSkgewo+ICAJCXVkcGh5LT5tb2RlX2NoYW5nZSA9IGZhbHNlOwo+ICsJ fSBlbHNlIGlmICh1ZHBoeS0+bW9kZV9jaGFuZ2UpIHsKCltTZXZlcml0eTogSGlnaF0KVGhpcyBp c24ndCBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBkb2VzIHRoaXMgbW9kZSBj aGFuZ2UgYmxvY2sKbmVnbGVjdCB0byBjb25kaXRpb25hbGx5IHJlLWVuYWJsZSB0aGUgVTMgcG9y dCBmb3IgVVNCIG1vZGVzPwoKSWYgdGhlIFBIWSBpcyBhY3RpdmUgaW4gRFAtb25seSBtb2RlIGFu ZCB0cmFuc2l0aW9ucyB0byBEUCtVU0IsIHRoaXMKZWxzZSBpZiAodWRwaHktPm1vZGVfY2hhbmdl KSBibG9jayBpcyB0YWtlbi4gVW5saWtlIHRoZSBpbml0aWFsaXphdGlvbgpibG9jaywgaXQgZmFp bHMgdG8gZXZhbHVhdGUgaWYgKHVkcGh5LT5tb2RlICYgVURQSFlfTU9ERV9VU0IpIGFuZCBjYWxs CnJrX3VkcGh5X3UzX3BvcnRfZGlzYWJsZSh1ZHBoeSwgZmFsc2UpLgoKRG9lcyB0aGlzIGNhdXNl IFVTQiAzLjAgdG8gZmFpbCB0byBpbml0aWFsaXplIHdoZW4gcGx1Z2dlZCBpbnRvIGFuIGFscmVh ZHkKYWN0aXZlIERpc3BsYXlQb3J0PwoKPiAgCQl1ZHBoeS0+c3RhdHVzID0gVURQSFlfTU9ERV9O T05FOwoKW1NldmVyaXR5OiBIaWdoXQpUaGlzIGlzIGEgcHJlLWV4aXN0aW5nIGlzc3VlLCBidXQg ZG9lcyB0aGlzIGZvcmNlZnVsbHkgZXJhc2UgdGhlIHRyYWNraW5nCm9mIGFsbCBjdXJyZW50bHkg YWN0aXZlIGNvbnN1bWVycyB3aXRob3V0IHRyYW5zZmVycmluZyB0aGVtIHRvIHRoZSBuZXcKc3Rh dGU/CgpJZiBEUCBpcyBhY3RpdmUsIHVkcGh5LT5zdGF0dXMgaG9sZHMgVURQSFlfTU9ERV9EUC4g V2hlbiBhIFVTQiBkZXZpY2UgaXMKcGx1Z2dlZCBpbiwgcmtfdWRwaHlfcG93ZXJfb24gaXMgY2Fs bGVkIGZvciBVRFBIWV9NT0RFX1VTQiB3aXRoIG1vZGVfY2hhbmdlCnRydWUuIFRoZSBjb2RlIGNs ZWFycyB1ZHBoeS0+c3RhdHVzIHRvIFVEUEhZX01PREVfTk9ORSBoZXJlLgoKRG9lcyB0aGlzIHBl cm1hbmVudGx5IGxvc2UgdGhlIHByZXZpb3VzbHkgYWN0aXZlIFVEUEhZX01PREVfRFAgYml0PyBX aGVuClVTQiBpcyBsYXRlciB1bnBsdWdnZWQsIHBvd2VyX29mZiBjbGVhcnMgdGhlIFVTQiBiaXQs IGRyb3BwaW5nIHN0YXR1cyB0byAwLAp3aGljaCBtaWdodCBwcmVtYXR1cmVseSBkaXNhYmxlIHRo ZSBQSFkgZGVzcGl0ZSBEUCBzdGlsbCBuZWVkaW5nIGl0LgoKPiAgCQlpZiAodWRwaHktPm1vZGUg PT0gVURQSFlfTU9ERV9EUCkKPiAgCQkJcmtfdWRwaHlfdTNfcG9ydF9kaXNhYmxlKHVkcGh5LCB0 cnVlKTsKCltTZXZlcml0eTogQ3JpdGljYWxdClRoaXMgaXNuJ3QgYSBidWcgaW50cm9kdWNlZCBi eSB0aGlzIHBhdGNoLCBidXQgZG9lcyB0aGUgYXN5bmNocm9ub3VzCmRpc2FibGluZyBvZiBQSFkg YnVsayBjbG9ja3MgYXJvdW5kIGhlcmUgY2F1c2UgZmF0YWwgU0Vycm9ycz8KCmRyaXZlcnMvcGh5 L3JvY2tjaGlwL3BoeS1yb2NrY2hpcC11c2JkcC5jOnJrX3VkcGh5X3Bvd2VyX29uKCkgewogICAg Li4uCiAgICB9IGVsc2UgaWYgKHVkcGh5LT5tb2RlX2NoYW5nZSkgewogICAgICAgIHVkcGh5LT5z dGF0dXMgPSBVRFBIWV9NT0RFX05PTkU7CiAgICAgICAgaWYgKHVkcGh5LT5tb2RlID09IFVEUEhZ X01PREVfRFApCiAgICAgICAgICAgIHJrX3VkcGh5X3UzX3BvcnRfZGlzYWJsZSh1ZHBoeSwgdHJ1 ZSk7CiAgICAgICAgcmtfdWRwaHlfZGlzYWJsZSh1ZHBoeSk7CiAgICAuLi4KfQoKSWYgRFdDMyBp cyBhY3RpdmVseSB0cmFuc2ZlcnJpbmcgVVNCIGRhdGEgYW5kIGEgRGlzcGxheVBvcnQgQWx0ZXJu YXRlIE1vZGUKZXZlbnQgYXJyaXZlcywgcmtfdWRwaHlfdHlwZWNfbXV4X3NldCB0cmlnZ2VycyBh IG1vZGUgY2hhbmdlLiBUaGUgY29kZQp1bmNvbmRpdGlvbmFsbHkgY2FsbHMgcmtfdWRwaHlfZGlz YWJsZSh1ZHBoeSkgd2hpY2ggYWJydXB0bHkgc2V2ZXJzIHRoZQpQSFkgY2xvY2tzLgoKU2luY2Ug dGhlIERXQzMgZHJpdmVyIGlzbid0IG5vdGlmaWVkLCBjb3VsZCBpdHMgbmV4dCByZWdpc3RlciBh Y2Nlc3MgaGFuZwp0aGUgc3lzdGVtIGJ1cz8KClsgLi4uIF0KCj4gQEAgLTEwMTcsNiArMTAxNiw3 IEBAIHN0YXRpYyBpbnQgcmtfdWRwaHlfcG93ZXJfb24oc3RydWN0IHJrX3VkcGh5ICp1ZHBoeSwg dTggbW9kZSkKPiAgCQlyZXQgPSBya191ZHBoeV9zZXR1cCh1ZHBoeSk7Cj4gIAkJaWYgKHJldCkK PiAgCQkJcmV0dXJuIHJldDsKPiArCQl1ZHBoeS0+bW9kZV9jaGFuZ2UgPSBmYWxzZTsKPiAgCX0K PiAgCj4gIAl1ZHBoeS0+c3RhdHVzIHw9IG1vZGU7CgpbU2V2ZXJpdHk6IEhpZ2hdClRoaXMgaXMg YSBwcmUtZXhpc3RpbmcgaXNzdWUsIGJ1dCBkb2VzIHNldHRpbmcgdGhlIHN0YXR1cyBiaXQgaGVy ZSBvbmx5CnJlZ2lzdGVyIHRoZSBjb25zdW1lciB0aGF0IHRyaWdnZXJlZCB0aGUgZnVuY3Rpb24g Y2FsbCwgbGVhdmluZyBwcmV2aW91cwpjb25zdW1lcnMgdW50cmFja2VkPwoKClRoZXJlIGFyZSBh IGZldyBvdGhlciBwcmUtZXhpc3RpbmcgaXNzdWVzIGluIHRoaXMgZmlsZSB0aGF0IG1pZ2h0IGJl IHdvcnRoCmxvb2tpbmcgaW50bzoKCltTZXZlcml0eTogSGlnaF0KVGhpcyBpc24ndCBhIGJ1ZyBp bnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBkb2VzIHRoaXMgbG9naWMgc2hhZG93IHRoZQpl cnJvciBjb2RlIGZyb20gZGV2bV9jbGtfYnVsa19nZXRfYWxsIGFuZCBicmVhayBkZWZlcnJlZCBw cm9iaW5nPwoKZHJpdmVycy9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLXVzYmRwLmM6cmtfdWRw aHlfY2xrX2luaXQoKSB7CiAgICAuLi4KICAgIGlmICh1ZHBoeS0+bnVtX2Nsa3MgPCAxKQogICAg ICAgIHJldHVybiAtRU5PREVWOwogICAgLi4uCn0KCklmIGRldm1fY2xrX2J1bGtfZ2V0X2FsbCBy ZXR1cm5zIC1FUFJPQkVfREVGRVIgd2hlbiBjbG9jayBwcm92aWRlcnMgYXJlbid0CnJlYWR5IHll dCwgdGhpcyBleHBsaWNpdGx5IGNoZWNrcyBpZiB1ZHBoeS0+bnVtX2Nsa3MgPCAxIGFuZCByZXR1 cm5zIGEKaGFyZGNvZGVkIC1FTk9ERVYuIFdpbGwgdGhpcyBjYXVzZSB0aGUgUEhZIGRyaXZlciB0 byBmYWlsIHRvIHByb2JlCnBlcm1hbmVudGx5IGlmIGNsb2NrcyBhcmUgbm90IGltbWVkaWF0ZWx5 IGF2YWlsYWJsZSBkdXJpbmcgZWFybHkgYm9vdD8KCgpbU2V2ZXJpdHk6IEhpZ2hdClRoaXMgaXMg YSBwcmUtZXhpc3RpbmcgaXNzdWUsIGJ1dCBkb2VzIHRoZSBkcml2ZXIgbGVhayBjbG9jayBlbmFi bGUgY291bnRzCmFuZCBoYXJkd2FyZSByZXNldCBzdGF0ZXMgb24gcHJvYmUgZXJyb3IgcGF0aHMg aWYgdGhlIGluaXRpYWwgaGFyZHdhcmUKc3RhdHVzIGlzIGFjdGl2ZT8KCmRyaXZlcnMvcGh5L3Jv Y2tjaGlwL3BoeS1yb2NrY2hpcC11c2JkcC5jOnJrX3VkcGh5X3Byb2JlKCkgewogICAgLi4uCiAg ICB1ZHBoeS0+cGh5X3UzID0gZGV2bV9waHlfY3JlYXRlKGRldiwgZGV2LT5vZl9ub2RlLCAmcmtf dWRwaHlfdXNiM19waHlfb3BzKTsKICAgIGlmIChJU19FUlIodWRwaHktPnBoeV91MykpIHsKICAg ICAgICByZXQgPSBQVFJfRVJSKHVkcGh5LT5waHlfdTMpOwogICAgICAgIHJldHVybiBkZXZfZXJy X3Byb2JlKGRldiwgcmV0LCAiZmFpbGVkIHRvIGNyZWF0ZSBVU0IzIHBoeVxuIik7CiAgICB9CiAg ICAuLi4KfQoKcmtfdWRwaHlfZ2V0X2luaXRpYWxfc3RhdHVzIGNhbGxzIGNsa19idWxrX3ByZXBh cmVfZW5hYmxlLiBJZiBpdCBkZXRlY3RzCmFjdGl2ZSBEUCBoYXJkd2FyZSwgaXQgbGVhdmVzIHRo ZSBjbG9ja3MgZW5hYmxlZCBhbmQgc2V0cyB1ZHBoeS0+c3RhdHVzIHRvClVEUEhZX01PREVfRFAu CgpJZiBhbnkgc3Vic2VxdWVudCBzdGVwIGluIHJrX3VkcGh5X3Byb2JlIGZhaWxzLCB0aGUgZHJp dmVyIHJldHVybnMgdGhlIGVycm9yCndpdGhvdXQgZGlzYWJsaW5nIHRoZSBjbG9ja3MuIFdpdGhv dXQgYSBkZXZtLWFjdGlvbiByZWdpc3RlcmVkIHRvIGNsZWFuIHRoaXMKdXAsIGRvZXMgdGhpcyBj bG9jayBlbmFibGUgcmVmY291bnQgbGVhayBwcmV2ZW50IHRoZSBzeXN0ZW0gZnJvbSBldmVyCnBv d2VyaW5nIGRvd24gdGhlIGNsb2NrPwoKCltTZXZlcml0eTogSGlnaF0KVGhpcyBpc24ndCBhIGJ1 ZyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBkb2VzIHJrX3VkcGh5X2RwX3BoeV9jb25m aWd1cmUKYWNjZXNzIHNoYXJlZCBhcnJheXMgYW5kIG1vZGlmeSBoYXJkd2FyZSByZWdpc3RlcnMg d2l0aG91dCBhY3F1aXJpbmcKdWRwaHktPm11dGV4LCBsZWFkaW5nIHRvIHJhY2UgY29uZGl0aW9u cz8KCmRyaXZlcnMvcGh5L3JvY2tjaGlwL3BoeS1yb2NrY2hpcC11c2JkcC5jOnJrX3VkcGh5X2Rw X3BoeV9jb25maWd1cmUoKSB7CiAgICAuLi4KICAgIGxhbmUgPSB1ZHBoeS0+ZHBfbGFuZV9zZWxb aV07CiAgICAuLi4KfQoKVGhpcyByZWFkcyBhIHNoYXJlZCBhcnJheSB0aGF0IGlzIGFjdGl2ZWx5 IG1vZGlmaWVkIGJ5IFR5cGUtQyBldmVudApoYW5kbGVycy4gQXQgdGhlIHNhbWUgdGltZSwgVHlw ZS1DIG9yaWVudGF0aW9uIHN3aXRjaCBjYWxsYmFja3MgbGlrZQpya191ZHBoeV90eXBlY19tdXhf c2V0IG9yIFVTQiBpbml0aWFsaXphdGlvbiBjYW4gbW9kaWZ5IHRoZXNlIGV4YWN0IHNhbWUKc3Ry dWN0dXJlcyBvciByZWdpc3RlcnMuCgpDb3VsZCB0aGlzIGNvbmN1cnJlbnQgYWNjZXNzIGNvcnJ1 cHQgaGFyZHdhcmUgcmVnaXN0ZXJzIG9yIHJlc3VsdCBpbgppbmNvbnNpc3RlbnQgbGFuZSBtYXBw aW5ncz8KCgpbU2V2ZXJpdHk6IEhpZ2hdClRoaXMgaXMgYSBwcmUtZXhpc3RpbmcgaXNzdWUsIGJ1 dCBkbyBub24tRFAgQWx0ZXJuYXRlIE1vZGUgZXZlbnRzIGNvcnJ1cHQKdGhlIFBIWSBsYW5lIG11 eCBjb25maWd1cmF0aW9uIGFuZCBzaWxlbnRseSBicmVhayBVU0IzIGZ1bmN0aW9uYWxpdHk/Cgpk cml2ZXJzL3BoeS9yb2NrY2hpcC9waHktcm9ja2NoaXAtdXNiZHAuYzpya191ZHBoeV90eXBlY19t dXhfc2V0KCkgewogICAgLi4uCiAgICBzd2l0Y2ggKHN0YXRlLT5tb2RlKSB7CiAgICBjYXNlIFRZ UEVDX0RQX1NUQVRFX0M6CiAgICBjYXNlIFRZUEVDX0RQX1NUQVRFX0U6CiAgICAgICAgdWRwaHkt PmxhbmVfbXV4X3NlbFswXSA9IFBIWV9MQU5FX01VWF9EUDsKICAgIC4uLgp9CgpUaGlzIGV4ZWN1 dGVzIHRoZSBzd2l0Y2ggYmxvY2sgYW5kIG92ZXJ3cml0ZXMgdWRwaHktPmxhbmVfbXV4X3NlbCBi ZWZvcmUKdmVyaWZ5aW5nIHN0YXRlLT5hbHQtPnN2aWQgPT0gVVNCX1RZUEVDX0RQX1NJRC4KCkJl Y2F1c2UgVFlQRUNfRFBfU1RBVEVfQyBpcyBkZWZpbmVkIGFzIFRZUEVDX1NUQVRFX01PREFMLCBh bnkgb3RoZXIKQWx0ZXJuYXRlIE1vZGUgdGhhdCB0cmFuc2l0aW9ucyBpbnRvIGl0cyBtb2RhbCBz dGF0ZSB3aWxsIGluYWR2ZXJ0ZW50bHkKbWF0Y2ggdGhpcyBjYXNlLiBXaWxsIHRoaXMgZXJyb25l b3VzbHkgcm91dGUgYWxsIFBIWSBsYW5lcyB0byBEaXNwbGF5UG9ydAppZiBhIG5vbi1EUCBUeXBl LUMgQWx0ZXJuYXRlIE1vZGUgZGV2aWNlIGlzIGF0dGFjaGVkPwoKCltTZXZlcml0eTogSGlnaF0K VGhpcyBpc24ndCBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBhcmUgRGlzcGxh eVBvcnQgSFBEIGV2ZW50cwpyZWNlaXZlZCBiZWZvcmUgdGhlIERQIFBIWSBpcyBpbml0aWFsaXpl ZCBwZXJtYW5lbnRseSBsb3N0LCBwcmV2ZW50aW5nCmRpc3BsYXkgZGV0ZWN0aW9uPwoKZHJpdmVy cy9waHkvcm9ja2NoaXAvcGh5LXJvY2tjaGlwLXVzYmRwLmM6cmtfdWRwaHlfZHBfcGh5X2luaXQo KSB7CiAgICAuLi4KICAgIHVkcGh5LT5kcF9pbl91c2UgPSB0cnVlOwogICAgLi4uCn0KCnJrX3Vk cGh5X2RwX2hwZF9ldmVudF90cmlnZ2VyIGNhY2hlcyB0aGUgSFBEIHN0YXRlIGluCnVkcGh5LT5k cF9zaW5rX2hwZF9jZmcgaWYgdWRwaHktPmRwX2luX3VzZSBpcyBmYWxzZS4gTGF0ZXIsIHdoZW4g dGhlIERQCkRSTSBkcml2ZXIgY2FsbHMgcmtfdWRwaHlfZHBfcGh5X2luaXQsIHVkcGh5LT5kcF9p bl91c2UgaXMgc2V0IHRvIHRydWUuCgpIb3dldmVyLCB0aGUgZnVuY3Rpb24gZmFpbHMgdG8gd3Jp dGUgdGhlIGNhY2hlZCBIUEQgY29uZmlndXJhdGlvbiBvdXQgdG8KdGhlIGhhcmR3YXJlIHJlZ2lz dGVycy4gRG9lcyB0aGlzIHJlc3VsdCBpbiBhbiBhdHRhY2hlZCBEaXNwbGF5UG9ydCBtb25pdG9y Cm5vdCBiZWluZyBkZXRlY3RlZCBieSB0aGUgc3lzdGVtPwoKLS0gClNhc2hpa28gQUkgcmV2aWV3 IMK3IGh0dHBzOi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MDcxMC1yb2NrY2hpcC11c2Jk cC1jbGVhbnVwLXYxMi0wLThiNDFhOWE5YmVmMEBjb2xsYWJvcmEuY29tP3BhcnQ9MgoKLS0gCmxp bnV4LXBoeSBtYWlsaW5nIGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cHM6 Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg==