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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 875C9CD37AC for ; Wed, 13 May 2026 19:24:50 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id E610910F01F; Wed, 13 May 2026 19:24:49 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=ragnatech.se header.i=@ragnatech.se header.b="tSF/mCi0"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="Rj7pRxqP"; dkim-atps=neutral Received: from fout-a1-smtp.messagingengine.com (fout-a1-smtp.messagingengine.com [103.168.172.144]) by gabe.freedesktop.org (Postfix) with ESMTPS id A141310E284 for ; Wed, 13 May 2026 19:24:48 +0000 (UTC) Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfout.phl.internal (Postfix) with ESMTP id 0AFBFEC012D; Wed, 13 May 2026 15:24:48 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-11.internal (MEProxy); Wed, 13 May 2026 15:24:48 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1778700288; x=1778786688; bh=EyyxCJdYkagema2fQ27LfIFrsHe01PeuwInIxPvtBRQ=; b= tSF/mCi0XMOOm0WRf2iPDb4GHqnNs54p+rTO4bmnVsB8FMh2HurseJM1KKO+AkQ0 2yovAUh2MNomF2tDUM3cdp5QJL2al7Ua6U+Uau1Hxbo8pUYd3hq3a+BM5am+eEt0 2hZpn9lbDriX3wNz2J2cLTp4mcD++UHTWyxjc9died9gReJ+Uqx+ox13RfPEde5a 7FmGu02l4RUIgs/nsFzGLzq6VloRouSEGV7BreZU6V+8zLqkkpYUbU3wNigFAXOy o9+Q4nUWHoNokWpDkvF4p/TzPG2UVNLVYBzVvqO5lcC6sfc7Fr0ys8mz0NhtB+QT m/7FK16gfYyZ9y2JtrVzzQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778700288; x= 1778786688; bh=EyyxCJdYkagema2fQ27LfIFrsHe01PeuwInIxPvtBRQ=; b=R j7pRxqPZtblpB+K15R3FWmxjAFSgRZ5kNb+XvDWi6k9DSu4SecTSmAzNgygYu8HI yC56Ju1+lK9yE81JbUK21qOwg/VFQI0xTDAD4EUKDFLAaIafR7SaALdem8NamnOU 1XpxddQMfC+KkVQ2DAr40BJq3U8fZpZ680858Ubi5f+t3XwN/3O0MOUIlaGi5OjS 0eTVL0hhuKm/Np9RpJsWticcmNragzMfuUjCG3m0k1n3gETynrBXAlBQZmo90ypJ /VQBz06RfgqWuZ9NbCe73iYtKteySBuFaXtJRFavWIA/C3cNng8Mfj031TWnYaSt RwcgfRBB9GVcGwCT8ijVQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduvdehgeekucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhklhgr shcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhnrg htvggthhdrshgvqeenucggtffrrghtthgvrhhnpeevteegtddvvdfhtdekgefhfeefheet heekkeegfeejudeiudeuleegtdehkeekteenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhn rghtvggthhdrshgvpdhnsggprhgtphhtthhopeelpdhmohguvgepshhmthhpohhuthdprh gtphhtthhopehlrghurhgvnhhtrdhpihhntghhrghrthdorhgvnhgvshgrshesihguvggr shhonhgsohgrrhgurdgtohhmpdhrtghpthhtoheplhhinhhugidqmhgvughirgesvhhgvg hrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopegurhhiqdguvghvvghlsehlihhsthhs rdhfrhgvvgguvghskhhtohhprdhorhhgpdhrtghpthhtoheplhhinhhugidqrhgvnhgvsh grshdqshhotgesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehtohhmihdr vhgrlhhkvghinhgvnhesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtghpthhtohepkh hivghrrghnrdgsihhnghhhrghmsehiuggvrghsohhnsghorghrugdrtghomhdprhgtphht thhopegsihhjuhdruggrshdrjhiisegsphdrrhgvnhgvshgrshdrtghomhdprhgtphhtth hopegrihhrlhhivggusehgmhgrihhlrdgtohhmpdhrtghpthhtohepshhimhhonhgrsehf fhiflhhlrdgthh X-ME-Proxy: Feedback-ID: i80c9496c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 13 May 2026 15:24:47 -0400 (EDT) Date: Wed, 13 May 2026 21:24:46 +0200 From: Niklas =?utf-8?Q?S=C3=B6derlund?= To: Laurent Pinchart Cc: linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Tomi Valkeinen , Kieran Bingham , Biju Das , David Airlie , Simona Vetter Subject: Re: [PATCH 06/11] media: renesas: vsp1: Use mutex scoped guards Message-ID: <20260513192446.GI332351@ragnatech.se> References: <20260511235637.3468558-1-laurent.pinchart+renesas@ideasonboard.com> <20260511235637.3468558-7-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: <20260511235637.3468558-7-laurent.pinchart+renesas@ideasonboard.com> X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgTGF1cmVudCwKClRoYW5rcyBmb3IgeW91ciB3b3JrLgoKT24gMjAyNi0wNS0xMiAwMjo1Njoz MCArMDMwMCwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiBSZXBsYWNlIHJlbWFpbmluZyBtYW51 YWwgbXV0ZXggbG9ja2luZyBhbmQgdW5sb2NraW5nIHdpdGggc2NvcGVkCj4gZ3VhcmRzLiBUaGlz IHNpbXBsaWZpZXMgZXJyb3IgcGF0aHMgYW5kIHJlZHVjZXMgdGhlIGFtb3VudCBvZiBjb2RlLgo+ IAo+IFNpZ25lZC1vZmYtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnQrcmVu ZXNhc0BpZGVhc29uYm9hcmQuY29tPgoKUmV2aWV3ZWQtYnk6IE5pa2xhcyBTw7ZkZXJsdW5kIDxu aWtsYXMuc29kZXJsdW5kK3JlbmVzYXNAcmFnbmF0ZWNoLnNlPgoKPiAtLS0KPiAgLi4uL21lZGlh L3BsYXRmb3JtL3JlbmVzYXMvdnNwMS92c3AxX2JyeC5jICAgIHwgICA3ICstCj4gIC4uLi9tZWRp YS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9kcm0uYyAgICB8IDExNyArKysrKysrKy0tLS0t LS0tLS0KPiAgLi4uL21lZGlhL3BsYXRmb3JtL3JlbmVzYXMvdnNwMS92c3AxX2VudGl0eS5jIHwg ICA4ICstCj4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9oZ28uYyAgICB8 ICAxMCArLQo+ICAuLi4vbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfaGd0LmMgICAg fCAgMTYgKy0tCj4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV92aWRlby5j ICB8ICA2MCArKysrLS0tLS0KPiAgNiBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwg MTE2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3JlbmVzYXMvdnNwMS92c3AxX2JyeC5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2Fz L3ZzcDEvdnNwMV9icnguYwo+IGluZGV4IGJkMjY3MjM0MTM4Ni4uMzI1YmUzMDgzNmQ3IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfYnJ4LmMK PiArKysgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JlbmVzYXMvdnNwMS92c3AxX2JyeC5jCj4g QEAgLTE5MCw5ICsxOTAsMTAgQEAgc3RhdGljIGludCBicnhfZ2V0X3NlbGVjdGlvbihzdHJ1Y3Qg djRsMl9zdWJkZXYgKnN1YmRldiwKPiAgCQlpZiAoIXN0YXRlKQo+ICAJCQlyZXR1cm4gLUVJTlZB TDsKPiAgCj4gLQkJbXV0ZXhfbG9jaygmYnJ4LT5lbnRpdHkubG9jayk7Cj4gLQkJc2VsLT5yID0g KnY0bDJfc3ViZGV2X3N0YXRlX2dldF9jb21wb3NlKHN0YXRlLCBzZWwtPnBhZCk7Cj4gLQkJbXV0 ZXhfdW5sb2NrKCZicngtPmVudGl0eS5sb2NrKTsKPiArCQlzY29wZWRfZ3VhcmQobXV0ZXgsICZi cngtPmVudGl0eS5sb2NrKSB7Cj4gKwkJCXNlbC0+ciA9ICp2NGwyX3N1YmRldl9zdGF0ZV9nZXRf Y29tcG9zZShzdGF0ZSwgc2VsLT5wYWQpOwo+ICsJCX0KPiArCj4gIAkJcmV0dXJuIDA7Cj4gIAo+ ICAJZGVmYXVsdDoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2Fz L3ZzcDEvdnNwMV9kcm0uYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3Zz cDFfZHJtLmMKPiBpbmRleCAxNDM5Y2Y3YmZiNTkuLjJiNjRkOWI1YTgxYyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JlbmVzYXMvdnNwMS92c3AxX2RybS5jCj4gKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9kcm0uYwo+IEBAIC02NzUs NDMgKzY3NSwzNyBAQCBpbnQgdnNwMV9kdV9lbmFibGUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcGlwZV9pbmRleCwKPiAgCQlfX2Z1bmNfXywgcGlwZV9pbmRleCwgY2ZnLT53aWR0 aCwgY2ZnLT5oZWlnaHQsCj4gIAkJcGlwZS0+aW50ZXJsYWNlZCA/ICJpIiA6ICIiKTsKPiAgCj4g LQltdXRleF9sb2NrKCZ2c3AxLT5kcm0tPmxvY2spOwo+ICsJc2NvcGVkX2d1YXJkKG11dGV4LCAm dnNwMS0+ZHJtLT5sb2NrKSB7Cj4gKwkJLyogU2V0dXAgZm9ybWF0cyB0aHJvdWdoIHRoZSBwaXBl bGluZS4gKi8KPiArCQlyZXQgPSB2c3AxX2R1X3BpcGVsaW5lX3NldHVwX2lucHV0cyh2c3AxLCBw aXBlKTsKPiArCQlpZiAocmV0IDwgMCkKPiArCQkJcmV0dXJuIHJldDsKPiAgCj4gLQkvKiBTZXR1 cCBmb3JtYXRzIHRocm91Z2ggdGhlIHBpcGVsaW5lLiAqLwo+IC0JcmV0ID0gdnNwMV9kdV9waXBl bGluZV9zZXR1cF9pbnB1dHModnNwMSwgcGlwZSk7Cj4gLQlpZiAocmV0IDwgMCkKPiAtCQlnb3Rv IHVubG9jazsKPiArCQlyZXQgPSB2c3AxX2R1X3BpcGVsaW5lX3NldHVwX291dHB1dCh2c3AxLCBw aXBlKTsKPiArCQlpZiAocmV0IDwgMCkKPiArCQkJcmV0dXJuIHJldDsKPiAgCj4gLQlyZXQgPSB2 c3AxX2R1X3BpcGVsaW5lX3NldHVwX291dHB1dCh2c3AxLCBwaXBlKTsKPiAtCWlmIChyZXQgPCAw KQo+IC0JCWdvdG8gdW5sb2NrOwo+ICsJCXZzcDFfcGlwZWxpbmVfZHVtcChwaXBlLCAiRFUgZW5h YmxlIik7Cj4gIAo+IC0JdnNwMV9waXBlbGluZV9kdW1wKHBpcGUsICJEVSBlbmFibGUiKTsKPiAr CQkvKiBFbmFibGUgdGhlIFZTUDEuICovCj4gKwkJcmV0ID0gdnNwMV9kZXZpY2VfZ2V0KHZzcDEp Owo+ICsJCWlmIChyZXQgPCAwKQo+ICsJCQlyZXR1cm4gcmV0Owo+ICAKPiAtCS8qIEVuYWJsZSB0 aGUgVlNQMS4gKi8KPiAtCXJldCA9IHZzcDFfZGV2aWNlX2dldCh2c3AxKTsKPiAtCWlmIChyZXQg PCAwKQo+IC0JCWdvdG8gdW5sb2NrOwo+ICsJCS8qCj4gKwkJICogUmVnaXN0ZXIgYSBjYWxsYmFj ayB0byBhbGxvdyB1cyB0byBub3RpZnkgdGhlIERSTSBkcml2ZXIgb2YgZnJhbWUKPiArCQkgKiBj b21wbGV0aW9uIGV2ZW50cy4KPiArCQkgKi8KPiArCQlkcm1fcGlwZS0+ZHVfY29tcGxldGUgPSBj ZmctPmNhbGxiYWNrOwo+ICsJCWRybV9waXBlLT5kdV9wcml2YXRlID0gY2ZnLT5jYWxsYmFja19k YXRhOwo+ICAKPiAtCS8qCj4gLQkgKiBSZWdpc3RlciBhIGNhbGxiYWNrIHRvIGFsbG93IHVzIHRv IG5vdGlmeSB0aGUgRFJNIGRyaXZlciBvZiBmcmFtZQo+IC0JICogY29tcGxldGlvbiBldmVudHMu Cj4gLQkgKi8KPiAtCWRybV9waXBlLT5kdV9jb21wbGV0ZSA9IGNmZy0+Y2FsbGJhY2s7Cj4gLQlk cm1fcGlwZS0+ZHVfcHJpdmF0ZSA9IGNmZy0+Y2FsbGJhY2tfZGF0YTsKPiArCQkvKiBEaXNhYmxl IHRoZSBkaXNwbGF5IGludGVycnVwdHMuICovCj4gKwkJdnNwMV93cml0ZSh2c3AxLCBWSTZfRElT UF9JUlFfU1RBKHBpcGVfaW5kZXgpLCAwKTsKPiArCQl2c3AxX3dyaXRlKHZzcDEsIFZJNl9ESVNQ X0lSUV9FTkIocGlwZV9pbmRleCksIDApOwo+ICAKPiAtCS8qIERpc2FibGUgdGhlIGRpc3BsYXkg aW50ZXJydXB0cy4gKi8KPiAtCXZzcDFfd3JpdGUodnNwMSwgVkk2X0RJU1BfSVJRX1NUQShwaXBl X2luZGV4KSwgMCk7Cj4gLQl2c3AxX3dyaXRlKHZzcDEsIFZJNl9ESVNQX0lSUV9FTkIocGlwZV9p bmRleCksIDApOwo+IC0KPiAtCS8qIENvbmZpZ3VyZSBhbGwgZW50aXRpZXMgaW4gdGhlIHBpcGVs aW5lLiAqLwo+IC0JdnNwMV9kdV9waXBlbGluZV9jb25maWd1cmUocGlwZSk7Cj4gLQo+IC11bmxv Y2s6Cj4gLQltdXRleF91bmxvY2soJnZzcDEtPmRybS0+bG9jayk7Cj4gLQo+IC0JaWYgKHJldCA8 IDApCj4gLQkJcmV0dXJuIHJldDsKPiArCQkvKiBDb25maWd1cmUgYWxsIGVudGl0aWVzIGluIHRo ZSBwaXBlbGluZS4gKi8KPiArCQl2c3AxX2R1X3BpcGVsaW5lX2NvbmZpZ3VyZShwaXBlKTsKPiAr CX0KPiAgCj4gIAkvKiBTdGFydCB0aGUgcGlwZWxpbmUuICovCj4gIAlzcGluX2xvY2tfaXJxc2F2 ZSgmcGlwZS0+aXJxbG9jaywgZmxhZ3MpOwo+IEBAIC03MzksNyArNzMzLDYgQEAgaW50IHZzcDFf ZHVfZGlzYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlX2luZGV4KQo+ ICAJc3RydWN0IHZzcDFfZGV2aWNlICp2c3AxID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gIAlz dHJ1Y3QgdnNwMV9kcm1fcGlwZWxpbmUgKmRybV9waXBlOwo+ICAJc3RydWN0IHZzcDFfcGlwZWxp bmUgKnBpcGU7Cj4gLQlzdHJ1Y3QgdnNwMV9icnggKmJyeDsKPiAgCXVuc2lnbmVkIGludCBpOwo+ ICAJaW50IHJldDsKPiAgCj4gQEAgLTc0OSw0NSArNzQyLDQzIEBAIGludCB2c3AxX2R1X2Rpc2Fi bGUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZV9pbmRleCkKPiAgCWRybV9w aXBlID0gJnZzcDEtPmRybS0+cGlwZVtwaXBlX2luZGV4XTsKPiAgCXBpcGUgPSAmZHJtX3BpcGUt PnBpcGU7Cj4gIAo+IC0JbXV0ZXhfbG9jaygmdnNwMS0+ZHJtLT5sb2NrKTsKPiArCXNjb3BlZF9n dWFyZChtdXRleCwgJnZzcDEtPmRybS0+bG9jaykgewo+ICsJCXN0cnVjdCB2c3AxX2JyeCAqYnJ4 ID0gdG9fYnJ4KCZwaXBlLT5icngtPnN1YmRldik7Cj4gIAo+IC0JYnJ4ID0gdG9fYnJ4KCZwaXBl LT5icngtPnN1YmRldik7Cj4gKwkJcmV0ID0gdnNwMV9waXBlbGluZV9zdG9wKHBpcGUpOwo+ICsJ CWlmIChyZXQgPT0gLUVUSU1FRE9VVCkKPiArCQkJZGV2X2Vycih2c3AxLT5kZXYsICJEUk0gcGlw ZWxpbmUgc3RvcCB0aW1lb3V0XG4iKTsKPiAgCj4gLQlyZXQgPSB2c3AxX3BpcGVsaW5lX3N0b3Ao cGlwZSk7Cj4gLQlpZiAocmV0ID09IC1FVElNRURPVVQpCj4gLQkJZGV2X2Vycih2c3AxLT5kZXYs ICJEUk0gcGlwZWxpbmUgc3RvcCB0aW1lb3V0XG4iKTsKPiArCQlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShwaXBlLT5pbnB1dHMpOyArK2kpIHsKPiArCQkJc3RydWN0IHZzcDFfcndwZiAqcnBm ID0gcGlwZS0+aW5wdXRzW2ldOwo+ICAKPiAtCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBp cGUtPmlucHV0cyk7ICsraSkgewo+IC0JCXN0cnVjdCB2c3AxX3J3cGYgKnJwZiA9IHBpcGUtPmlu cHV0c1tpXTsKPiArCQkJaWYgKCFycGYpCj4gKwkJCQljb250aW51ZTsKPiAgCj4gLQkJaWYgKCFy cGYpCj4gLQkJCWNvbnRpbnVlOwo+ICsJCQkvKgo+ICsJCQkgKiBSZW1vdmUgdGhlIFJQRiBmcm9t IHRoZSBwaXBlIGFuZCB0aGUgbGlzdCBvZiBCUngKPiArCQkJICogaW5wdXRzLgo+ICsJCQkgKi8K PiArCQkJV0FSTl9PTighcnBmLT5lbnRpdHkucGlwZSk7Cj4gKwkJCXJwZi0+ZW50aXR5LnBpcGUg PSBOVUxMOwo+ICsJCQlsaXN0X2RlbCgmcnBmLT5lbnRpdHkubGlzdF9waXBlKTsKPiArCQkJcGlw ZS0+aW5wdXRzW2ldID0gTlVMTDsKPiAgCj4gLQkJLyoKPiAtCQkgKiBSZW1vdmUgdGhlIFJQRiBm cm9tIHRoZSBwaXBlIGFuZCB0aGUgbGlzdCBvZiBCUngKPiAtCQkgKiBpbnB1dHMuCj4gLQkJICov Cj4gLQkJV0FSTl9PTighcnBmLT5lbnRpdHkucGlwZSk7Cj4gLQkJcnBmLT5lbnRpdHkucGlwZSA9 IE5VTEw7Cj4gLQkJbGlzdF9kZWwoJnJwZi0+ZW50aXR5Lmxpc3RfcGlwZSk7Cj4gLQkJcGlwZS0+ aW5wdXRzW2ldID0gTlVMTDsKPiArCQkJYnJ4LT5pbnB1dHNbcnBmLT5icnhfaW5wdXRdLnJwZiA9 IE5VTEw7Cj4gKwkJfQo+ICAKPiAtCQlicngtPmlucHV0c1tycGYtPmJyeF9pbnB1dF0ucnBmID0g TlVMTDsKPiArCQlkcm1fcGlwZS0+ZHVfY29tcGxldGUgPSBOVUxMOwo+ICsJCXBpcGUtPm51bV9p bnB1dHMgPSAwOwo+ICsKPiArCQlkZXZfZGJnKHZzcDEtPmRldiwgIiVzOiBwaXBlICV1OiByZWxl YXNpbmcgJXNcbiIsCj4gKwkJCV9fZnVuY19fLCBwaXBlLT5saWYtPmluZGV4LAo+ICsJCQlCUlhf TkFNRShwaXBlLT5icngpKTsKPiArCj4gKwkJbGlzdF9kZWwoJnBpcGUtPmJyeC0+bGlzdF9waXBl KTsKPiArCQlwaXBlLT5icngtPnBpcGUgPSBOVUxMOwo+ICsJCXBpcGUtPmJyeCA9IE5VTEw7Cj4g IAl9Cj4gIAo+IC0JZHJtX3BpcGUtPmR1X2NvbXBsZXRlID0gTlVMTDsKPiAtCXBpcGUtPm51bV9p bnB1dHMgPSAwOwo+IC0KPiAtCWRldl9kYmcodnNwMS0+ZGV2LCAiJXM6IHBpcGUgJXU6IHJlbGVh c2luZyAlc1xuIiwKPiAtCQlfX2Z1bmNfXywgcGlwZS0+bGlmLT5pbmRleCwKPiAtCQlCUlhfTkFN RShwaXBlLT5icngpKTsKPiAtCj4gLQlsaXN0X2RlbCgmcGlwZS0+YnJ4LT5saXN0X3BpcGUpOwo+ IC0JcGlwZS0+YnJ4LT5waXBlID0gTlVMTDsKPiAtCXBpcGUtPmJyeCA9IE5VTEw7Cj4gLQo+IC0J bXV0ZXhfdW5sb2NrKCZ2c3AxLT5kcm0tPmxvY2spOwo+IC0KPiAgCXZzcDFfZGxtX3Jlc2V0KHBp cGUtPm91dHB1dC0+ZGxtKTsKPiAgCXZzcDFfZGV2aWNlX3B1dCh2c3AxKTsKPiAgCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfZW50aXR5LmMg Yi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JlbmVzYXMvdnNwMS92c3AxX2VudGl0eS5jCj4gaW5k ZXggMzgyMGJhNTNiNDVmLi4yYWUyYTU3M2YwZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRp YS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9lbnRpdHkuYwo+ICsrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfZW50aXR5LmMKPiBAQCAtMjE2LDEwICsyMTYs MTAgQEAgaW50IHZzcDFfc3ViZGV2X2VudW1fbWJ1c19jb2RlKHN0cnVjdCB2NGwyX3N1YmRldiAq c3ViZGV2LAo+ICAJCWlmICghc3RhdGUpCj4gIAkJCXJldHVybiAtRUlOVkFMOwo+ICAKPiAtCQlt dXRleF9sb2NrKCZlbnRpdHktPmxvY2spOwo+IC0JCWZvcm1hdCA9IHY0bDJfc3ViZGV2X3N0YXRl X2dldF9mb3JtYXQoc3RhdGUsIDApOwo+IC0JCWNvZGUtPmNvZGUgPSBmb3JtYXQtPmNvZGU7Cj4g LQkJbXV0ZXhfdW5sb2NrKCZlbnRpdHktPmxvY2spOwo+ICsJCXNjb3BlZF9ndWFyZChtdXRleCwg JmVudGl0eS0+bG9jaykgewo+ICsJCQlmb3JtYXQgPSB2NGwyX3N1YmRldl9zdGF0ZV9nZXRfZm9y bWF0KHN0YXRlLCAwKTsKPiArCQkJY29kZS0+Y29kZSA9IGZvcm1hdC0+Y29kZTsKPiArCQl9Cj4g IAl9Cj4gIAo+ICAJcmV0dXJuIDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vcmVuZXNhcy92c3AxL3ZzcDFfaGdvLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JlbmVz YXMvdnNwMS92c3AxX2hnby5jCj4gaW5kZXggMmM4Y2U3MTc1YTRlLi4wZWY1MTJlM2E5NGIgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9oZ28u Ywo+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfaGdvLmMK PiBAQCAtMTUzLDExICsxNTMsMTEgQEAgc3RhdGljIHZvaWQgaGdvX2NvbmZpZ3VyZV9zdHJlYW0o c3RydWN0IHZzcDFfZW50aXR5ICplbnRpdHksCj4gIAkJICAgICAgIChjcm9wLT53aWR0aCA8PCBW STZfSEdPX1NJWkVfSFNJWkVfU0hJRlQpIHwKPiAgCQkgICAgICAgKGNyb3AtPmhlaWdodCA8PCBW STZfSEdPX1NJWkVfVlNJWkVfU0hJRlQpKTsKPiAgCj4gLQltdXRleF9sb2NrKGhnby0+Y3RybHMu aGFuZGxlci5sb2NrKTsKPiAtCWhnby0+bWF4X3JnYiA9IGhnby0+Y3RybHMubWF4X3JnYi0+Y3Vy LnZhbDsKPiAtCWlmIChoZ28tPmN0cmxzLm51bV9iaW5zKQo+IC0JCWhnby0+bnVtX2JpbnMgPSBo Z29fbnVtX2JpbnNbaGdvLT5jdHJscy5udW1fYmlucy0+Y3VyLnZhbF07Cj4gLQltdXRleF91bmxv Y2soaGdvLT5jdHJscy5oYW5kbGVyLmxvY2spOwo+ICsJc2NvcGVkX2d1YXJkKG11dGV4LCBoZ28t PmN0cmxzLmhhbmRsZXIubG9jaykgewo+ICsJCWhnby0+bWF4X3JnYiA9IGhnby0+Y3RybHMubWF4 X3JnYi0+Y3VyLnZhbDsKPiArCQlpZiAoaGdvLT5jdHJscy5udW1fYmlucykKPiArCQkJaGdvLT5u dW1fYmlucyA9IGhnb19udW1fYmluc1toZ28tPmN0cmxzLm51bV9iaW5zLT5jdXIudmFsXTsKPiAr CX0KPiAgCj4gIAlocmF0aW8gPSBjcm9wLT53aWR0aCAqIDIgLyBjb21wb3NlLT53aWR0aCAvIDM7 Cj4gIAl2cmF0aW8gPSBjcm9wLT5oZWlnaHQgKiAyIC8gY29tcG9zZS0+aGVpZ2h0IC8gMzsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9oZ3Qu YyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfaGd0LmMKPiBpbmRl eCA4NThmMzMwZDQ0ZmEuLjc4YjVhOTIwMWM3MCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL3JlbmVzYXMvdnNwMS92c3AxX2hndC5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9oZ3QuYwo+IEBAIC0xNTIsMTUgKzE1MiwxNSBAQCBz dGF0aWMgdm9pZCBoZ3RfY29uZmlndXJlX3N0cmVhbShzdHJ1Y3QgdnNwMV9lbnRpdHkgKmVudGl0 eSwKPiAgCQkgICAgICAgKGNyb3AtPndpZHRoIDw8IFZJNl9IR1RfU0laRV9IU0laRV9TSElGVCkg fAo+ICAJCSAgICAgICAoY3JvcC0+aGVpZ2h0IDw8IFZJNl9IR1RfU0laRV9WU0laRV9TSElGVCkp Owo+ICAKPiAtCW11dGV4X2xvY2soaGd0LT5jdHJscy5sb2NrKTsKPiAtCWZvciAoaSA9IDA7IGkg PCBIR1RfTlVNX0hVRV9BUkVBUzsgKytpKSB7Cj4gLQkJbG93ZXIgPSBoZ3QtPmh1ZV9hcmVhc1tp KjIgKyAwXTsKPiAtCQl1cHBlciA9IGhndC0+aHVlX2FyZWFzW2kqMiArIDFdOwo+IC0JCXZzcDFf aGd0X3dyaXRlKGhndCwgZGxiLCBWSTZfSEdUX0hVRV9BUkVBKGkpLAo+IC0JCQkgICAgICAgKGxv d2VyIDw8IFZJNl9IR1RfSFVFX0FSRUFfTE9XRVJfU0hJRlQpIHwKPiAtCQkJICAgICAgICh1cHBl ciA8PCBWSTZfSEdUX0hVRV9BUkVBX1VQUEVSX1NISUZUKSk7Cj4gKwlzY29wZWRfZ3VhcmQobXV0 ZXgsIGhndC0+Y3RybHMubG9jaykgewo+ICsJCWZvciAoaSA9IDA7IGkgPCBIR1RfTlVNX0hVRV9B UkVBUzsgKytpKSB7Cj4gKwkJCWxvd2VyID0gaGd0LT5odWVfYXJlYXNbaSoyICsgMF07Cj4gKwkJ CXVwcGVyID0gaGd0LT5odWVfYXJlYXNbaSoyICsgMV07Cj4gKwkJCXZzcDFfaGd0X3dyaXRlKGhn dCwgZGxiLCBWSTZfSEdUX0hVRV9BUkVBKGkpLAo+ICsJCQkJICAgICAgIChsb3dlciA8PCBWSTZf SEdUX0hVRV9BUkVBX0xPV0VSX1NISUZUKSB8Cj4gKwkJCQkgICAgICAgKHVwcGVyIDw8IFZJNl9I R1RfSFVFX0FSRUFfVVBQRVJfU0hJRlQpKTsKPiArCQl9Cj4gIAl9Cj4gLQltdXRleF91bmxvY2so aGd0LT5jdHJscy5sb2NrKTsKPiAgCj4gIAlocmF0aW8gPSBjcm9wLT53aWR0aCAqIDIgLyBjb21w b3NlLT53aWR0aCAvIDM7Cj4gIAl2cmF0aW8gPSBjcm9wLT5oZWlnaHQgKiAyIC8gY29tcG9zZS0+ aGVpZ2h0IC8gMzsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2Fz L3ZzcDEvdnNwMV92aWRlby5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEv dnNwMV92aWRlby5jCj4gaW5kZXggNGNmMmNjMzcwNDE2Li4xMzhkNGUwOGVlZTkgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV92aWRlby5jCj4g KysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV92aWRlby5jCj4g QEAgLTgxMCwyMiArODEwLDIxIEBAIHN0YXRpYyBpbnQgdnNwMV92aWRlb19zdGFydF9zdHJlYW1p bmcoc3RydWN0IHZiMl9xdWV1ZSAqdnEsIHVuc2lnbmVkIGludCBjb3VudCkKPiAgCXVuc2lnbmVk IGxvbmcgZmxhZ3M7Cj4gIAlpbnQgcmV0Owo+ICAKPiAtCW11dGV4X2xvY2soJnBpcGUtPmxvY2sp Owo+IC0JaWYgKHBpcGUtPnN0cmVhbV9jb3VudCA9PSBwaXBlLT5udW1faW5wdXRzKSB7Cj4gLQkJ cmV0ID0gdnNwMV92aWRlb19zZXR1cF9waXBlbGluZShwaXBlKTsKPiAtCQlpZiAocmV0IDwgMCkg ewo+IC0JCQl2c3AxX3ZpZGVvX3JlbGVhc2VfYnVmZmVycyh2aWRlbyk7Cj4gLQkJCXZzcDFfdmlk ZW9fY2xlYW51cF9waXBlbGluZShwaXBlKTsKPiAtCQkJbXV0ZXhfdW5sb2NrKCZwaXBlLT5sb2Nr KTsKPiAtCQkJcmV0dXJuIHJldDsKPiArCXNjb3BlZF9ndWFyZChtdXRleCwgJnBpcGUtPmxvY2sp IHsKPiArCQlpZiAocGlwZS0+c3RyZWFtX2NvdW50ID09IHBpcGUtPm51bV9pbnB1dHMpIHsKPiAr CQkJcmV0ID0gdnNwMV92aWRlb19zZXR1cF9waXBlbGluZShwaXBlKTsKPiArCQkJaWYgKHJldCA8 IDApIHsKPiArCQkJCXZzcDFfdmlkZW9fcmVsZWFzZV9idWZmZXJzKHZpZGVvKTsKPiArCQkJCXZz cDFfdmlkZW9fY2xlYW51cF9waXBlbGluZShwaXBlKTsKPiArCQkJCXJldHVybiByZXQ7Cj4gKwkJ CX0KPiArCj4gKwkJCXN0YXJ0X3BpcGVsaW5lID0gdHJ1ZTsKPiAgCQl9Cj4gIAo+IC0JCXN0YXJ0 X3BpcGVsaW5lID0gdHJ1ZTsKPiArCQlwaXBlLT5zdHJlYW1fY291bnQrKzsKPiAgCX0KPiAgCj4g LQlwaXBlLT5zdHJlYW1fY291bnQrKzsKPiAtCW11dGV4X3VubG9jaygmcGlwZS0+bG9jayk7Cj4g LQo+ICAJLyoKPiAgCSAqIHZzcDFfcGlwZWxpbmVfcmVhZHkoKSBpcyBub3Qgc3VmZmljaWVudCB0 byBlc3RhYmxpc2ggdGhhdCBhbGwgc3RyZWFtcwo+ICAJICogYXJlIHByZXBhcmVkIGFuZCB0aGUg cGlwZWxpbmUgaXMgY29uZmlndXJlZCwgYXMgbXVsdGlwbGUgc3RyZWFtcwo+IEBAIC04NTksMTYg Kzg1OCwxNyBAQCBzdGF0aWMgdm9pZCB2c3AxX3ZpZGVvX3N0b3Bfc3RyZWFtaW5nKHN0cnVjdCB2 YjJfcXVldWUgKnZxKQo+ICAJcGlwZS0+YnVmZmVyc19yZWFkeSAmPSB+KDEgPDwgdmlkZW8tPnBp cGVfaW5kZXgpOwo+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmlkZW8tPmlycWxvY2ssIGZs YWdzKTsKPiAgCj4gLQltdXRleF9sb2NrKCZwaXBlLT5sb2NrKTsKPiAtCWlmICgtLXBpcGUtPnN0 cmVhbV9jb3VudCA9PSBwaXBlLT5udW1faW5wdXRzKSB7Cj4gLQkJLyogU3RvcCB0aGUgcGlwZWxp bmUuICovCj4gLQkJcmV0ID0gdnNwMV9waXBlbGluZV9zdG9wKHBpcGUpOwo+IC0JCWlmIChyZXQg PT0gLUVUSU1FRE9VVCkKPiAtCQkJZGV2X2Vycih2aWRlby0+dnNwMS0+ZGV2LCAicGlwZWxpbmUg c3RvcCB0aW1lb3V0XG4iKTsKPiArCXNjb3BlZF9ndWFyZChtdXRleCwgJnBpcGUtPmxvY2spIHsK PiArCQlpZiAoLS1waXBlLT5zdHJlYW1fY291bnQgPT0gcGlwZS0+bnVtX2lucHV0cykgewo+ICsJ CQkvKiBTdG9wIHRoZSBwaXBlbGluZS4gKi8KPiArCQkJcmV0ID0gdnNwMV9waXBlbGluZV9zdG9w KHBpcGUpOwo+ICsJCQlpZiAocmV0ID09IC1FVElNRURPVVQpCj4gKwkJCQlkZXZfZXJyKHZpZGVv LT52c3AxLT5kZXYsCj4gKwkJCQkJInBpcGVsaW5lIHN0b3AgdGltZW91dFxuIik7Cj4gIAo+IC0J CXZzcDFfdmlkZW9fY2xlYW51cF9waXBlbGluZShwaXBlKTsKPiArCQkJdnNwMV92aWRlb19jbGVh bnVwX3BpcGVsaW5lKHBpcGUpOwo+ICsJCX0KPiAgCX0KPiAtCW11dGV4X3VubG9jaygmcGlwZS0+ bG9jayk7Cj4gIAo+ICAJdmlkZW9fZGV2aWNlX3BpcGVsaW5lX3N0b3AoJnZpZGVvLT52aWRlbyk7 Cj4gIAl2c3AxX3ZpZGVvX3JlbGVhc2VfYnVmZmVycyh2aWRlbyk7Cj4gQEAgLTk5NSwyMiArOTk1 LDE2IEBAIHZzcDFfdmlkZW9fc3RyZWFtb24oc3RydWN0IGZpbGUgKmZpbGUsIHZvaWQgKmZoLCBl bnVtIHY0bDJfYnVmX3R5cGUgdHlwZSkKPiAgCSAqIHRvdWNoaW5nIGFuIGVudGl0eSBpbiB0aGUg cGlwZWxpbmUgY2FuIGJlIGFjdGl2YXRlZCBvciBkZWFjdGl2YXRlZAo+ICAJICogb25jZSBzdHJl YW1pbmcgaXMgc3RhcnRlZC4KPiAgCSAqLwo+IC0JbXV0ZXhfbG9jaygmbWRldi0+Z3JhcGhfbXV0 ZXgpOwo+ICsJc2NvcGVkX2d1YXJkKG11dGV4LCAmbWRldi0+Z3JhcGhfbXV0ZXgpIHsKPiArCQlw aXBlID0gdnNwMV92aWRlb19waXBlbGluZV9nZXQodmlkZW8pOwo+ICsJCWlmIChJU19FUlIocGlw ZSkpCj4gKwkJCXJldHVybiBQVFJfRVJSKHBpcGUpOwo+ICAKPiAtCXBpcGUgPSB2c3AxX3ZpZGVv X3BpcGVsaW5lX2dldCh2aWRlbyk7Cj4gLQlpZiAoSVNfRVJSKHBpcGUpKSB7Cj4gLQkJbXV0ZXhf dW5sb2NrKCZtZGV2LT5ncmFwaF9tdXRleCk7Cj4gLQkJcmV0dXJuIFBUUl9FUlIocGlwZSk7Cj4g KwkJcmV0ID0gX192aWRlb19kZXZpY2VfcGlwZWxpbmVfc3RhcnQoJnZpZGVvLT52aWRlbywgJnBp cGUtPnBpcGUpOwo+ICsJCWlmIChyZXQgPCAwKQo+ICsJCQlnb3RvIGVycl9waXBlOwo+ICAJfQo+ ICAKPiAtCXJldCA9IF9fdmlkZW9fZGV2aWNlX3BpcGVsaW5lX3N0YXJ0KCZ2aWRlby0+dmlkZW8s ICZwaXBlLT5waXBlKTsKPiAtCWlmIChyZXQgPCAwKSB7Cj4gLQkJbXV0ZXhfdW5sb2NrKCZtZGV2 LT5ncmFwaF9tdXRleCk7Cj4gLQkJZ290byBlcnJfcGlwZTsKPiAtCX0KPiAtCj4gLQltdXRleF91 bmxvY2soJm1kZXYtPmdyYXBoX211dGV4KTsKPiAtCj4gIAkvKgo+ICAJICogVmVyaWZ5IHRoYXQg dGhlIGNvbmZpZ3VyZWQgZm9ybWF0IG1hdGNoZXMgdGhlIG91dHB1dCBvZiB0aGUgY29ubmVjdGVk Cj4gIAkgKiBzdWJkZXYuCj4gLS0gCj4gUmVnYXJkcywKPiAKPiBMYXVyZW50IFBpbmNoYXJ0Cj4g Cj4gCgotLSAKS2luZCBSZWdhcmRzLApOaWtsYXMgU8O2ZGVybHVuZAo=