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 1BCC2EFCD99 for ; Mon, 9 Mar 2026 11:07:10 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7EF8E10E4D6; Mon, 9 Mar 2026 11:07:09 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by gabe.freedesktop.org (Postfix) with ESMTP id 68CEA10E4D6 for ; Mon, 9 Mar 2026 11:07:08 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BB03F1570 for ; Mon, 9 Mar 2026 04:07:01 -0700 (PDT) Received: from [192.168.0.1] (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BDE873F5CA for ; Mon, 9 Mar 2026 04:07:07 -0700 (PDT) Date: Mon, 9 Mar 2026 11:05:06 +0000 From: Liviu Dudau To: Boris Brezillon Cc: Steven Price , =?utf-8?Q?Adri=C3=A1n?= Larumbe , dri-devel@lists.freedesktop.org, kernel@collabora.com, Nicolas Frattaroli , Tvrtko Ursulin , Philipp Stanner , Christian =?utf-8?B?S8O2bmln?= Subject: Re: [PATCH] drm/panthor: Fix the "done_fence is initialized" detection logic Message-ID: References: <20260309103053.211415-1-boris.brezillon@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: <20260309103053.211415-1-boris.brezillon@collabora.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" T24gTW9uLCBNYXIgMDksIDIwMjYgYXQgMTE6MzA6NTNBTSArMDEwMCwgQm9yaXMgQnJlemlsbG9u IHdyb3RlOgo+IEFmdGVyIGNvbW1pdCA1NDFjOGYyNDY4YjkgKCJkbWEtYnVmOiBkZXRhY2ggZmVu Y2Ugb3BzIG9uIHNpZ25hbCB2MyIpLAo+IGRtYV9mZW5jZTo6b3BzID09IE5VTEwgY2FuJ3QgYmUg dXNlZCB0byBjaGVjayBpZiB0aGUgZmVuY2UgaXMgaW5pdGlhbGl6ZWQKPiBvciBub3QuIFdlIGNv dWxkIHR1cm4gdGhpcyBpbnRvIGFuICJpc19zaWduYWxlZCgpIHx8IG9wcyA9PSBOVUxMIiB0ZXN0 LAo+IGJ1dCB0aGF0J3MgZnJhZ2lsZSwgc2luY2UgaXQncyBzdGlsbCBzdWJqZWN0IHRvIGRtYV9m ZW5jZSBpbnRlcm5hbAo+IGNoYW5nZXMuIFNvIGxldCdzIGhhdmUgdGhlICJpc19pbml0aWFsaXpl ZCIgc3RhdGUgZW5jb2RlZCBkaXJlY3RseSBpbgo+IHRoZSBwb2ludGVyIHRocm91Z2ggdGhlIGxv d2VzdCBiaXQgd2hpY2ggaXMgZ3VhcmFudGVlZCB0byBiZSB1bnVzZWQKPiBiZWNhdXNlIG9mIHRo ZSBkbWFfZmVuY2UgYWxpZ25tZW50IGNvbnN0cmFpbnQuCgpJJ20gY29uZnVzZWQhIFRoZXJlIGlz IG9ubHkgb25lIHBsYWNlIHdoZXJlIHdlIGVuZCB1cCBiZWluZyBpbnRlcmVzdGVkIGlmIHRoZQpm ZW5jZSBoYXMgYmVlbiBpbml0aWFsaXplZCBvciBub3QsIGFuZCB0aGF0IGlzIGluIGpvYl9yZWxl YXNlKCkuIEkgZG9uJ3QKc2VlIHdoeSBjaGVja2luZyBmb3IgIm9wcyAhPSBOVUxMIiBiZWZvcmUg Y2FsbGluZyBkbWFfZmVuY2VfcHV0KCkgc2hvdWxkIG5vdApiZSBlbm91Z2gsIG9yIGV2ZW4gYmV0 dGVyLCB3aHkgZG9uJ3Qgd2UgY2FsbCBkbWFfZmVuY2VfcHV0KCkgcmVnYXJkbGVzcywKYXMgdGhl IGNvcmUgY29kZSBzaG91bGQgdGFrZSBjYXJlIG9mIGFuIHVuaW5pdGlhbGl6ZWQgZG1hX2ZlbmNl IEFGQUlDVC4KCkJlc3QgcmVnYXJkcywKTGl2aXUKCj4gCj4gQ2M6IE5pY29sYXMgRnJhdHRhcm9s aSA8bmljb2xhcy5mcmF0dGFyb2xpQGNvbGxhYm9yYS5jb20+Cj4gQ2M6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpZ2FsaWEuY29tPgo+IENjOiBQaGlsaXBwIFN0YW5uZXIgPHBoYXN0 YUBrZXJuZWwub3JnPgo+IENjOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFt ZC5jb20+Cj4gUmVwb3J0ZWQtYnk6IFN0ZXZlbiBQcmljZSA8c3RldmVuLnByaWNlQGFybS5jb20+ Cj4gUmVwb3J0ZWQtYnk6IE5pY29sYXMgRnJhdHRhcm9saSA8bmljb2xhcy5mcmF0dGFyb2xpQGNv bGxhYm9yYS5jb20+Cj4gRml4ZXM6IDU0MWM4ZjI0NjhiOSAoImRtYS1idWY6IGRldGFjaCBmZW5j ZSBvcHMgb24gc2lnbmFsIHYzIikKPiBTaWduZWQtb2ZmLWJ5OiBCb3JpcyBCcmV6aWxsb24gPGJv cmlzLmJyZXppbGxvbkBjb2xsYWJvcmEuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vcGFu dGhvci9wYW50aG9yX3NjaGVkLmMgfCA2OSArKysrKysrKysrKysrKysrKystLS0tLS0tCj4gIDEg ZmlsZSBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbnRob3IvcGFudGhvcl9zY2hlZC5jIGIvZHJpdmVy cy9ncHUvZHJtL3BhbnRob3IvcGFudGhvcl9zY2hlZC5jCj4gaW5kZXggYmQ3MDNhMjkwNGExLi4z MTU4OWFkZDg2ZjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbnRob3IvcGFudGhv cl9zY2hlZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbnRob3IvcGFudGhvcl9zY2hlZC5j Cj4gQEAgLTgzNSw4ICs4MzUsMTUgQEAgc3RydWN0IHBhbnRob3Jfam9iIHsKPiAgCSAqLwo+ICAJ c3RydWN0IGxpc3RfaGVhZCBub2RlOwo+ICAKPiAtCS8qKiBAZG9uZV9mZW5jZTogRmVuY2Ugc2ln bmFsZWQgd2hlbiB0aGUgam9iIGlzIGZpbmlzaGVkIG9yIGNhbmNlbGxlZC4gKi8KPiAtCXN0cnVj dCBkbWFfZmVuY2UgKmRvbmVfZmVuY2U7Cj4gKwkvKioKPiArCSAqIEBkb25lX2ZlbmNlOiBGZW5j ZSBzaWduYWxlZCB3aGVuIHRoZSBqb2IgaXMgZmluaXNoZWQgb3IgY2FuY2VsbGVkLgo+ICsJICoK PiArCSAqIFRoaXMgaXMgYSB1aW50cHRyX3QgYmVjYXVzZSB3ZSB1c2UgdGhlIGxvd2VyIGJpdCB0 byBlbmNvZGUgd2hldGhlcgo+ICsJICogdGhlIGZlbmNlIGhhcyBiZWVuIGluaXRpYWxpemVkIG9y IG5vdCwgYW5kIHdlIGRvbid0IHdhbnQgY29kZSB0byBkZXJlZmVyZW5jZQo+ICsJICogdGhpcyBm aWVsZCBkaXJlY3RseSAoam9iX2RvbmVfZmVuY2UoKS9qb2JfZG9uZV9mZW5jZV9pbml0aWFsaXpl ZCgpIHNob3VsZCBiZSB1c2VkCj4gKwkgKiBpbnN0ZWFkKS4KPiArCSAqLwo+ICsJdWludHB0cl90 IGRvbmVfZmVuY2U7Cj4gIAo+ICAJLyoqIEBwcm9maWxpbmc6IEpvYiBwcm9maWxpbmcgaW5mb3Jt YXRpb24uICovCj4gIAlzdHJ1Y3Qgewo+IEBAIC0xNTE4LDYgKzE1MjUsMTggQEAgY3Nfc2xvdF9w cm9jZXNzX2ZhdGFsX2V2ZW50X2xvY2tlZChzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LAo+ ICAJCSBpbmZvKTsKPiAgfQo+ICAKPiArI2RlZmluZSBET05FX0ZFTkNFX0lOSVRJQUxJWkVEIEJJ VCgwKQo+ICsKPiArc3RhdGljIHN0cnVjdCBkbWFfZmVuY2UgKmpvYl9kb25lX2ZlbmNlKHN0cnVj dCBwYW50aG9yX2pvYiAqam9iKQo+ICt7Cj4gKwlyZXR1cm4gKHZvaWQgKikoam9iLT5kb25lX2Zl bmNlICYgfih1aW50cHRyX3QpRE9ORV9GRU5DRV9JTklUSUFMSVpFRCk7Cj4gK30KPiArCj4gK3N0 YXRpYyBib29sIGpvYl9kb25lX2ZlbmNlX2luaXRpYWxpemVkKHN0cnVjdCBwYW50aG9yX2pvYiAq am9iKQo+ICt7Cj4gKwlyZXR1cm4gam9iLT5kb25lX2ZlbmNlICYgRE9ORV9GRU5DRV9JTklUSUFM SVpFRDsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQKPiAgY3Nfc2xvdF9wcm9jZXNzX2ZhdWx0X2V2 ZW50X2xvY2tlZChzdHJ1Y3QgcGFudGhvcl9kZXZpY2UgKnB0ZGV2LAo+ICAJCQkJICAgdTMyIGNz Z19pZCwgdTMyIGNzX2lkKQo+IEBAIC0xNTQ5LDcgKzE1NjgsNyBAQCBjc19zbG90X3Byb2Nlc3Nf ZmF1bHRfZXZlbnRfbG9ja2VkKHN0cnVjdCBwYW50aG9yX2RldmljZSAqcHRkZXYsCj4gIAkJCWlm IChjc19leHRyYWN0IDwgam9iLT5yaW5nYnVmLnN0YXJ0KQo+ICAJCQkJYnJlYWs7Cj4gIAo+IC0J CQlkbWFfZmVuY2Vfc2V0X2Vycm9yKGpvYi0+ZG9uZV9mZW5jZSwgLUVJTlZBTCk7Cj4gKwkJCWRt YV9mZW5jZV9zZXRfZXJyb3Ioam9iX2RvbmVfZmVuY2Uoam9iKSwgLUVJTlZBTCk7Cj4gIAkJfQo+ ICAJCXNwaW5fdW5sb2NrKCZxdWV1ZS0+ZmVuY2VfY3R4LmxvY2spOwo+ICAJfQo+IEBAIC0yMTgy LDkgKzIyMDEsMTEgQEAgZ3JvdXBfdGVybV9wb3N0X3Byb2Nlc3Npbmcoc3RydWN0IHBhbnRob3Jf Z3JvdXAgKmdyb3VwKQo+ICAKPiAgCQlzcGluX2xvY2soJnF1ZXVlLT5mZW5jZV9jdHgubG9jayk7 Cj4gIAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKGpvYiwgdG1wLCAmcXVldWUtPmZlbmNlX2N0 eC5pbl9mbGlnaHRfam9icywgbm9kZSkgewo+ICsJCQlzdHJ1Y3QgZG1hX2ZlbmNlICpkb25lX2Zl bmNlID0gam9iX2RvbmVfZmVuY2Uoam9iKTsKPiArCj4gIAkJCWxpc3RfbW92ZV90YWlsKCZqb2It Pm5vZGUsICZmYXVsdHlfam9icyk7Cj4gLQkJCWRtYV9mZW5jZV9zZXRfZXJyb3Ioam9iLT5kb25l X2ZlbmNlLCBlcnIpOwo+IC0JCQlkbWFfZmVuY2Vfc2lnbmFsX2xvY2tlZChqb2ItPmRvbmVfZmVu Y2UpOwo+ICsJCQlkbWFfZmVuY2Vfc2V0X2Vycm9yKGRvbmVfZmVuY2UsIGVycik7Cj4gKwkJCWRt YV9mZW5jZV9zaWduYWxfbG9ja2VkKGRvbmVfZmVuY2UpOwo+ICAJCX0KPiAgCQlzcGluX3VubG9j aygmcXVldWUtPmZlbmNlX2N0eC5sb2NrKTsKPiAgCj4gQEAgLTI3MzQsNyArMjc1NSw3IEBAIHN0 YXRpYyB2b2lkIHF1ZXVlX3N0YXJ0KHN0cnVjdCBwYW50aG9yX3F1ZXVlICpxdWV1ZSkKPiAgCj4g IAkvKiBSZS1hc3NpZ24gdGhlIHBhcmVudCBmZW5jZXMuICovCj4gIAlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KGpvYiwgJnF1ZXVlLT5zY2hlZHVsZXIucGVuZGluZ19saXN0LCBiYXNlLmxpc3QpCj4gLQkJ am9iLT5iYXNlLnNfZmVuY2UtPnBhcmVudCA9IGRtYV9mZW5jZV9nZXQoam9iLT5kb25lX2ZlbmNl KTsKPiArCQlqb2ItPmJhc2Uuc19mZW5jZS0+cGFyZW50ID0gZG1hX2ZlbmNlX2dldChqb2JfZG9u ZV9mZW5jZShqb2IpKTsKPiAgCj4gIAllbmFibGVfZGVsYXllZF93b3JrKCZxdWV1ZS0+dGltZW91 dC53b3JrKTsKPiAgCWRybV9zY2hlZF9zdGFydCgmcXVldWUtPnNjaGVkdWxlciwgMCk7Cj4gQEAg LTMwNDcsNiArMzA2OCw4IEBAIHN0YXRpYyBib29sIHF1ZXVlX2NoZWNrX2pvYl9jb21wbGV0aW9u KHN0cnVjdCBwYW50aG9yX3F1ZXVlICpxdWV1ZSkKPiAgCWNvb2tpZSA9IGRtYV9mZW5jZV9iZWdp bl9zaWduYWxsaW5nKCk7Cj4gIAlzcGluX2xvY2soJnF1ZXVlLT5mZW5jZV9jdHgubG9jayk7Cj4g IAlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoam9iLCBqb2JfdG1wLCAmcXVldWUtPmZlbmNlX2N0 eC5pbl9mbGlnaHRfam9icywgbm9kZSkgewo+ICsJCXN0cnVjdCBkbWFfZmVuY2UgKmRvbmVfZmVu Y2UgPSBqb2JfZG9uZV9mZW5jZShqb2IpOwo+ICsKPiAgCQlpZiAoIXN5bmNvYmopIHsKPiAgCQkJ c3RydWN0IHBhbnRob3JfZ3JvdXAgKmdyb3VwID0gam9iLT5ncm91cDsKPiAgCj4gQEAgLTMwNTQs MTEgKzMwNzcsMTEgQEAgc3RhdGljIGJvb2wgcXVldWVfY2hlY2tfam9iX2NvbXBsZXRpb24oc3Ry dWN0IHBhbnRob3JfcXVldWUgKnF1ZXVlKQo+ICAJCQkJICAoam9iLT5xdWV1ZV9pZHggKiBzaXpl b2YoKnN5bmNvYmopKTsKPiAgCQl9Cj4gIAo+IC0JCWlmIChzeW5jb2JqLT5zZXFubyA8IGpvYi0+ ZG9uZV9mZW5jZS0+c2Vxbm8pCj4gKwkJaWYgKHN5bmNvYmotPnNlcW5vIDwgZG9uZV9mZW5jZS0+ c2Vxbm8pCj4gIAkJCWJyZWFrOwo+ICAKPiAgCQlsaXN0X21vdmVfdGFpbCgmam9iLT5ub2RlLCAm ZG9uZV9qb2JzKTsKPiAtCQlkbWFfZmVuY2Vfc2lnbmFsX2xvY2tlZChqb2ItPmRvbmVfZmVuY2Up Owo+ICsJCWRtYV9mZW5jZV9zaWduYWxfbG9ja2VkKGRvbmVfZmVuY2UpOwo+ICAJfQo+ICAKPiAg CWlmIChsaXN0X2VtcHR5KCZxdWV1ZS0+ZmVuY2VfY3R4LmluX2ZsaWdodF9qb2JzKSkgewo+IEBA IC0zMzA5LDggKzMzMzIsMTAgQEAgcXVldWVfcnVuX2pvYihzdHJ1Y3QgZHJtX3NjaGVkX2pvYiAq c2NoZWRfam9iKQo+ICAJICogZHJtX3NjaGVkX2pvYjo6c19mZW5jZTo6ZmluaXNoZWQgZmVuY2Uu Cj4gIAkgKi8KPiAgCWlmICgham9iLT5jYWxsX2luZm8uc2l6ZSkgewo+IC0JCWpvYi0+ZG9uZV9m ZW5jZSA9IGRtYV9mZW5jZV9nZXQocXVldWUtPmZlbmNlX2N0eC5sYXN0X2ZlbmNlKTsKPiAtCQly ZXR1cm4gZG1hX2ZlbmNlX2dldChqb2ItPmRvbmVfZmVuY2UpOwo+ICsJCWRvbmVfZmVuY2UgPSBk bWFfZmVuY2VfZ2V0KHF1ZXVlLT5mZW5jZV9jdHgubGFzdF9mZW5jZSk7Cj4gKwo+ICsJCWpvYi0+ ZG9uZV9mZW5jZSA9ICh1aW50cHRyX3QpZG9uZV9mZW5jZSB8IERPTkVfRkVOQ0VfSU5JVElBTEla RUQ7Cj4gKwkJcmV0dXJuIGRtYV9mZW5jZV9nZXQoZG9uZV9mZW5jZSk7Cj4gIAl9Cj4gIAo+ICAJ cmV0ID0gcGFudGhvcl9kZXZpY2VfcmVzdW1lX2FuZF9nZXQocHRkZXYpOwo+IEBAIC0zMzIzLDEx ICszMzQ4LDEzIEBAIHF1ZXVlX3J1bl9qb2Ioc3RydWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pv YikKPiAgCQlnb3RvIG91dF91bmxvY2s7Cj4gIAl9Cj4gIAo+IC0JZG1hX2ZlbmNlX2luaXQoam9i LT5kb25lX2ZlbmNlLAo+ICsJZG9uZV9mZW5jZSA9IGpvYl9kb25lX2ZlbmNlKGpvYik7Cj4gKwlk bWFfZmVuY2VfaW5pdChkb25lX2ZlbmNlLAo+ICAJCSAgICAgICAmcGFudGhvcl9xdWV1ZV9mZW5j ZV9vcHMsCj4gIAkJICAgICAgICZxdWV1ZS0+ZmVuY2VfY3R4LmxvY2ssCj4gIAkJICAgICAgIHF1 ZXVlLT5mZW5jZV9jdHguaWQsCj4gIAkJICAgICAgIGF0b21pYzY0X2luY19yZXR1cm4oJnF1ZXVl LT5mZW5jZV9jdHguc2Vxbm8pKTsKPiArCWpvYi0+ZG9uZV9mZW5jZSB8PSBET05FX0ZFTkNFX0lO SVRJQUxJWkVEOwo+ICAKPiAgCWpvYi0+cHJvZmlsaW5nLnNsb3QgPSBxdWV1ZS0+cHJvZmlsaW5n LnNlcW5vKys7Cj4gIAlpZiAocXVldWUtPnByb2ZpbGluZy5zZXFubyA9PSBxdWV1ZS0+cHJvZmls aW5nLnNsb3RfY291bnQpCj4gQEAgLTMzODEsOSArMzQwOCw5IEBAIHF1ZXVlX3J1bl9qb2Ioc3Ry dWN0IGRybV9zY2hlZF9qb2IgKnNjaGVkX2pvYikKPiAgCj4gIAkvKiBVcGRhdGUgdGhlIGxhc3Qg ZmVuY2UuICovCj4gIAlkbWFfZmVuY2VfcHV0KHF1ZXVlLT5mZW5jZV9jdHgubGFzdF9mZW5jZSk7 Cj4gLQlxdWV1ZS0+ZmVuY2VfY3R4Lmxhc3RfZmVuY2UgPSBkbWFfZmVuY2VfZ2V0KGpvYi0+ZG9u ZV9mZW5jZSk7Cj4gKwlxdWV1ZS0+ZmVuY2VfY3R4Lmxhc3RfZmVuY2UgPSBkbWFfZmVuY2VfZ2V0 KGRvbmVfZmVuY2UpOwo+ICAKPiAtCWRvbmVfZmVuY2UgPSBkbWFfZmVuY2VfZ2V0KGpvYi0+ZG9u ZV9mZW5jZSk7Cj4gKwlkb25lX2ZlbmNlID0gZG1hX2ZlbmNlX2dldChkb25lX2ZlbmNlKTsKPiAg Cj4gIG91dF91bmxvY2s6Cj4gIAltdXRleF91bmxvY2soJnNjaGVkLT5sb2NrKTsKPiBAQCAtMzQw Myw3ICszNDMwLDcgQEAgcXVldWVfdGltZWRvdXRfam9iKHN0cnVjdCBkcm1fc2NoZWRfam9iICpz Y2hlZF9qb2IpCj4gIAlzdHJ1Y3QgcGFudGhvcl9xdWV1ZSAqcXVldWUgPSBncm91cC0+cXVldWVz W2pvYi0+cXVldWVfaWR4XTsKPiAgCj4gIAlkcm1fd2FybigmcHRkZXYtPmJhc2UsICJqb2IgdGlt ZW91dDogcGlkPSVkLCBjb21tPSVzLCBzZXFubz0lbGx1XG4iLAo+IC0JCSBncm91cC0+dGFza19p bmZvLnBpZCwgZ3JvdXAtPnRhc2tfaW5mby5jb21tLCBqb2ItPmRvbmVfZmVuY2UtPnNlcW5vKTsK PiArCQkgZ3JvdXAtPnRhc2tfaW5mby5waWQsIGdyb3VwLT50YXNrX2luZm8uY29tbSwgam9iX2Rv bmVfZmVuY2Uoam9iKS0+c2Vxbm8pOwo+ICAKPiAgCWRybV9XQVJOX09OKCZwdGRldi0+YmFzZSwg YXRvbWljX3JlYWQoJnNjaGVkLT5yZXNldC5pbl9wcm9ncmVzcykpOwo+ICAKPiBAQCAtMzkxNSwx MCArMzk0MiwxMCBAQCBzdGF0aWMgdm9pZCBqb2JfcmVsZWFzZShzdHJ1Y3Qga3JlZiAqcmVmKQo+ ICAJaWYgKGpvYi0+YmFzZS5zX2ZlbmNlKQo+ICAJCWRybV9zY2hlZF9qb2JfY2xlYW51cCgmam9i LT5iYXNlKTsKPiAgCj4gLQlpZiAoam9iLT5kb25lX2ZlbmNlICYmIGpvYi0+ZG9uZV9mZW5jZS0+ b3BzKQo+IC0JCWRtYV9mZW5jZV9wdXQoam9iLT5kb25lX2ZlbmNlKTsKPiArCWlmIChqb2JfZG9u ZV9mZW5jZV9pbml0aWFsaXplZChqb2IpKQo+ICsJCWRtYV9mZW5jZV9wdXQoam9iX2RvbmVfZmVu Y2Uoam9iKSk7Cj4gIAllbHNlCj4gLQkJZG1hX2ZlbmNlX2ZyZWUoam9iLT5kb25lX2ZlbmNlKTsK PiArCQlkbWFfZmVuY2VfZnJlZShqb2JfZG9uZV9mZW5jZShqb2IpKTsKPiAgCj4gIAlncm91cF9w dXQoam9iLT5ncm91cCk7Cj4gIAo+IEBAIC00MDExLDExICs0MDM4LDE1IEBAIHBhbnRob3Jfam9i X2NyZWF0ZShzdHJ1Y3QgcGFudGhvcl9maWxlICpwZmlsZSwKPiAgCSAqIHRoZSBwcmV2aW91c2x5 IHN1Ym1pdHRlZCBqb2IuCj4gIAkgKi8KPiAgCWlmIChqb2ItPmNhbGxfaW5mby5zaXplKSB7Cj4g LQkJam9iLT5kb25lX2ZlbmNlID0ga3phbGxvY19vYmooKmpvYi0+ZG9uZV9mZW5jZSk7Cj4gLQkJ aWYgKCFqb2ItPmRvbmVfZmVuY2UpIHsKPiArCQlzdHJ1Y3QgZG1hX2ZlbmNlICpkb25lX2ZlbmNl Owo+ICsKPiArCQlkb25lX2ZlbmNlID0ga3phbGxvY19vYmooKmRvbmVfZmVuY2UpOwo+ICsJCWlm ICghZG9uZV9mZW5jZSkgewo+ICAJCQlyZXQgPSAtRU5PTUVNOwo+ICAJCQlnb3RvIGVycl9wdXRf am9iOwo+ICAJCX0KPiArCj4gKwkJam9iLT5kb25lX2ZlbmNlID0gKHVpbnRwdHJfdClkb25lX2Zl bmNlOwo+ICAJfQo+ICAKPiAgCWpvYi0+cHJvZmlsaW5nLm1hc2sgPSBwZmlsZS0+cHRkZXYtPnBy b2ZpbGVfbWFzazsKPiAtLSAKPiAyLjUzLjAKPiAKCi0tIAo9PT09PT09PT09PT09PT09PT09PQp8 IEkgd291bGQgbGlrZSB0byB8CnwgZml4IHRoZSB3b3JsZCwgIHwKfCBidXQgdGhleSdyZSBub3Qg fAp8IGdpdmluZyBtZSB0aGUgICB8CiBcIHNvdXJjZSBjb2RlISAgLwogIC0tLS0tLS0tLS0tLS0t LQogICAgwq9cXyjjg4QpXy/Crwo=