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=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 5ED68C433ED for ; Mon, 3 May 2021 17:21:07 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id D04E261026 for ; Mon, 3 May 2021 17:21:06 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D04E261026 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2993B6E9E2; Mon, 3 May 2021 17:21:06 +0000 (UTC) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 848F46E9E2 for ; Mon, 3 May 2021 17:21:05 +0000 (UTC) IronPort-SDR: vPwbQRbiLchOf8Qf2f9wEg5wTdn65Zi0+A86dH1O7OwO2sEhR+DtUtI5Fxseazh7oGhL/NU1XM LMnxtDCpRAaw== X-IronPort-AV: E=McAfee;i="6200,9189,9973"; a="177326321" X-IronPort-AV: E=Sophos;i="5.82,270,1613462400"; d="scan'208";a="177326321" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 May 2021 10:21:02 -0700 IronPort-SDR: ZdDHWmNmi5KNZrnfKuWI133l7CE+bSPuo5YvL+JR/U9zG0RZeYegzugE3/hQ5Kay4vF1S2/tr2 ZYuJZ8hITkyA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,270,1613462400"; d="scan'208";a="450456782" Received: from black.fi.intel.com ([10.237.72.28]) by fmsmga004.fm.intel.com with ESMTP; 03 May 2021 10:21:00 -0700 Received: by black.fi.intel.com (Postfix, from userid 1003) id BCEA0D9; Mon, 3 May 2021 20:21:19 +0300 (EEST) From: Andy Shevchenko To: Andy Shevchenko , Phil Reid , dri-devel@lists.freedesktop.org, linux-fbdev@vger.kernel.org, linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/5] staging: fbtft: Rectify GPIO handling Date: Mon, 3 May 2021 20:21:10 +0300 Message-Id: <20210503172114.27891-2-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210503172114.27891-1-andriy.shevchenko@linux.intel.com> References: <20210503172114.27891-1-andriy.shevchenko@linux.intel.com> MIME-Version: 1.0 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: , Cc: =?UTF-8?q?Jan=20Sebastian=20G=C3=B6tte?= , Greg Kroah-Hartman , Nishad Kamdar Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" VGhlIGluZmFtb3VzIGNvbW1pdCBjNDQwZWVlMWE3YTEgKCJTdGFnaW5nOiBzdGFnaW5nOiBmYnRm dDogU3dpdGNoIHRvCnRoZSBHUElPIGRlc2NyaXB0b3IgaW50ZXJmYWNlIikgYnJva2UgR1BJTyBo YW5kbGluZyBjb21wbGV0ZWx5LgpJdCBoYXMgYWxyZWFkeSBmb3VyIGNvbW1pdHMgdG8gcmVjdGlm eSBhbmQgaXQgc2VlbXMgbm90IGVub3VnaC4KSW4gb3JkZXIgdG8gZml4IHRoZSBtZXNzIGhlcmUg d2U6CgogIDEpIFNldCBkZWZhdWx0IHRvICJpbmFjdGl2ZSIgZm9yIGFsbCByZXF1ZXN0ZWQgcGlu cwoKICAyKSBGaXggQ1MjLCBSRCMsIGFuZCBXUiMgcGlucyBwb2xhcml0eSBzaW5jZSBpdCdzIGFj dGl2ZSBsb3cKICAgICBhbmQgR1BJTyBkZXNjcmlwdG9yIGludGVyZmFjZSB0YWtlcyBpdCBpbnRv IGNvbnNpZGVyYXRpb24KICAgICBmcm9tIHRoZSBEZXZpY2UgVHJlZSBvciBBQ1BJCgogIDMpIENv bnNvbGlkYXRlIGNoaXAgYWN0aXZhdGlvbiAoQ1MjIGFzc2VydGlvbikgdW5kZXIgZGVmYXVsdAog ICAgIC0+cmVzZXQoKSBjYWxsYmFjawoKVG8gc3VtbWFyaXplIHRoZSBleHBlY3RhdGlvbnMgYWJv dXQgcG9sYXJpdHkgZm9yIEdQSU9zOgoKICAgUkQjCQkJTG93CiAgIFdSIwkJCUxvdwogICBDUyMJ CQlMb3cKICAgUkVTRVQjCQlMb3cKICAgREMgb3IgUlMJCUhpZ2gKICAgUlcJCQlIaWdoCiAgIERh dGEJMCAuLiAxNQkJSGlnaAoKU2VlIGFsc28gQWRhZnJ1aXQgbGVhcm5pbmcgY291cnNlIFsxXSBm b3IgdGhlIGV4YW1wbGUgb2YgdGhlIHNjaGVtYXRpY3MuCgpXaGlsZSBhdCBpdCwgZHJvcCB1bm5l ZWRlZCBOVUxMIGNoZWNrcywgc2luY2UgR1BJTyBBUEkgaXMgdG9sZXJhbnQgdG8gdGhhdC4KClsx XTogaHR0cHM6Ly9sZWFybi5hZGFmcnVpdC5jb20vYWRhZnJ1aXQtMi04LWFuZC0zLTItY29sb3It dGZ0LXRvdWNoc2NyZWVuLWJyZWFrb3V0LXYyL2Rvd25sb2FkcwoKRml4ZXM6IDkyZTNlODg0ODg3 YyAoIlN0YWdpbmc6IGZidGZ0OiBGaXggR1BJTyBoYW5kbGluZyIpCkZpeGVzOiBiOTE4ZDFjMjcw NjYgKCJTdGFnaW5nOiBmYnRmdDogRml4IHJlc2V0IGFzc2VydGlvbiB3aGVuIHVzaW5nIGdwaW8g ZGVzY3JpcHRvciIpCkZpeGVzOiBkYmM0Zjk4OWM4NzggKCJTdGFnaW5nOiBmYnRmdDogRml4IHBy b2Jpbmcgb2YgZ3BpbyBkZXNjcmlwdG9yIikKRml4ZXM6IGM0NDBlZWUxYTdhMSAoIlN0YWdpbmc6 IGZidGZ0OiBTd2l0Y2ggdG8gdGhlIGdwaW8gZGVzY3JpcHRvciBpbnRlcmZhY2UiKQpDYzogSmFu IFNlYmFzdGlhbiBHw7Z0dGUgPGxpbnV4QGphc2VnLm5ldD4KQ2M6IE5pc2hhZCBLYW1kYXIgPG5p c2hhZGthbWRhckBnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFuZHkgU2hldmNoZW5rbyA8YW5k cml5LnNoZXZjaGVua29AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogUGhpbCBSZWlkIDxw cmVpZEBlbGVjdHJvbWFnLmNvbS5hdT4KLS0tCiBkcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfYWdt MTI2NGstZmwuYyB8IDIwICsrKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL3N0YWdpbmcvZmJ0 ZnQvZmJfYmQ2NjM0NzQuYyAgICB8ICA0IC0tLS0KIGRyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9p bGk5MTYzLmMgICAgIHwgIDQgLS0tLQogZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX2lsaTkzMjAu YyAgICAgfCAgMSAtCiBkcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfaWxpOTMyNS5jICAgICB8ICA0 IC0tLS0KIGRyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9pbGk5MzQwLmMgICAgIHwgIDEgLQogZHJp dmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3M2ZDExMjEuYyAgICAgfCAgNCAtLS0tCiBkcml2ZXJzL3N0 YWdpbmcvZmJ0ZnQvZmJfc2gxMTA2LmMgICAgICB8ICAxIC0KIGRyaXZlcnMvc3RhZ2luZy9mYnRm dC9mYl9zc2QxMjg5LmMgICAgIHwgIDQgLS0tLQogZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3Nz ZDEzMjUuYyAgICAgfCAgMiAtLQogZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NzZDEzMzEuYyAg ICAgfCAgNiArKy0tLS0KIGRyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMgICAgIHwg IDEgLQogZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3VwZDE2MTcwNC5jICAgfCAgNCAtLS0tCiBk cml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfd2F0dGVyb3R0LmMgICB8ICAxIC0KIGRyaXZlcnMvc3Rh Z2luZy9mYnRmdC9mYnRmdC1idXMuYyAgICAgIHwgIDMgKy0tCiBkcml2ZXJzL3N0YWdpbmcvZmJ0 ZnQvZmJ0ZnQtY29yZS5jICAgICB8IDEzICsrKysrKy0tLS0tLS0KIGRyaXZlcnMvc3RhZ2luZy9m YnRmdC9mYnRmdC1pby5jICAgICAgIHwgMTIgKysrKysrLS0tLS0tCiAxNyBmaWxlcyBjaGFuZ2Vk LCAyNSBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L3N0YWdpbmcvZmJ0ZnQvZmJfYWdtMTI2NGstZmwuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9m Yl9hZ20xMjY0ay1mbC5jCmluZGV4IGVlZWVlYzk3YWQyNy4uYjU0NWMyY2E4MGE0IDEwMDY0NAot LS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfYWdtMTI2NGstZmwuYworKysgYi9kcml2ZXJz L3N0YWdpbmcvZmJ0ZnQvZmJfYWdtMTI2NGstZmwuYwpAQCAtODQsOSArODQsOSBAQCBzdGF0aWMg dm9pZCByZXNldChzdHJ1Y3QgZmJ0ZnRfcGFyICpwYXIpCiAKIAlkZXZfZGJnKHBhci0+aW5mby0+ ZGV2aWNlLCAiJXMoKVxuIiwgX19mdW5jX18pOwogCi0JZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Z3Bp by5yZXNldCwgMCk7Ci0JdWRlbGF5KDIwKTsKIAlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLnJl c2V0LCAxKTsKKwl1ZGVsYXkoMjApOworCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8ucmVzZXQs IDApOwogCW1kZWxheSgxMjApOwogfQogCkBAIC0xOTQsMTIgKzE5NCwxMiBAQCBzdGF0aWMgdm9p ZCB3cml0ZV9yZWc4X2J1czgoc3RydWN0IGZidGZ0X3BhciAqcGFyLCBpbnQgbGVuLCAuLi4pCiAJ Lyogc2VsZWN0IGNoaXAgKi8KIAlpZiAoKmJ1ZikgewogCQkvKiBjczEgKi8KLQkJZ3Bpb2Rfc2V0 X3ZhbHVlKHBhci0+Q1MwLCAxKTsKLQkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1MxLCAwKTsKLQl9 IGVsc2UgewotCQkvKiBjczAgKi8KIAkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1MwLCAwKTsKIAkJ Z3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1MxLCAxKTsKKwl9IGVsc2UgeworCQkvKiBjczAgKi8KKwkJ Z3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1MwLCAxKTsKKwkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1Mx LCAwKTsKIAl9CiAKIAlncGlvZF9zZXRfdmFsdWUocGFyLT5SUywgMCk7IC8qIFJTLT4wIChjb21t YW5kIG1vZGUpICovCkBAIC0zOTcsOCArMzk3LDggQEAgc3RhdGljIGludCB3cml0ZV92bWVtKHN0 cnVjdCBmYnRmdF9wYXIgKnBhciwgc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbikKIAl9CiAJa2Zy ZWUoY29udmVydF9idWYpOwogCi0JZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1MwLCAxKTsKLQlncGlv ZF9zZXRfdmFsdWUocGFyLT5DUzEsIDEpOworCWdwaW9kX3NldF92YWx1ZShwYXItPkNTMCwgMCk7 CisJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Q1MxLCAwKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC00 MTksMTAgKzQxOSwxMCBAQCBzdGF0aWMgaW50IHdyaXRlKHN0cnVjdCBmYnRmdF9wYXIgKnBhciwg dm9pZCAqYnVmLCBzaXplX3QgbGVuKQogCQlmb3IgKGkgPSAwOyBpIDwgODsgKytpKQogCQkJZ3Bp b2Rfc2V0X3ZhbHVlKHBhci0+Z3Bpby5kYltpXSwgZGF0YSAmICgxIDw8IGkpKTsKIAkJLyogc2V0 IEUgKi8KLQkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+RVBJTiwgMSk7CisJCWdwaW9kX3NldF92YWx1 ZShwYXItPkVQSU4sIDApOwogCQl1ZGVsYXkoNSk7CiAJCS8qIHVuc2V0IEUgLSB3cml0ZSAqLwot CQlncGlvZF9zZXRfdmFsdWUocGFyLT5FUElOLCAwKTsKKwkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+ RVBJTiwgMSk7CiAJCXVkZWxheSgxKTsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2lu Zy9mYnRmdC9mYl9iZDY2MzQ3NC5jIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX2JkNjYzNDc0 LmMKaW5kZXggZTJjNzY0NjU4OGY4Li4xNjI5YzJjNDQwYTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv c3RhZ2luZy9mYnRmdC9mYl9iZDY2MzQ3NC5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9m Yl9iZDY2MzQ3NC5jCkBAIC0xMiw3ICsxMiw2IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+ CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2lu Y2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgog CiAjaW5jbHVkZSAiZmJ0ZnQuaCIKQEAgLTI0LDkgKzIzLDYgQEAKIAogc3RhdGljIGludCBpbml0 X2Rpc3BsYXkoc3RydWN0IGZidGZ0X3BhciAqcGFyKQogewotCWlmIChwYXItPmdwaW8uY3MpCi0J CWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8uY3MsIDApOyAgLyogQWN0aXZhdGUgY2hpcCAqLwot CiAJcGFyLT5mYnRmdG9wcy5yZXNldChwYXIpOwogCiAJLyogSW5pdGlhbGl6YXRpb24gc2VxdWVu Y2UgZnJvbSBMaWJfVVRGVCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2Zi X2lsaTkxNjMuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9pbGk5MTYzLmMKaW5kZXggMDU2 NDhjM2ZmZTQ3Li42NTgyYTJjOTBhYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9mYnRm dC9mYl9pbGk5MTYzLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX2lsaTkxNjMuYwpA QCAtMTEsNyArMTEsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9n cGlvL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDx2aWRl by9taXBpX2Rpc3BsYXkuaD4KIApAQCAtNzcsOSArNzYsNiBAQCBzdGF0aWMgaW50IGluaXRfZGlz cGxheShzdHJ1Y3QgZmJ0ZnRfcGFyICpwYXIpCiB7CiAJcGFyLT5mYnRmdG9wcy5yZXNldChwYXIp OwogCi0JaWYgKHBhci0+Z3Bpby5jcykKLQkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Z3Bpby5jcywg MCk7ICAvKiBBY3RpdmF0ZSBjaGlwICovCi0KIAl3cml0ZV9yZWcocGFyLCBNSVBJX0RDU19TT0ZU X1JFU0VUKTsgLyogc29mdHdhcmUgcmVzZXQgKi8KIAltZGVsYXkoNTAwKTsKIAl3cml0ZV9yZWco cGFyLCBNSVBJX0RDU19FWElUX1NMRUVQX01PREUpOyAvKiBleGl0IHNsZWVwICovCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfaWxpOTMyMC5jIGIvZHJpdmVycy9zdGFnaW5n L2ZidGZ0L2ZiX2lsaTkzMjAuYwppbmRleCBmMmU3MmQxNDQzMWQuLmE4ZjRjNjE4Yjc1NCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX2lsaTkzMjAuYworKysgYi9kcml2ZXJz L3N0YWdpbmcvZmJ0ZnQvZmJfaWxpOTMyMC5jCkBAIC04LDcgKzgsNiBAQAogI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4 L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9ncGlvL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGlu dXgvc3BpL3NwaS5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9pbGk5MzI1LmMgYi9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQv ZmJfaWxpOTMyNS5jCmluZGV4IGM5YWE0Y2I0MzEyMy4uMTZkM2IxN2NhMjc5IDEwMDY0NAotLS0g YS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfaWxpOTMyNS5jCisrKyBiL2RyaXZlcnMvc3RhZ2lu Zy9mYnRmdC9mYl9pbGk5MzI1LmMKQEAgLTEwLDcgKzEwLDYgQEAKICNpbmNsdWRlIDxsaW51eC9t b2R1bGUuaD4KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0 Lmg+Ci0jaW5jbHVkZSA8bGludXgvZ3Bpby9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2Rl bGF5Lmg+CiAKICNpbmNsdWRlICJmYnRmdC5oIgpAQCAtODUsOSArODQsNiBAQCBzdGF0aWMgaW50 IGluaXRfZGlzcGxheShzdHJ1Y3QgZmJ0ZnRfcGFyICpwYXIpCiB7CiAJcGFyLT5mYnRmdG9wcy5y ZXNldChwYXIpOwogCi0JaWYgKHBhci0+Z3Bpby5jcykKLQkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+ Z3Bpby5jcywgMCk7ICAvKiBBY3RpdmF0ZSBjaGlwICovCi0KIAlidCAmPSAweDA3OwogCXZjICY9 IDB4MDc7CiAJdnJoICY9IDB4MGY7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQv ZmJfaWxpOTM0MC5jIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX2lsaTkzNDAuYwppbmRleCA0 MTUxODNjNzA1NGEuLjcwNDIzNmJjYWYzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2Zi dGZ0L2ZiX2lsaTkzNDAuYworKysgYi9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfaWxpOTM0MC5j CkBAIC04LDcgKzgsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9n cGlvL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KICNpbmNsdWRlIDx2aWRl by9taXBpX2Rpc3BsYXkuaD4KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2Zi X3M2ZDExMjEuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zNmQxMTIxLmMKaW5kZXggOGM3 ZGUzMjkwMzQzLi42MmYyNzE3MmY4NDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9mYnRm dC9mYl9zNmQxMTIxLmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3M2ZDExMjEuYwpA QCAtMTIsNyArMTIsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9n cGlvL2NvbnN1bWVyLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIAogI2luY2x1ZGUgImZi dGZ0LmgiCkBAIC0yOSw5ICsyOCw2IEBAIHN0YXRpYyBpbnQgaW5pdF9kaXNwbGF5KHN0cnVjdCBm YnRmdF9wYXIgKnBhcikKIHsKIAlwYXItPmZidGZ0b3BzLnJlc2V0KHBhcik7CiAKLQlpZiAocGFy LT5ncGlvLmNzKQotCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLmNzLCAwKTsgIC8qIEFjdGl2 YXRlIGNoaXAgKi8KLQogCS8qIEluaXRpYWxpemF0aW9uIHNlcXVlbmNlIGZyb20gTGliX1VURlQg Ki8KIAogCXdyaXRlX3JlZyhwYXIsIDB4MDAxMSwgMHgyMDA0KTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvc3RhZ2luZy9mYnRmdC9mYl9zaDExMDYuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9z aDExMDYuYwppbmRleCA2ZjcyNDk0OTNlYTMuLjdiOWFiMzllMWMxYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NoMTEwNi5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRm dC9mYl9zaDExMDYuYwpAQCAtOSw3ICs5LDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4K ICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5j bHVkZSA8bGludXgvZ3Bpby9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAK ICNpbmNsdWRlICJmYnRmdC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2Zi X3NzZDEyODkuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMjg5LmMKaW5kZXggN2Ez ZmUwMjJjYzY5Li5mMjdiYWIzOGIzZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3RhZ2luZy9mYnRm dC9mYl9zc2QxMjg5LmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NzZDEyODkuYwpA QCAtMTAsNyArMTAsNiBAQAogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxp bnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KLSNpbmNsdWRlIDxsaW51eC9n cGlvL2NvbnN1bWVyLmg+CiAKICNpbmNsdWRlICJmYnRmdC5oIgogCkBAIC0yOCw5ICsyNyw2IEBA IHN0YXRpYyBpbnQgaW5pdF9kaXNwbGF5KHN0cnVjdCBmYnRmdF9wYXIgKnBhcikKIHsKIAlwYXIt PmZidGZ0b3BzLnJlc2V0KHBhcik7CiAKLQlpZiAocGFyLT5ncGlvLmNzKQotCQlncGlvZF9zZXRf dmFsdWUocGFyLT5ncGlvLmNzLCAwKTsgIC8qIEFjdGl2YXRlIGNoaXAgKi8KLQogCXdyaXRlX3Jl ZyhwYXIsIDB4MDAsIDB4MDAwMSk7CiAJd3JpdGVfcmVnKHBhciwgMHgwMywgMHhBOEE0KTsKIAl3 cml0ZV9yZWcocGFyLCAweDBDLCAweDAwMDApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5n L2ZidGZ0L2ZiX3NzZDEzMjUuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzI1LmMK aW5kZXggOGEzMTQwZDQxZDhiLi43OTZhMmFjM2UxOTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9mYnRmdC9mYl9zc2QxMzI1LmMKKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3Nz ZDEzMjUuYwpAQCAtMzUsOCArMzUsNiBAQCBzdGF0aWMgaW50IGluaXRfZGlzcGxheShzdHJ1Y3Qg ZmJ0ZnRfcGFyICpwYXIpCiB7CiAJcGFyLT5mYnRmdG9wcy5yZXNldChwYXIpOwogCi0JZ3Bpb2Rf c2V0X3ZhbHVlKHBhci0+Z3Bpby5jcywgMCk7Ci0KIAl3cml0ZV9yZWcocGFyLCAweGIzKTsKIAl3 cml0ZV9yZWcocGFyLCAweGYwKTsKIAl3cml0ZV9yZWcocGFyLCAweGFlKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzMxLmMgYi9kcml2ZXJzL3N0YWdpbmcvZmJ0 ZnQvZmJfc3NkMTMzMS5jCmluZGV4IDM3NjIyYzk0NjJhYS4uZWM1ZWNlZDdmOGNiIDEwMDY0NAot LS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfc3NkMTMzMS5jCisrKyBiL2RyaXZlcnMvc3Rh Z2luZy9mYnRmdC9mYl9zc2QxMzMxLmMKQEAgLTgxLDggKzgxLDcgQEAgc3RhdGljIHZvaWQgd3Jp dGVfcmVnOF9idXM4KHN0cnVjdCBmYnRmdF9wYXIgKnBhciwgaW50IGxlbiwgLi4uKQogCXZhX3N0 YXJ0KGFyZ3MsIGxlbik7CiAKIAkqYnVmID0gKHU4KXZhX2FyZyhhcmdzLCB1bnNpZ25lZCBpbnQp OwotCWlmIChwYXItPmdwaW8uZGMpCi0JCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8uZGMsIDAp OworCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8uZGMsIDApOwogCXJldCA9IHBhci0+ZmJ0ZnRv cHMud3JpdGUocGFyLCBwYXItPmJ1Ziwgc2l6ZW9mKHU4KSk7CiAJaWYgKHJldCA8IDApIHsKIAkJ dmFfZW5kKGFyZ3MpOwpAQCAtMTA0LDggKzEwMyw3IEBAIHN0YXRpYyB2b2lkIHdyaXRlX3JlZzhf YnVzOChzdHJ1Y3QgZmJ0ZnRfcGFyICpwYXIsIGludCBsZW4sIC4uLikKIAkJCXJldHVybjsKIAkJ fQogCX0KLQlpZiAocGFyLT5ncGlvLmRjKQotCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLmRj LCAxKTsKKwlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLmRjLCAxKTsKIAl2YV9lbmQoYXJncyk7 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMgYi9k cml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfc3NkMTM1MS5jCmluZGV4IDkwMGIyOGQ4MjZiMi4uY2Yy NjNhNThhMTQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfc3NkMTM1MS5j CisrKyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMKQEAgLTIsNyArMiw2IEBA CiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAj aW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIuaD4K ICNpbmNsdWRlIDxsaW51eC9zcGkvc3BpLmg+CiAjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4KIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3VwZDE2MTcwNC5jIGIvZHJpdmVy cy9zdGFnaW5nL2ZidGZ0L2ZiX3VwZDE2MTcwNC5jCmluZGV4IGM3NzgzMmFlNWU1Yi4uYzY4MDE2 MGQ2MzgwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfdXBkMTYxNzA0LmMK KysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3VwZDE2MTcwNC5jCkBAIC0xMiw3ICsxMiw2 IEBACiAjaW5jbHVkZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+ CiAjaW5jbHVkZSA8bGludXgvaW5pdC5oPgotI2luY2x1ZGUgPGxpbnV4L2dwaW8vY29uc3VtZXIu aD4KICNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgogCiAjaW5jbHVkZSAiZmJ0ZnQuaCIKQEAgLTI2 LDkgKzI1LDYgQEAgc3RhdGljIGludCBpbml0X2Rpc3BsYXkoc3RydWN0IGZidGZ0X3BhciAqcGFy KQogewogCXBhci0+ZmJ0ZnRvcHMucmVzZXQocGFyKTsKIAotCWlmIChwYXItPmdwaW8uY3MpCi0J CWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8uY3MsIDApOyAgLyogQWN0aXZhdGUgY2hpcCAqLwot CiAJLyogSW5pdGlhbGl6YXRpb24gc2VxdWVuY2UgZnJvbSBMaWJfVVRGVCAqLwogCiAJLyogcmVn aXN0ZXIgcmVzZXQgKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0 ZXJvdHQuYyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0ZXJvdHQuYwppbmRleCA3NmIy NWRmMzc2YjguLmE1N2UxZjRmZWVmMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0 L2ZiX3dhdHRlcm90dC5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYl93YXR0ZXJvdHQu YwpAQCAtOCw3ICs4LDYgQEAKICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KICNpbmNsdWRlIDxs aW51eC9rZXJuZWwuaD4KICNpbmNsdWRlIDxsaW51eC9pbml0Lmg+Ci0jaW5jbHVkZSA8bGludXgv Z3Bpby9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+CiAKICNpbmNsdWRlICJm YnRmdC5oIgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWJ1cy5jIGIv ZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWJ1cy5jCmluZGV4IDYzYzY1ZGQ2N2IxNy4uM2Q0 MjJiYzExNjQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJ0ZnQtYnVzLmMK KysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWJ1cy5jCkBAIC0xMzUsOCArMTM1LDcg QEAgaW50IGZidGZ0X3dyaXRlX3ZtZW0xNl9idXM4KHN0cnVjdCBmYnRmdF9wYXIgKnBhciwgc2l6 ZV90IG9mZnNldCwgc2l6ZV90IGxlbikKIAlyZW1haW4gPSBsZW4gLyAyOwogCXZtZW0xNiA9ICh1 MTYgKikocGFyLT5pbmZvLT5zY3JlZW5fYnVmZmVyICsgb2Zmc2V0KTsKIAotCWlmIChwYXItPmdw aW8uZGMpCi0JCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8uZGMsIDEpOworCWdwaW9kX3NldF92 YWx1ZShwYXItPmdwaW8uZGMsIDEpOwogCiAJLyogbm9uIGJ1ZmZlcmVkIHdyaXRlICovCiAJaWYg KCFwYXItPnR4YnVmLmJ1ZikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYnRm dC1jb3JlLmMgYi9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJ0ZnQtY29yZS5jCmluZGV4IDRmMzYy ZGFkNDQzNi4uNjdjM2IxOTc1YTRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQv ZmJ0ZnQtY29yZS5jCisrKyBiL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYnRmdC1jb3JlLmMKQEAg LTM4LDggKzM4LDcgQEAgaW50IGZidGZ0X3dyaXRlX2J1Zl9kYyhzdHJ1Y3QgZmJ0ZnRfcGFyICpw YXIsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbiwgaW50IGRjKQogewogCWludCByZXQ7CiAKLQlpZiAo cGFyLT5ncGlvLmRjKQotCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLmRjLCBkYyk7CisJZ3Bp b2Rfc2V0X3ZhbHVlKHBhci0+Z3Bpby5kYywgZGMpOwogCiAJcmV0ID0gcGFyLT5mYnRmdG9wcy53 cml0ZShwYXIsIGJ1ZiwgbGVuKTsKIAlpZiAocmV0IDwgMCkKQEAgLTc5LDcgKzc4LDcgQEAgc3Rh dGljIGludCBmYnRmdF9yZXF1ZXN0X29uZV9ncGlvKHN0cnVjdCBmYnRmdF9wYXIgKnBhciwKIAlp bnQgcmV0ID0gMDsKIAogCSpncGlvcCA9IGRldm1fZ3Bpb2RfZ2V0X2luZGV4X29wdGlvbmFsKGRl diwgbmFtZSwgaW5kZXgsCi0JCQkJCSAgICAgICBHUElPRF9PVVRfSElHSCk7CisJCQkJCSAgICAg ICBHUElPRF9PVVRfTE9XKTsKIAlpZiAoSVNfRVJSKCpncGlvcCkpIHsKIAkJcmV0ID0gUFRSX0VS UigqZ3Bpb3ApOwogCQlkZXZfZXJyKGRldiwKQEAgLTIyNiwxMSArMjI1LDE1IEBAIHN0YXRpYyB2 b2lkIGZidGZ0X3Jlc2V0KHN0cnVjdCBmYnRmdF9wYXIgKnBhcikKIHsKIAlpZiAoIXBhci0+Z3Bp by5yZXNldCkKIAkJcmV0dXJuOworCiAJZmJ0ZnRfcGFyX2RiZyhERUJVR19SRVNFVCwgcGFyLCAi JXMoKVxuIiwgX19mdW5jX18pOworCiAJZ3Bpb2Rfc2V0X3ZhbHVlX2NhbnNsZWVwKHBhci0+Z3Bp by5yZXNldCwgMSk7CiAJdXNsZWVwX3JhbmdlKDIwLCA0MCk7CiAJZ3Bpb2Rfc2V0X3ZhbHVlX2Nh bnNsZWVwKHBhci0+Z3Bpby5yZXNldCwgMCk7CiAJbXNsZWVwKDEyMCk7CisKKwlncGlvZF9zZXRf dmFsdWVfY2Fuc2xlZXAocGFyLT5ncGlvLmNzLCAxKTsgIC8qIEFjdGl2YXRlIGNoaXAgKi8KIH0K IAogc3RhdGljIHZvaWQgZmJ0ZnRfdXBkYXRlX2Rpc3BsYXkoc3RydWN0IGZidGZ0X3BhciAqcGFy LCB1bnNpZ25lZCBpbnQgc3RhcnRfbGluZSwKQEAgLTkyMiw4ICs5MjUsNiBAQCBzdGF0aWMgaW50 IGZidGZ0X2luaXRfZGlzcGxheV9mcm9tX3Byb3BlcnR5KHN0cnVjdCBmYnRmdF9wYXIgKnBhcikK IAkJZ290byBvdXRfZnJlZTsKIAogCXBhci0+ZmJ0ZnRvcHMucmVzZXQocGFyKTsKLQlpZiAocGFy LT5ncGlvLmNzKQotCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLmNzLCAwKTsgIC8qIEFjdGl2 YXRlIGNoaXAgKi8KIAogCWluZGV4ID0gLTE7CiAJdmFsID0gdmFsdWVzWysraW5kZXhdOwpAQCAt MTAxOCw4ICsxMDE5LDYgQEAgaW50IGZidGZ0X2luaXRfZGlzcGxheShzdHJ1Y3QgZmJ0ZnRfcGFy ICpwYXIpCiAJfQogCiAJcGFyLT5mYnRmdG9wcy5yZXNldChwYXIpOwotCWlmIChwYXItPmdwaW8u Y3MpCi0JCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8uY3MsIDApOyAgLyogQWN0aXZhdGUgY2hp cCAqLwogCiAJaSA9IDA7CiAJd2hpbGUgKGkgPCBGQlRGVF9NQVhfSU5JVF9TRVFVRU5DRSkgewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWlvLmMgYi9kcml2ZXJzL3N0 YWdpbmcvZmJ0ZnQvZmJ0ZnQtaW8uYwppbmRleCAwODYzZDI1N2Q3NjIuLmRlMTkwNGE0NDNjMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWlvLmMKKysrIGIvZHJpdmVy cy9zdGFnaW5nL2ZidGZ0L2ZidGZ0LWlvLmMKQEAgLTE0MiwxMiArMTQyLDEyIEBAIGludCBmYnRm dF93cml0ZV9ncGlvOF93cihzdHJ1Y3QgZmJ0ZnRfcGFyICpwYXIsIHZvaWQgKmJ1Ziwgc2l6ZV90 IGxlbikKIAkJZGF0YSA9ICoodTggKilidWY7CiAKIAkJLyogU3RhcnQgd3JpdGluZyBieSBwdWxs aW5nIGRvd24gL1dSICovCi0JCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8ud3IsIDApOworCQln cGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLndyLCAxKTsKIAogCQkvKiBTZXQgZGF0YSAqLwogI2lm bmRlZiBET19OT1RfT1BUSU1JWkVfRkJURlRfV1JJVEVfR1BJTwogCQlpZiAoZGF0YSA9PSBwcmV2 X2RhdGEpIHsKLQkJCWdwaW9kX3NldF92YWx1ZShwYXItPmdwaW8ud3IsIDApOyAvKiB1c2VkIGFz IGRlbGF5ICovCisJCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLndyLCAxKTsgLyogdXNlZCBh cyBkZWxheSAqLwogCQl9IGVsc2UgewogCQkJZm9yIChpID0gMDsgaSA8IDg7IGkrKykgewogCQkJ CWlmICgoZGF0YSAmIDEpICE9IChwcmV2X2RhdGEgJiAxKSkKQEAgLTE2NSw3ICsxNjUsNyBAQCBp bnQgZmJ0ZnRfd3JpdGVfZ3Bpbzhfd3Ioc3RydWN0IGZidGZ0X3BhciAqcGFyLCB2b2lkICpidWYs IHNpemVfdCBsZW4pCiAjZW5kaWYKIAogCQkvKiBQdWxsdXAgL1dSICovCi0JCWdwaW9kX3NldF92 YWx1ZShwYXItPmdwaW8ud3IsIDEpOworCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLndyLCAw KTsKIAogI2lmbmRlZiBET19OT1RfT1BUSU1JWkVfRkJURlRfV1JJVEVfR1BJTwogCQlwcmV2X2Rh dGEgPSAqKHU4ICopYnVmOwpAQCAtMTkyLDEyICsxOTIsMTIgQEAgaW50IGZidGZ0X3dyaXRlX2dw aW8xNl93cihzdHJ1Y3QgZmJ0ZnRfcGFyICpwYXIsIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKIAkJ ZGF0YSA9ICoodTE2ICopYnVmOwogCiAJCS8qIFN0YXJ0IHdyaXRpbmcgYnkgcHVsbGluZyBkb3du IC9XUiAqLwotCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLndyLCAwKTsKKwkJZ3Bpb2Rfc2V0 X3ZhbHVlKHBhci0+Z3Bpby53ciwgMSk7CiAKIAkJLyogU2V0IGRhdGEgKi8KICNpZm5kZWYgRE9f Tk9UX09QVElNSVpFX0ZCVEZUX1dSSVRFX0dQSU8KIAkJaWYgKGRhdGEgPT0gcHJldl9kYXRhKSB7 Ci0JCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLndyLCAwKTsgLyogdXNlZCBhcyBkZWxheSAq LworCQkJZ3Bpb2Rfc2V0X3ZhbHVlKHBhci0+Z3Bpby53ciwgMSk7IC8qIHVzZWQgYXMgZGVsYXkg Ki8KIAkJfSBlbHNlIHsKIAkJCWZvciAoaSA9IDA7IGkgPCAxNjsgaSsrKSB7CiAJCQkJaWYgKChk YXRhICYgMSkgIT0gKHByZXZfZGF0YSAmIDEpKQpAQCAtMjE1LDcgKzIxNSw3IEBAIGludCBmYnRm dF93cml0ZV9ncGlvMTZfd3Ioc3RydWN0IGZidGZ0X3BhciAqcGFyLCB2b2lkICpidWYsIHNpemVf dCBsZW4pCiAjZW5kaWYKIAogCQkvKiBQdWxsdXAgL1dSICovCi0JCWdwaW9kX3NldF92YWx1ZShw YXItPmdwaW8ud3IsIDEpOworCQlncGlvZF9zZXRfdmFsdWUocGFyLT5ncGlvLndyLCAwKTsKIAog I2lmbmRlZiBET19OT1RfT1BUSU1JWkVfRkJURlRfV1JJVEVfR1BJTwogCQlwcmV2X2RhdGEgPSAq KHUxNiAqKWJ1ZjsKLS0gCjIuMzAuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==