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=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_PASS, URIBL_BLOCKED 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 B09B8C43381 for ; Sun, 3 Mar 2019 17:17:29 +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 7E0BE20835 for ; Sun, 3 Mar 2019 17:17:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="e7jIgXoj"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="BRuFYsv3" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7E0BE20835 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org 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:MIME-Version:References:In-Reply-To: Message-ID:Subject: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=3KeT1oyjgENP9jndODm0o9sECbb8rf/APIMhg/K7Sck=; b=e7jIgXojx77/tE 7gvqGoyykebemLsBw5NpL7Gh4d99ThgxdRk8UG2PLj8CL18MKcmQOBv8mbdd0XEUD63D4BhZRyIdi NaVx4nEkDaV2LwvsRFjQb0O+U4+2HZHrJp2MCUK5YQtW3zqt25MddAlSIjudBvMomsBg9CzKcXXp6 D4G5FbYe62AoN72163x9LG6oae3EkT7ksidxC/wkSIg5KDV/eYb0iTnjAi6Ot2m6eGsaZmaD5b1jd ShJrAO0Op+ebALLpB7yDWc2PRfow0eRgVkyNjTEm4dqZXm8e/oDxmivLcVPYyEsme/VU+x/DK9QZn o/DoBSwldYYh6aZiNjtQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1h0Ujv-0003OY-7K; Sun, 03 Mar 2019 17:17:27 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1h0Ujr-0003OF-FX for linux-arm-kernel@lists.infradead.org; Sun, 03 Mar 2019 17:17:25 +0000 Received: from archlinux (cpc91196-cmbg18-2-0-cust659.5-4.cable.virginm.net [81.96.234.148]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8CC46206B8; Sun, 3 Mar 2019 17:17:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1551633442; bh=UYVpKf7o+iUv3VFlzRGBxn5Iu+P1MZgtNJqsh8u977U=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=BRuFYsv3Q0+JhcS7OF91JidoNgMv4NU7/wEwY5YV2N6IPB6+/Sy9HAhCotR4z2zab WwJ6L4HjtpntYzyJaFkY2w60O2leeNgfJRJX31iVNIiOExI089UZvrpFitieH48wke wsfFU98EuK9apY4YQgtobPpCrr9W/JFfPhiAX7vw= Date: Sun, 3 Mar 2019 17:17:14 +0000 From: Jonathan Cameron To: Ludovic Desroches Subject: Re: [PATCH] iio: adc: at91: disable adc channel interrupt in timeout case Message-ID: <20190303171714.1f66d277@archlinux> In-Reply-To: <20190222095924.ald66pmei3erur2e@M43218.corp.atmel.com> References: <20190130134202.5831-1-g.ottinger@abatec.at> <20190202102021.12bb0a72@archlinux> <0974ce54b3da4d82b6bd3026a3de5ff3@abatec.at> <20190204094540.00003072@huawei.com> <040567eeda7b40b38816da2df354386f@abatec.at> <20190222095924.ald66pmei3erur2e@M43218.corp.atmel.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190303_091723_561834_4E741650 X-CRM114-Status: GOOD ( 46.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Alexandre Belloni , Lars-Peter Clausen , Kees Cook , Ard Biesheuvel , "linux-iio@vger.kernel.org" , Jonathan Cameron , "linux-kernel@vger.kernel.org" , Georg Ottinger , Maxime Ripard , Peter Meerwald-Stadler , Hartmut Knaack , "eugen.hristev@microchip.com" , Stefan Etzlstorfer , "David S. Miller" , "linux-arm-kernel@lists.infradead.org" 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 T24gRnJpLCAyMiBGZWIgMjAxOSAxMDo1OToyNCArMDEwMApMdWRvdmljIERlc3JvY2hlcyA8bHVk b3ZpYy5kZXNyb2NoZXNAbWljcm9jaGlwLmNvbT4gd3JvdGU6Cgo+IE9uIE1vbiwgRmViIDA0LCAy MDE5IGF0IDExOjAzOjE4QU0gKzAwMDAsIEdlb3JnIE90dGluZ2VyIHdyb3RlOgo+ID4gSSBkb24n dCBrbm93IGhvdyB0aGUgcmFjZSBjb25kaXRpb24gaXMgdHJpZ2dlcmVkIGluIGRldGFpbC4gIEFs bCBJIGtub3cgaXMgdGhhdCBpZiBUb3VjaCBBY3F1aXNpdGlvbiBpcyBlbmFibGVkIHRoZSBhZGNf ZGVtb19lcnJvcjIgd2lsbCBwcm92b2tlIGEgc3lzdGVtaGFuZy4gSWYgVG91Y2ggaXMgZGlzYWJs ZWQgdGhlIGlzc3VlIGdvZXMgYXdheS4gVGhlIGFyY2hpdGVjdHVyZSBvZiBhdDkxX2FkYy5jIHVz ZXMgKGF0IGxlYXN0KSB0d28gdHJpZ2dlciBtZWNoYW5pc21zIG9mIHRoZSBBREMgcGVyaXBoZXJh bDogVG91Y2ggVHJpZ2dlciBhbmQgQ2hhbm5lbCBUcmlnZ2VyIChzdGFydGVkIGJ5IGF0OTFfYWRj X3JlYWRfcmF3KCkgKS4gSW4gbXkgdGhlb3J5IHRoZSBmb2xsb3dpbmcgaGFwcGVuczogIAo+IAo+ IEkgdGhpbmsgeW91IHRyaWdnZXIgdGhpcyByYWNlIGNvbmRpdGlvbiBiZWNhdXNlIHdoZW4gYSB0 b3VjaHNjcmVlbgo+IGNvbnZlcnNpb24gaXMgZG9uZSwgaXQgcGVyZm9ybXMgYSBjb252ZXJzaW9u IG9uICphbGwgYWN0aXZlIGNoYW5uZWxzKi4KPiAKPiBSZWdhcmRzCj4gCj4gTHVkb3ZpYwpUaGlz IHN0aWxsIGZlZWxzIGxpa2UgcHV0dGluZyBhIGJhbmQgYWlkIGluIHRoZSB3cm9uZyBwbGFjZSwg YnV0CkknbGwgdGFrZSBpdCBhbmQgbWFyayBpdCBmb3Igc3RhYmxlLgoKQXBwbGllZCB0byB0aGUg Zml4ZXMtdG9ncmVnIGJyYW5jaCBvZiBpaW8uZ2l0IGFuZCBtYXJrZWQgZm9yIHN0YWJsZS4KCk1h eWJlIHRoZXJlIGlzbid0IGEgYmV0dGVyIHdheS4uLgoKSm9uYXRoYW4KCj4gCj4gPiAKPiA+IDEu KSBhdDkxX2FkY19yZWFkX3JhdyBpcyBjYWxsZWQsIGEgQURDIGNvbnZlcnNhdGlvbiBnZXRzIHN0 YXJ0ZWQKPiA+IDIuKSBUb3VjaCB0cmlnZ2VyIGluaXRpYXRlcyBhIG5ldyBjb252ZXJzYXRpb24g KGtpbGxpbmcgdGhlIGZpcnN0IGNvbnZlcnNhdGlvbikKPiA+IAo+ID4gLi4uLiB0aGUgY29udmVy c2F0aW9uIHN0YXJ0ZWQgZnJvbSAgYXQ5MV9hZGNfcmVhZF9yYXcoKSBuZXZlciBmaW5pc2hlcyAt PiBUSU1FT1VUIQo+ID4gCj4gPiBUaGUgZm9sbG93aW5nIEVtYWlsIGlzIGEgc3VtbWFyeSBvZiBv dXIgZmluZGluZ3MgKEkgbWFpbGVkIHRvIHRoZSBtaWNyb2NoaXAgcGVvcGxlKToKPiA+IAo+ID4g LS0tLS0KPiA+IAo+ID4gSSB3YW50IHRvIGxldCB5b3Uga25vdyBvdXIgZmluZGluZ3Mgb2Ygb3Vy IEFEQyBidWdodW50aW5nIG1hcmF0aG9uLiBXZSBwdXQgYXJvdW5kIDEwMCBob3VycyBvZiB3b3Jr IHRvIGlkZW50aWZ5IHRoaXMgaXNzdWVzIGFuZCBJIHRoaW5rIHdlIGZvdW5kIDQgIG9mIHRoZW0g KG9uZSBvZiB0aGVtIGlzIG1vcmUgaGFyZHdhcmUgcmVsYXRlZCkuIEFsdGhvdWdoIHdlIGNvdWxk IGRldmVsb3Agd29ya2Fyb3VuZHMgZm9yIHRoaXMgaXNzdWVzIC0gbm90IGFsbCBvZiB0aGVtIGFy ZSBmdWxseSB1bmRlcnN0b29kIC0gc28gaWYgcG9zc2libGUgaW5jbHVkaW5nIHNvbWVvbmUgZXhw ZXJpZW5jZWQgd2l0aCB0aGUgQURDIHBlcmlwaGVyYWwgKG1heWJlIGZyb20gdGhlIGhhcmR3YXJl IHRlYW0pIHNob3VsZCBiZSBjb25zaWRlcmVkLgo+ID4gCj4gPiBBdHRhY2hlZCB5b3Ugd2lsbCBm aW5kIG91ciB2ZXJzaW9uIG9mIGF0OTFfYWRjLmMgdG9nZXRoZXIgd2l0aCBhIHNpbXBsZSBlcnJv ciBkZW1vbnN0cmF0b3IgcHJvZ3JhbSBjYWxsZWQgYWRjX2RlbW9fZXJyb3IuYwo+ID4gCj4gPiAq IDFzdCBpc3N1ZTogVW53YW50ZWQgUEVOL05PUEVOIEludGVycnVwdHMgYXQgbG93IHRlbXBlcmF0 dXJlcwo+ID4gCj4gPiBXaGVuIGluIFBlbmRldGVjdCBtb2RlIHdlIHJlY2VpdmVkIGEgbG90IG9m IHVud2FudGVkIGludGVycnVwdHMuIFRoaXMgaXNzdWUgb25seSBhcHBlYXJlZCBpbiBvdXIgdGVz dCBzZXR0aW5ncyB3aGVuIG91ciBib2FyZCBhcHByb2FjaGVkIC0yMCBkZWdyZWVzIENlbHNpdXMu IFdlIHN1c3BlY3QgdGhhdCB0aGUgaW50ZXJuYWwgUHVsbC1kb3duIFJlc2lzdG9yIGNvbm5lY3Rl ZCBiZWZvcmUgdGhlIFBlbmRldGVjdC1TY2htaXR0IHRyaWdnZXIgKHNlbGVjdGVkIGJ5IFBFTkRF VFNFTlMpLCBoYXMgYSBuZWdhdGl2ZSB0ZW1wZXJhdHVyZSBjb2VmZmljaWVudCBhbmQgYXQgbG93 IHRlbXBlcmF0dXJlIHRoZSBpbXBlZGFuY2UgbWlnaHQgYmUgdG9vIGhpZ2ggYW5kIHNvIGZhbHNl IGRldGVjdHMgYXJlIHRyaWdnZXJlZCBieSBjYXB0dXJpbmcgc3Vycm91bmRpbmcgbm9pc2UgLT4g d2UgY291bGQgc29sdmUgdGhpcyBpc3N1ZSBieSBjaGFuZ2luZyB0aGUgdmFsdWUgIHRzX3Blbl9k ZXRlY3Rfc2Vuc2l0aXZpdHkgPSAyIHRvIHRzX3Blbl9kZXRlY3Rfc2Vuc2l0aXZpdHkgPSAzLgo+ ID4gCj4gPiBUaGlzIGlzc3VlIGNhbiBiZSBjb25zaWRlcmVkIHRvIGJlIHJlbGF0ZWQgdG8gb3Vy IHNwZWNpZmljIGNvbmZpZ3VyYXRpb24sIG5ldmVydGhlbGVzcyB3ZSB3YW50IHRvIG1lbnRpb24g dGhhdCB0aGUgY3VycmVudCBEYXRhc2hlZXQgU3RhdGVzIG9uIFBhZ2UgMTcxMSBzdGF0ZXMgdGhl IGZvbGxvd2luZzoKPiA+IAo+ID4gIlBFTkRFVFNFTlM6IFBlbiBEZXRlY3Rpb24gU2Vuc2l0aXZp dHktTW9kaWZpZXMgdGhlIHBlbiBkZXRlY3Rpb24gaW5wdXQgcHVsbC11cCByZXNpc3RvciB2YWx1 ZS4gU2VlIHRoZSBzZWN0aW9uICdFbGVjdHJpY2FsIENoYXJhY3RlcmlzdGljcycgZm9yIGZ1cnRo ZXIgZGV0YWlscy4iCj4gPiAKPiA+IFRoZXJlIGFyZSB0d28gaXNzdWVzIHdpdGggdGhpcyBkZXNj cmlwdGlvbi4gRmlyc3Q6IFRoaXMgcmVzaXN0b3IgaXMgYSBwdWxsLWRvd24gcmVzaXN0b3IgKG1l YXN1cmVkIGFuZCBsb2dpY2FsKS4gU2Vjb25kIHRoZSAnRWxlY3RyaWNhbCBDaGFyYWN0ZXJpc3Rp Y3MnIHNlY3Rpb25zIGlzIGxhY2tpbmcgdGhlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoaXMg cmVzaXN0b3IgdmFsdWUuCj4gPiAKPiA+ICogMm5kIGlzc3VlOiBhdDkxX2FkY19yZWFkX3Jhdygp IGtlZXBzIENoYW5uZWwgYW5kIGNvcnJlc3BvbmRpbmcgaW50ZXJydXB0IGVuYWJsZWQgaW4gY2Fz ZSBvZiB0aW1lb3V0Lgo+ID4gCj4gPiBIYXZpbmcgYSBicmllZiBsb29rIGF0IGF0OTFfYWRjX3Jl YWRfcmF3KCkgaXQgaXMgb2J2aW91cyB0aGF0IGluIHRoZSBjYXNlIG9mIGEgdGltZW91dCB0aGUg c2V0dGluZyBvZiBBVDkxX0FEQ19DSERSIGFuZCBBVDkxX0FEQ19JRFIgcmVnaXN0ZXJzIGlzIG9t aXR0ZWQuCj4gPiBJZiAyIGRpZmZlcmVudCBjaGFubmVscyBhcmUgcXVlcmllZCAgd2UgY2FuIGVu ZCB1cCB3aXRoIGEgc2l0dWF0aW9uIHdoZXJlIHR3byBJbnRlcnJ1cHRzIGFyZSBlbmFibGVkIC0g YnV0IG9ubHkgb25lIEludGVycnVwdCBpcyBjbGVhcmVkIGluIHRoZSBJbnRlcnJ1cHQgaGFuZGxl ci4gUmVzdWx0aW5nIGluIGEgaW50ZXJydXB0IGxvb3AgYW5kIGEgc3lzdGVtIGhhbmcuCj4gPiAK PiA+IFRoaXMgSXNzdWUgY2FuIGJlIHJlcHJvZHVjZWQgYnkgY29tcGlsaW5nIGFuZCBydW5uaW5n IHRoZSBlcnJvciBkZW1vbnN0cmF0aW9uIHdpdGggdHdvIGNoYW5uZWwgc3VwcG9ydC4gKC1EMk5E X0NIQU5ORUwpCj4gPiAKPiA+ICQgYXJtLWJ1aWxkcm9vdC1saW51eC1nbnVlYWJpaGYtZ2NjIGFk Y19kZW1vX2Vycm9yLmMgLUQyTkRfQ0hBTk5FTCAtbyBhZGNfZGVtb19lcnJvcjIKPiA+IAo+ID4g KiAzcmQgaXNzdWU6IFJhY2UgY29uZGl0aW9uIGJldHdlZW4gUEVOL05PUEVOIEludGVycnVwdHMg dXNpbmcgcGVyaW9kaWMgdHJpZ2dlciBhbmQgQURDX1NUQVJUIGluIGF0OTFfYWRjX3JlYWRfcmF3 KCkKPiA+IAo+ID4gVGhpcyBpc3N1ZSByZXByZXNlbnRzIG9uZSB3YXkgaG93IHRpbWVvdXQgc2l0 dWF0aW9ucyBhcmUgcHJvdm9rZWQuIEFjdHVhbGx5IHdlIGNvbnNpZGVyIHRoZSBhcmNoaXRlY3R1 cmUgb2YgYXQ5MV9hZGMuYyBhIGJpdCByaXNreSBiZWNhdXNlIGl0IGlzIHVzaW5nIHR3byB0cmln Z2VyIHNvdXJjZXMgKHBlcmlvZGljIHRyaWdnZXIgZm9yIFRvdWNoLCBhbmQgQURDX1NUQVJUIGZv ciByZWFkaW5nIHJhdyB2YWx1ZXMpLiBXZSBiZWxpZXZlIHRoYXQgY2hhbmdpbmcgdGhlIHRyaWdn ZXIgc291cmNlIGR1cmluZyBhbiBvbmdvaW5nIGNvbnZlcnNpb24gY2FuIGhhdmUgdW53YW50ZWQg c2lkZSBlZmZlY3RzLCBsaWtlIGRlc3Ryb3lpbmcgYW4gb25nb2luZyBjb252ZXJzaW9uLiBXZSBj dXJyZW50bHkgZG9uJ3QgZnVsbHkgdW5kZXJzdGFuZCB3aGF0IGlzIGdvaW5nIG9uLCBidXQgd2Ug ZGV2ZWxvcGVkIGEgd29ya2Fyb3VuZCB0aGF0IGlzIGVuaGFuY2luZyB0aGUgdGltZW91dCBoYW5k bGluZyBpbiBhdDkxX2FkY19yZWFkX3JhdygpIHdpdGggYSBzaW1wbGUgcmV0cnkgbWVjaGFuaXNt LiAocmVzdGFydGluZyB3aXRoIEFEQ19TVEFSVCkKPiA+IAo+ID4gKiA0dGggaXNzdWU6IHdoZW4g dG91Y2ggb3BlcmF0aW9uIGlzIGVuYWJsZWQgKFRTTU9ERSkgYSBkZWxheSB0aW1lIGJldHdlZW4g YSBjaGFubmVsIGRpc2FibGUgKEFUOTFfQURDX0NIRFIpIGFuZCBjaGFubmVsIGVuYWJsZSAoQVQ5 MV9BRENfQ0hFUikgaXMgbmVlZGVkIG90aGVyd2lzZSB0aGUgZm9sbG93aW5nIGNvbnZlcnNpb24g d2lsbCBmYWlsLgo+ID4gCj4gPiBUaGlzIGlzc3VlIHJlcHJlc2VudHMgdGhlIHNlY29uZCB3YXkg aG93IHRpbWVvdXQgc2l0dWF0aW9ucyBjYW4gYXJpc2UuIFdlIG1lYXN1cmVkIGFyb3VuZCA0MCB0 byA0MiBBREMgQ3ljbGVzIChhdCBkaWZmZXJlbnQgQURDIENsb2NrcyA1MDBraHosIDFtaHosIDJt aHosIDNtaHosIDVtaHopIG9mIGRlbGF5IG5lZWRlZCBiZXR3ZWVuIHRoZSBjaGFubmVsIGRpc2Fi bGUgYW5kIHRoZSBjaGFubmVsIGVuYWJsZS4gQXQgaGlnaGVyIGFkYyBjbG9jayBmcmVxdWVuY3kg KDEwbWh6LCAyMCBtaHopIHRoZSBpc3N1ZSBkb2Vzbid0IHNob3cgdXAgKG1vc3QgbGlrZWx5IGJl Y2F1c2UgdGhlIGZ1bmN0aW9uIGNhbGxzIGFyZSBkZWxheWluZyBhbHJlYWR5IGVub3VnaCkuIFdl IGFsc28gb2JzZXJ2ZWQgdGhhdCB0aGUgbmVlZCBkZWxheSB0aW1lIGluY3JlYXNlcyBmdXJ0aGVy IGFjY29yZGluZyB0byB0aGUgdHJhbnNmZXIgdGltZSBzZXR0aW5ncyAoVFJBTlNGRVIpIGJ5IDAs IDIsIDQgb3IgOCAgQURDIGN5Y2xlcy4KPiA+IAo+ID4gVGhpcyBJc3N1ZSBjYW4gYmUgcmVwcm9k dWNlZCBieSBjb21waWxpbmcgYW5kIHJ1bm5pbmcgdGhlIGVycm9yIGRlbW9uc3RyYXRvciAoc2lu Z2xlIGNoYW5uZWwpIGFuZCBpbmNsdWRpbmcgYSBzaW1wbGUgZXJyb3IgbWVzc2FnZSBpbiB0aGUg a2VybmVsIG1vZHVsZSBpbiB0aGUgdGltZW91dCBjYXNlLgo+ID4gCj4gPiAkIGFybS1idWlsZHJv b3QtbGludXgtZ251ZWFiaWhmLWdjYyBhZGNfZGVtb19lcnJvci5jIC1vIGFkY19kZW1vX2Vycm9y Cj4gPiAKPiA+IFRoaXMgaXNzdWUgaXMgbGVhc3QgdW5kZXJzdG9vZCBieSB1cyBhbmQgSSB0aGlu ayB0aGF0IHRhbGtpbmcgdG8gdGhlIGhhcmR3YXJlIHBlb3BsZSByZWdhcmRpbmcgdGhpcyBpc3N1 ZSBjYW4gYmUgd29ydGh3aGlsZS4gCj4gPiBBcyBhIHdvcmthcm91bmQgd2UgcHV0IGF0OTFfYWRj X3JlYWRfcmF3KCkgdG8gc2xlZXAgYWZ0ZXIgdGhlIHdyaXRpbmcgQVQ5MV9BRENfQ0hEUiBmb3Ig NTAgdG8gNzUgQURDIEN5Y2xlcy4gCj4gPiAKPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+ID4gCj4gPiBXZSB3aWxsIHJ1biBhbm90aGVyIHJvdW5kIG9mIHRlc3RzIG5l eHQgd2VlayAtIGFuZCBhZnRlciB0aGF0IEkgd291bGQgbGlrZSB0byBwcmVwYXJlIGEgcHVsbCBy ZXF1ZXN0IGNvbmNlcm5pbmcgdGhlIDJuZCBJc3N1ZS4gRm9yIHRoZSAzcmQgYW5kIHRoZSA0dGgg SXNzdWUgSSB3b3VsZCBsaWtlIHRvIGhlYXIgeW91ciBvcGluaW9uIGlmIG91ciBtb2RpZmljYXRp b25zIGFyZSBzb3VuZCBiZWZvcmUgSSB3aWxsIHdyaXRlIGFuIHB1bGwgcmVxdWVzdC4KPiA+IAo+ ID4gVGhhbmtzIGZvciB5b3VyIHRpbWUsCj4gPiBCZXN0IHdpc2hlcywKPiA+IEdlb3JnIE90dGlu Z2VyCj4gPiAKPiA+IC0tLS0tCj4gPiAKPiA+IC0tLS0tVXJzcHLDvG5nbGljaGUgTmFjaHJpY2h0 LS0tLS0KPiA+IFZvbjogSm9uYXRoYW4gQ2FtZXJvbiBbbWFpbHRvOmpvbmF0aGFuLmNhbWVyb25A aHVhd2VpLmNvbV0gCj4gPiBHZXNlbmRldDogTW9udGFnLCAwNC4gRmVicnVhciAyMDE5IDEwOjQ2 Cj4gPiBBbjogR2VvcmcgT3R0aW5nZXIgPGcub3R0aW5nZXJAYWJhdGVjLmF0Pgo+ID4gQ2M6IEpv bmF0aGFuIENhbWVyb24gPGppYzIzQGtlcm5lbC5vcmc+OyBldWdlbi5ocmlzdGV2QG1pY3JvY2hp cC5jb207IFN0ZWZhbiBFdHpsc3RvcmZlciA8cy5ldHpsc3RvcmZlckBhYmF0ZWMuYXQ+OyBIYXJ0 bXV0IEtuYWFjayA8a25hYWNrLmhAZ214LmRlPjsgTGFycy1QZXRlciBDbGF1c2VuIDxsYXJzQG1l dGFmb28uZGU+OyBQZXRlciBNZWVyd2FsZC1TdGFkbGVyIDxwbWVlcndAcG1lZXJ3Lm5ldD47IE5p Y29sYXMgRmVycmUgPG5pY29sYXMuZmVycmVAbWljcm9jaGlwLmNvbT47IEFsZXhhbmRyZSBCZWxs b25pIDxhbGV4YW5kcmUuYmVsbG9uaUBib290bGluLmNvbT47IEx1ZG92aWMgRGVzcm9jaGVzIDxs dWRvdmljLmRlc3JvY2hlc0BtaWNyb2NoaXAuY29tPjsgRGF2aWQgUy4gTWlsbGVyIDxkYXZlbUBk YXZlbWxvZnQubmV0PjsgQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+ OyBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz47IGxpbnV4LWlpb0B2Z2VyLmtlcm5l bC5vcmc7IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgta2VybmVs QHZnZXIua2VybmVsLm9yZzsgTWF4aW1lIFJpcGFyZCA8bWF4aW1lLnJpcGFyZEBib290bGluLmNv bT4KPiA+IEJldHJlZmY6IFJlOiBbUEFUQ0hdIGlpbzogYWRjOiBhdDkxOiBkaXNhYmxlIGFkYyBj aGFubmVsIGludGVycnVwdCBpbiB0aW1lb3V0IGNhc2UKPiA+IAo+ID4gT24gTW9uLCA0IEZlYiAy MDE5IDA3OjE3OjA3ICswMDAwCj4gPiBHZW9yZyBPdHRpbmdlciA8Zy5vdHRpbmdlckBhYmF0ZWMu YXQ+IHdyb3RlOgo+ID4gICAKPiA+ID4gQWN0dWFsbHkgdGhpcyBpc3N1ZSBvY2N1cnJlZCB0byB1 cyB3aXRoIGFuIGNvbmNyZXRlIHByb2R1Y3QsIHdoZXJlIHdlIGV4cGVyaWVuY2VkIGEgc3lzdGVt IGhhbmcgYXQgLTIwIMKwQy4KPiA+ID4gSXQgd2FzIHRyaWdnZXJlZCBieSBhIHJhY2UgY29uZGl0 aW9uIGJldHdlZW4gdGhlIFRvdWNoIFRyaWdnZXIgYW5kIHRoZSBDaGFubmVsIFRyaWdnZXIgb2Yg dGhlIEFEQy4gT25jZSB0cmlnZ2VyZWQgd2UgZ290IGluIHRvIHRoZSBzaXR1YXRpb24gd2hlcmUg YW4gb25nb2luZyBDaGFubmVsIENvbnZlcnNpb24gd2FzIGxvc3QgKFRpbWVvdXQgY2FzZSkuV2hl biB3ZSBxdWVyaWVkIGEgc2Vjb25kIGNoYW5uZWwgdGhhbiB3ZSBnb3QgYSBzeXN0ZW0gaGFuZy4g SW52ZXN0aWdhdGluZyB0aGlzIGlzc3VlIHdlIGRldmVsb3BlZCBhbiBlcnJvciBkZW1vbnN0cmF0 b3IgLSByZWFkaW5nIGFsdGVybmF0aW5nIHR3byBjaGFubmVscyBhcyBmYXN0IGFzIHBvc3NpYmxl ICh3aGVuIFRvdWNoIGlzIGVuYWJsZWQpLiBUaGlzIGFsc28gcHJvdm9rZXMgdGhpcyBpc3N1ZSBh dCByb29tIHRlbXBlcmF0dXJlLgo+ID4gPiAKPiA+ID4gRm9yIHRoZSBlcnJvciBkZW1vbnN0cmF0 b3IgdXNlIGZvbGxvd2luZyBjb21tYW5kbGluZSB0byBjb21waWxlOgo+ID4gPiAKPiA+ID4gJCBh cm0tYnVpbGRyb290LWxpbnV4LWdudWVhYmloZi1nY2MgYWRjX2RlbW9fZXJyb3IuYyAtRDJORF9D SEFOTkVMIC1vIAo+ID4gPiBhZGNfZGVtb19lcnJvcjIKPiA+ID4gCj4gPiA+IC0tLS0tLS0tLS0t LS0KPiA+ID4gLy8gYWRjX2RlbW9fZXJyb3IuYwo+ID4gPiAjaW5jbHVkZSA8dW5pc3RkLmg+Cj4g PiA+ICNpbmNsdWRlIDxmY250bC5oPgo+ID4gPiAKPiA+ID4gI2RlZmluZSBWTEVOIDEwCj4gPiA+ IAo+ID4gPiBpbnQgbWFpbigpCj4gPiA+IHsKPiA+ID4gICBpbnQgZmRfYWRjLGZkX2FkYzI7Cj4g PiA+ICAgaW50IHJldDsKPiA+ID4gICBjaGFyIGR1bW15W1ZMRU5dOwo+ID4gPiAgIAo+ID4gPiAg IGZkX2FkYyA9IG9wZW4gCj4gPiA+ICgiL3N5cy9kZXZpY2VzL3BsYXRmb3JtL2FoYi9haGI6YXBi L2Y4MDE4MDAwLmFkYy9paW86ZGV2aWNlMC9pbl92b2x0YWcKPiA+ID4gZTRfcmF3IixPX1JET05M WSk7Cj4gPiA+ICNpZmRlZiAyTkRfQ0hBTk5FTAo+ID4gPiAgIGZkX2FkYzIgPSBvcGVuIAo+ID4g PiAoIi9zeXMvZGV2aWNlcy9wbGF0Zm9ybS9haGIvYWhiOmFwYi9mODAxODAwMC5hZGMvaWlvOmRl dmljZTAvaW5fdm9sdGFnCj4gPiA+IGU1X3JhdyIsT19SRE9OTFkpOwo+ID4gPiAjZW5kaWYKPiA+ ID4gCj4gPiA+ICAgd2hpbGUoMSkgewo+ID4gPiAKPiA+ID4gICAgIGxzZWVrKGZkX2FkYywgMCwg U0VFS19TRVQpOwo+ID4gPiAgICAgcmV0ID0gcmVhZChmZF9hZGMsIGR1bW15LCBWTEVOKTsKPiA+ ID4gI2lmZGVmIDJORF9DSEFOTkVMCj4gPiA+ICAgICBsc2VlayhmZF9hZGMyLCAwLCBTRUVLX1NF VCk7Cj4gPiA+ICAgICByZXQgPSByZWFkKGZkX2FkYzIsIGR1bW15LCBWTEVOKTsKPiA+ID4gI2Vu ZGlmCj4gPiA+IAo+ID4gPiAgIH0KPiA+ID4gfQo+ID4gPiAKPiA+ID4gLS0tLS0tLS0tLS0tCj4g PiA+IAo+ID4gPiAKPiA+ID4gR3JlZXRpbmcsIEdlb3JnICAKPiA+IEhpIEdlb3JnLAo+ID4gCj4g PiBUaGFua3MgZm9yIHRoZSBkZXRhaWxlZCBlcnJvciByZXBvcnQgYW5kIHJlcHJvZHVjZXIuCj4g PiAKPiA+IFdoYXQgaGFzIG1lIHdvbmRlcmluZyBub3cgaXMgd2hlcmUgdGhlIHJhY2UgaXMgdGhh dCBpcyB0cmlnZ2VyaW5nIHRoaXM/Cj4gPiBDb3VsZCB5b3UgdGFsayB1cyB0aHJvdWdoIGl0PyAg SSBkb24ndCBrbm93IHRoaXMgZHJpdmVyIHRoYXQgd2VsbCBzbyBwcm9iYWJseSBtdWNoIHF1aWNr ZXIgZm9yIHlvdSB0byBmaWxsIGluIHRoZSBnYXBzIHJhdGhlciB0aGFuIG1lIHRyeSB0byBmaWd1 cmUgb3V0IHRoZSByYWNlIHBhdGghCj4gPiAKPiA+IEkgaGF2ZSBubyBwcm9ibGVtIHdpdGggZGVm ZW5zZSBpbiBkZXB0aCAod2l0aCBhcHByb3ByaWF0ZSBjb21tZW50cykgYnV0IEknZCBsaWtlIHRv IGNsb3NlIHRoYXQgZG93biBhcyB3ZWxsLiAgSWYgaXQgcmVhbGx5IGlzIHVuc29sdmFibGUgSSdk IGxpa2UgYXQgbGVhc3QgdG8gaGF2ZSBzb21lIGNsZWFyIGNvbW1lbnRzIGluIHRoZSBjb2RlIGV4 cGxhaW5pbmcgd2h5Lgo+ID4gCj4gPiBUaGFua3MsCj4gPiAKPiA+IEpvbmF0aGFuCj4gPiAgIAo+ ID4gPiAKPiA+ID4gLS0tLS1VcnNwcsO8bmdsaWNoZSBOYWNocmljaHQtLS0tLQo+ID4gPiBWb246 IEpvbmF0aGFuIENhbWVyb24gW21haWx0bzpqaWMyM0BrZXJuZWwub3JnXQo+ID4gPiBHZXNlbmRl dDogU2Ftc3RhZywgMDIuIEZlYnJ1YXIgMjAxOSAxMToyMQo+ID4gPiBBbjogR2VvcmcgT3R0aW5n ZXIgPGcub3R0aW5nZXJAYWJhdGVjLmF0Pgo+ID4gPiBDYzogZXVnZW4uaHJpc3RldkBtaWNyb2No aXAuY29tOyBTdGVmYW4gRXR6bHN0b3JmZXIgCj4gPiA+IDxzLmV0emxzdG9yZmVyQGFiYXRlYy5h dD47IEhhcnRtdXQgS25hYWNrIDxrbmFhY2suaEBnbXguZGU+OyAKPiA+ID4gTGFycy1QZXRlciBD bGF1c2VuIDxsYXJzQG1ldGFmb28uZGU+OyBQZXRlciBNZWVyd2FsZC1TdGFkbGVyIAo+ID4gPiA8 cG1lZXJ3QHBtZWVydy5uZXQ+OyBOaWNvbGFzIEZlcnJlIDxuaWNvbGFzLmZlcnJlQG1pY3JvY2hp cC5jb20+OyAKPiA+ID4gQWxleGFuZHJlIEJlbGxvbmkgPGFsZXhhbmRyZS5iZWxsb25pQGJvb3Rs aW4uY29tPjsgTHVkb3ZpYyBEZXNyb2NoZXMgCj4gPiA+IDxsdWRvdmljLmRlc3JvY2hlc0BtaWNy b2NoaXAuY29tPjsgRGF2aWQgUy4gTWlsbGVyIAo+ID4gPiA8ZGF2ZW1AZGF2ZW1sb2Z0Lm5ldD47 IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPjsgCj4gPiA+IEtlZXMg Q29vayA8a2Vlc2Nvb2tAY2hyb21pdW0ub3JnPjsgbGludXgtaWlvQHZnZXIua2VybmVsLm9yZzsg Cj4gPiA+IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgbGludXgta2VybmVs QHZnZXIua2VybmVsLm9yZzsgCj4gPiA+IE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAYm9v dGxpbi5jb20+Cj4gPiA+IEJldHJlZmY6IFJlOiBbUEFUQ0hdIGlpbzogYWRjOiBhdDkxOiBkaXNh YmxlIGFkYyBjaGFubmVsIGludGVycnVwdCBpbiAKPiA+ID4gdGltZW91dCBjYXNlCj4gPiA+IAo+ ID4gPiBPbiBXZWQsIDMwIEphbiAyMDE5IDE0OjQyOjAyICswMTAwCj4gPiA+IDxnLm90dGluZ2Vy QGFiYXRlYy5hdD4gd3JvdGU6Cj4gPiA+ICAgCj4gPiA+ID4gRnJvbTogR2VvcmcgT3R0aW5nZXIg PGcub3R0aW5nZXJAYWJhdGVjLmF0Pgo+ID4gPiA+IAo+ID4gPiA+IEhhdmluZyBhIGJyaWVmIGxv b2sgYXQgYXQ5MV9hZGNfcmVhZF9yYXcoKSBpdCBpcyBvYnZpb3VzIHRoYXQgaW4gdGhlIAo+ID4g PiA+IGNhc2Ugb2YgYSB0aW1lb3V0IHRoZSBzZXR0aW5nIG9mIEFUOTFfQURDX0NIRFIgYW5kIEFU OTFfQURDX0lEUiAKPiA+ID4gPiByZWdpc3RlcnMgaXMgb21pdHRlZC4gSWYgMiBkaWZmZXJlbnQg Y2hhbm5lbHMgYXJlIHF1ZXJpZWQgd2UgY2FuIGVuZCAKPiA+ID4gPiB1cCB3aXRoIGEgc2l0dWF0 aW9uIHdoZXJlIHR3byBpbnRlcnJ1cHRzIGFyZSBlbmFibGVkLCBidXQgb25seSBvbmUgCj4gPiA+ ID4gaW50ZXJydXB0IGlzIGNsZWFyZWQgaW4gdGhlIGludGVycnVwdCBoYW5kbGVyLiBSZXN1bHRp bmcgaW4gYSAKPiA+ID4gPiBpbnRlcnJ1cHQgbG9vcCBhbmQgYSBzeXN0ZW0gaGFuZy4KPiA+ID4g PiAKPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBHZW9yZyBPdHRpbmdlciA8Zy5vdHRpbmdlckBhYmF0 ZWMuYXQ+ICAKPiA+ID4gCj4gPiA+IFdoaWxzdCBJIGFncmVlIHRoaXMgbG9va3MgbGlrZSBhIGNv cnJlY3QgY2hhbmdlLCBJIHdvdWxkIGxpa2UgTWF4aW1lIHRvIHRha2UgYSBsb29rIGFzIGhlIGlz IG9idmlvdXNseSBtdWNoIG1vcmUgZmFtaWxpYXIgd2l0aCB0aGUgZHJpdmVyIHRoYW4gSSBhbS4K PiA+ID4gCj4gPiA+IEkgc3VzcGVjdCB5b3UgY2FuIG9ubHkgYWN0dWFsbHkgZ2V0IHRoZXJlIGlu IHRoZSBldmVudCBvZiBhIGhhcmR3YXJlIGZhaWx1cmUgYXMgdGhhdCBpc24ndCBhY3R1YWxseSBh IHRpbWVvdXQgeW91IHNob3VsZCBldmVyIHNlZS4KPiA+ID4gQ291bGQgYmUgd3JvbmcgdGhvdWdo IQo+ID4gPiAKPiA+ID4gVGhhbmtzLAo+ID4gPiAKPiA+ID4gSm9uYXRoYW4KPiA+ID4gICAKPiA+ ID4gPiAtLS0KPiA+ID4gPiAgZHJpdmVycy9paW8vYWRjL2F0OTFfYWRjLmMgfCAyOCArKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tCj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRp b25zKCspLCAxMSBkZWxldGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9paW8vYWRjL2F0OTFfYWRjLmMgYi9kcml2ZXJzL2lpby9hZGMvYXQ5MV9hZGMuYyAKPiA+ ID4gPiBpbmRleCA3NWQyZjczNTguLjU5Njg0MWEzYyAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2 ZXJzL2lpby9hZGMvYXQ5MV9hZGMuYwo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvaWlvL2FkYy9hdDkx X2FkYy5jCj4gPiA+ID4gQEAgLTcwNCwyMyArNzA0LDI5IEBAIHN0YXRpYyBpbnQgYXQ5MV9hZGNf cmVhZF9yYXcoc3RydWN0IGlpb19kZXYgKmlkZXYsCj4gPiA+ID4gIAkJcmV0ID0gd2FpdF9ldmVu dF9pbnRlcnJ1cHRpYmxlX3RpbWVvdXQoc3QtPndxX2RhdGFfYXZhaWwsCj4gPiA+ID4gIAkJCQkJ CSAgICAgICBzdC0+ZG9uZSwKPiA+ID4gPiAgCQkJCQkJICAgICAgIG1zZWNzX3RvX2ppZmZpZXMo MTAwMCkpOwo+ID4gPiA+IC0JCWlmIChyZXQgPT0gMCkKPiA+ID4gPiAtCQkJcmV0ID0gLUVUSU1F RE9VVDsKPiA+ID4gPiAtCQlpZiAocmV0IDwgMCkgewo+ID4gPiA+IC0JCQltdXRleF91bmxvY2so JnN0LT5sb2NrKTsKPiA+ID4gPiAtCQkJcmV0dXJuIHJldDsKPiA+ID4gPiAtCQl9Cj4gPiA+ID4g LQo+ID4gPiA+IC0JCSp2YWwgPSBzdC0+bGFzdF92YWx1ZTsKPiA+ID4gPiAgCj4gPiA+ID4gKwkJ LyogRGlzYWJsZSBpbnRlcnJ1cHRzLCByZWdhcmRsZXNzIGlmIGFkYyBjb252ZXJzaW9uIHdhcwo+ ID4gPiA+ICsJCSAqIHN1Y2Nlc3NmdWwgb3Igbm90Cj4gPiA+ID4gKwkJICovCj4gPiA+ID4gIAkJ YXQ5MV9hZGNfd3JpdGVsKHN0LCBBVDkxX0FEQ19DSERSLAo+ID4gPiA+ICAJCQkJQVQ5MV9BRENf Q0goY2hhbi0+Y2hhbm5lbCkpOwo+ID4gPiA+ICAJCWF0OTFfYWRjX3dyaXRlbChzdCwgQVQ5MV9B RENfSURSLCBCSVQoY2hhbi0+Y2hhbm5lbCkpOwo+ID4gPiA+ICAKPiA+ID4gPiAtCQlzdC0+bGFz dF92YWx1ZSA9IDA7Cj4gPiA+ID4gLQkJc3QtPmRvbmUgPSBmYWxzZTsKPiA+ID4gPiArCQlpZiAo cmV0ID4gMCkgewo+ID4gPiA+ICsJCQkvKiBhIHZhbGlkIGNvbnZlcnNpb24gdG9vayBwbGFjZSAq Lwo+ID4gPiA+ICsJCQkqdmFsID0gc3QtPmxhc3RfdmFsdWU7Cj4gPiA+ID4gKwkJCXN0LT5sYXN0 X3ZhbHVlID0gMDsKPiA+ID4gPiArCQkJc3QtPmRvbmUgPSBmYWxzZTsKPiA+ID4gPiArCQkJcmV0 ID0gSUlPX1ZBTF9JTlQ7Cj4gPiA+ID4gKwkJfSBlbHNlIGlmIChyZXQgPT0gMCkgewo+ID4gPiA+ ICsJCQkvKiBjb252ZXJzaW9uIHRpbWVvdXQgKi8KPiA+ID4gPiArCQkJZGV2X2VycigmaWRldi0+ ZGV2LCAiQURDIENoYW5uZWwgJWQgdGltZW91dC5cbiIsCj4gPiA+ID4gKwkJCQljaGFuLT5jaGFu bmVsKTsKPiA+ID4gPiArCQkJcmV0ID0gLUVUSU1FRE9VVDsKPiA+ID4gPiArCQl9Cj4gPiA+ID4g Kwo+ID4gPiA+ICAJCW11dGV4X3VubG9jaygmc3QtPmxvY2spOwo+ID4gPiA+IC0JCXJldHVybiBJ SU9fVkFMX0lOVDsKPiA+ID4gPiArCQlyZXR1cm4gcmV0Owo+ID4gPiA+ICAKPiA+ID4gPiAgCWNh c2UgSUlPX0NIQU5fSU5GT19TQ0FMRToKPiA+ID4gPiAgCQkqdmFsID0gc3QtPnZyZWZfbXY7ICAK PiA+ID4gICAKPiA+IAo+ID4gICAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1h bi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==