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 57835C7EE2A for ; Tue, 9 May 2023 11:09:07 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc: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=OOzoAuPIMyOYLOGcBMJpYTRDN/BwAoTaBzAyHTGxK00=; b=mw8Il4ZhQPARGQ WKKIlXe+FlXJmV+eth9TQT1bKqSLBkgO15CsBPiEQGiaKIUTxGhDvIGeUYA+WfKpu323Xoj+tv6XK Xv0TWWXJKPNkb1J0NrZFnGhnq5moHeNueH8mtW/XZMpiLDGlzZFFkEIxhTX4oiABl96hx91s8c9Bl KEpyA9HYXXqnF6IwniJwrCQq319Cz+E359w3DyIgXbaCkTTBOEDFvfYIaY0QL/7aiz9v5nfSVkloS 31VygQ582uz7+FTArpldD5a2HulKBjiTbtJKJ2oAcgr8p6tVEZWAEBAL0+fRjV0vZOdxMLYCzB2Ef sYMVbfD2TssFdofmjKaw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pwLCh-0035lq-2m; Tue, 09 May 2023 11:08:23 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pwLCe-0035kt-1V for linux-mtd@lists.infradead.org; Tue, 09 May 2023 11:08:22 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id B178D62DB2; Tue, 9 May 2023 11:08:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id ECD43C433EF; Tue, 9 May 2023 11:08:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1683630499; bh=dXmLrHGxkupZiY54DWvta2OfEpwR9qKirDnx8YEOrW4=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=qZPDYfSz1FEyqTi4suQD6Y0fhi3af2Jfs6LePh7GPVxq0m1H3ZY7xfTsoyYyS/QsB CznPBAQ+33YmjohAB5b4xba4yIkgHhkRfh35HZgc+3+X4lUY+7lXS4gel5iK30JQV9 AO0EKQCPa3Yzk8Q2CwqoSkT7tq3a0Mh3IChlcwBOyIo/i41gpG+sGhWepbQOMx4MdL 6ossfWdDZQWz9cdzaDelgNaFscLdyyfn7YEywxByaHP/r0ndA9lfYTO7fFbb8PQmtF x0Zqi3X3OaDamg0OZk+QwZKcZ3Kvdl4qVk4RdpQRGk22NOn7+cchYpQsCclzyUHfEX 7g5loE6rAwxvw== Date: Tue, 9 May 2023 16:38:04 +0530 From: Manivannan Sadhasivam To: Md Sadre Alam Cc: miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com, linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, quic_srichara@quicinc.com Subject: Re: [PATCH V2] mtd: rawnand: qcom: Implement exec_op() Message-ID: <20230509110804.GC4823@thinkpad> References: <20230419093617.27134-1-quic_mdalam@quicinc.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20230419093617.27134-1-quic_mdalam@quicinc.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230509_040820_592899_3DBF0E36 X-CRM114-Status: GOOD ( 35.95 ) X-BeenThere: linux-mtd@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux MTD discussion mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-mtd" Errors-To: linux-mtd-bounces+linux-mtd=archiver.kernel.org@lists.infradead.org T24gV2VkLCBBcHIgMTksIDIwMjMgYXQgMDM6MDY6MTdQTSArMDUzMCwgTWQgU2FkcmUgQWxhbSB3 cm90ZToKPiBJbXBsZW1lbnQgZXhlY19vcCgpIHNvIHdlIGNhbiBsYXRlciBnZXQgcmlkIG9mIHRo ZSBsZWdhY3kgaW50ZXJmYWNlCj4gaW1wbGVtZW50YXRpb24uCj4gCgpJdCdzIGdvb2QgdGhhdCB5 b3UgZ290IHRoZSBpbnNwaXJhdGlvbiBmcm9tIHByZXZpb3VzIGV4ZWNfb3AoKSBjb252ZXJzaW9u CnBhdGNoZXMsIGJ1dCB0aGlzIG9uZSBzaG91bGQndmUgYmVlbiBzcGxpdHRlZCBpbnRvIGF0bGVh c3QgdHdvIHBhdGNoZXMgYXMgcGVyCnlvdXIgcGF0Y2ggZGVzY3JpcHRpb24uCgpPbmUgaW50cm9k dWNpbmcgZXhlY19vcCgpIGFuZCBhbm90aGVyIGdldHRpbmcgcmlkIG9mIGxlZ2FjeSBpbnRlcmZh Y2UuCgo+IENvLWRldmVsb3BlZC1ieTogU3JpY2hhcmFuIFIgPHF1aWNfc3JpY2hhcmFAcXVpY2lu Yy5jb20+Cj4gU2lnbmVkLW9mZi1ieTogU3JpY2hhcmFuIFIgPHF1aWNfc3JpY2hhcmFAcXVpY2lu Yy5jb20+Cj4gU2lnbmVkLW9mZi1ieTogTWQgU2FkcmUgQWxhbSA8cXVpY19tZGFsYW1AcXVpY2lu Yy5jb20+Cj4gLS0tCj4gQ2hhbmdlIGluIFtWMl0KPiAKPiAqIEFkZHJlc3MgYWxsIE1pcXVlbCBj b21tZW50cyBmcm9tIFYxLCByZWdhcmRpbmcgZXhlY19vcHMgZGVzaWduCj4gCj4gKiBSZWRlc2ln biBxcGljIG5hbmQgZHJpdmVyIHdpdGggZXhlY19vcHMgdXNpbmcgZXhlY19vcHMgcGFyc2VyLCB0 byAKPiAgIGZpdCBpbiBleGVjX29wcyBmcmFtZXdvcmsgCj4gCj4gIGRyaXZlcnMvbXRkL25hbmQv cmF3L3Fjb21fbmFuZGMuYyB8IDg2OSArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiAg MSBmaWxlIGNoYW5nZWQsIDUyMCBpbnNlcnRpb25zKCspLCAzNDkgZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYyBiL2RyaXZlcnMv bXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYwo+IGluZGV4IDcyZDYxNjhkOGExYi4uMTcyNzk4OTA0 NTRkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYwo+ICsr KyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYwo+IEBAIC0xNTcsNiArMTU3LDcg QEAKPiAgI2RlZmluZQlPUF9QQUdFX1BST0dSQU1fV0lUSF9FQ0MJMHg3Cj4gICNkZWZpbmUJT1Bf UFJPR1JBTV9QQUdFX1NQQVJFCQkweDkKPiAgI2RlZmluZQlPUF9CTE9DS19FUkFTRQkJCTB4YQo+ ICsjZGVmaW5lCU9QX0NIRUNLX1NUQVRVUwkJCTB4Ywo+ICAjZGVmaW5lCU9QX0ZFVENIX0lECQkJ MHhiCj4gICNkZWZpbmUJT1BfUkVTRVRfREVWSUNFCQkJMHhkCj4gIAo+IEBAIC0yMzUsNiArMjM2 LDcgQEAgbmFuZGNfc2V0X3JlZyhjaGlwLCByZWcsCQkJXAo+ICAgKi8KPiAgI2RlZmluZSBOQU5E X0VSQVNFRF9DV19TRVQJCUJJVCg0KQo+ICAKPiArI2RlZmluZSBNQVhfQUREUkVTU19DWUNMRQkJ NQo+ICAvKgo+ICAgKiBUaGlzIGRhdGEgdHlwZSBjb3JyZXNwb25kcyB0byB0aGUgQkFNIHRyYW5z YWN0aW9uIHdoaWNoIHdpbGwgYmUgdXNlZCBmb3IgYWxsCj4gICAqIE5BTkQgdHJhbnNmZXJzLgo+ IEBAIC00MzIsNiArNDM0LDcgQEAgc3RydWN0IHFjb21fbmFuZF9jb250cm9sbGVyIHsKPiAgCWlu dCByZWdfcmVhZF9wb3M7Cj4gIAo+ICAJdTMyIGNtZDEsIHZsZDsKPiArCWJvb2wgZXhlY19vcHdy aXRlOwoKTWlzc2luZyBrZG9jLgoKPiAgfTsKPiAgCj4gIC8qCj4gQEAgLTQ0Nyw2ICs0NTAsMzcg QEAgc3RydWN0IHFjb21fbmFuZF9ib290X3BhcnRpdGlvbiB7Cj4gIAl1MzIgcGFnZV9zaXplOwo+ ICB9Owo+ICAKPiArLyoKPiArICogUUNPTSBvcCBmb3IgZWFjaCBleGVjX29wIHRyYW5zZmVyCgpX aGF0IGlzICJRQ09NIG9wIj8gQWxzbyBwbGVhc2Ugc3RpY2sgdG8gIlFjb20iIGV2ZXJ5d2hlcmUu Cgo+ICsgKgo+ICsgKiBAYWRkcjFfcmVnOgkJCUFkZHJlc3MxIHJlZ2lzdGVyIHZhbHVlCj4gKyAq Cj4gKyAqIEBhZGRyMl9yZWc6CQkJQWRkcmVzczIgcmVnaXN0ZXIgdmFsdWUKPiArICoKPiArICog QGNtZF9yZWc6CQkJQ01EIHJlZ2lzdGVyIHZhbHVlCj4gKyAqCj4gKyAqIEByZHlfdGltZW91dF9t czoJCXdhaXQgcmVhZHkgdGltZW91dCBpbiBtcwo+ICsgKgoKRmlyc3QgbGV0dGVyIGNhcHMgZm9y IGFsbCBpbnN0YW5jZXMuCgo+ICsgKiBAcmR5X2RlbGF5X25zOgkJQWRkaXRpb25hbCBkZWxheSBp biBucwo+ICsgKgo+ICsgKiBAZGF0YV9pbnN0cl9pZHg6CQlkYXRhIGluc3RydWN0aW9uIGluZGV4 Cj4gKyAqCj4gKyAqIEBkYXRhX2luc3RyOgkJCWRhdGEgaW5zdHJ1Y3Rpb24gcG9pbnRlcgo+ICsg KgoKRG8gbm90IGxlYXZlIHRoaXMgZXh0cmEgbmV3bGluZSBjb21tZW50IGluLWJldHdlZW4uCgo+ ICsgKiBAZmxhZzoJCQlmbGFnIGZvciBtaXNjIGluc3RydWN0aW9uCj4gKyAqCj4gKyAqLwo+ICtz dHJ1Y3QgcWNvbV9vcCB7Cj4gKwl1MzIgYWRkcjFfcmVnOwo+ICsJdTMyIGFkZHIyX3JlZzsKPiAr CXUzMiBjbWRfcmVnOwo+ICsJdW5zaWduZWQgaW50IHJkeV90aW1lb3V0X21zOwo+ICsJdW5zaWdu ZWQgaW50IHJkeV9kZWxheV9uczsKPiArCXVuc2lnbmVkIGludCBkYXRhX2luc3RyX2lkeDsKPiAr CWNvbnN0IHN0cnVjdCBuYW5kX29wX2luc3RyICpkYXRhX2luc3RyOwoKTW92ZSB0aGUgcG9pbnRl ciB0byBzdGFydCBvZiB0aGUgc3RydWN0LgoKPiArCXU4IGZsYWc7Cj4gK307Cj4gKwo+ICAvKgo+ ICAgKiBOQU5EIGNoaXAgc3RydWN0dXJlCj4gICAqCj4gQEAgLTc2NSw3ICs3OTksNiBAQCBzdGF0 aWMgdm9pZCBzZXRfYWRkcmVzcyhzdHJ1Y3QgcWNvbV9uYW5kX2hvc3QgKmhvc3QsIHUxNiBjb2x1 bW4sIGludCBwYWdlKQo+ICAKPiAgCWlmIChjaGlwLT5vcHRpb25zICYgTkFORF9CVVNXSURUSF8x NikKPiAgCQljb2x1bW4gPj49IDE7Cj4gLQoKU3BvcmFkaWM/Cgo+ICAJbmFuZGNfc2V0X3JlZyhj aGlwLCBOQU5EX0FERFIwLCBwYWdlIDw8IDE2IHwgY29sdW1uKTsKPiAgCW5hbmRjX3NldF9yZWco Y2hpcCwgTkFORF9BRERSMSwgcGFnZSA+PiAxNiAmIDB4ZmYpOwo+ICB9Cj4gQEAgLTEyNzMsMTU1 ICsxMzA2LDYgQEAgc3RhdGljIHZvaWQgY29uZmlnX25hbmRfY3dfd3JpdGUoc3RydWN0IG5hbmRf Y2hpcCAqY2hpcCkKPiAgCXdyaXRlX3JlZ19kbWEobmFuZGMsIE5BTkRfUkVBRF9TVEFUVVMsIDEs IE5BTkRfQkFNX05FWFRfU0dMKTsKPiAgfQo+ICAKPiAtLyoKPiAtICogdGhlIGZvbGxvd2luZyBm dW5jdGlvbnMgYXJlIHVzZWQgd2l0aGluIGNoaXAtPmxlZ2FjeS5jbWRmdW5jKCkgdG8KPiAtICog cGVyZm9ybSBkaWZmZXJlbnQgTkFORF9DTURfKiBjb21tYW5kcwo+IC0gKi8KPiAtCj4gLS8qIHNl dHMgdXAgZGVzY3JpcHRvcnMgZm9yIE5BTkRfQ01EX1BBUkFNICovCj4gLXN0YXRpYyBpbnQgbmFu ZGNfcGFyYW0oc3RydWN0IHFjb21fbmFuZF9ob3N0ICpob3N0KQoKQXMgSSBwb2ludGVkIG91dCBh Ym92ZSwgeW91IG5lZWQgdG8gc3BsaXQgdGhlc2UgcmVtb3ZhbHMgaW50byBhIHNlcGFyYXRlIHBh dGNoLgoKPiAtewo+IC0Jc3RydWN0IG5hbmRfY2hpcCAqY2hpcCA9ICZob3N0LT5jaGlwOwo+IC0J c3RydWN0IHFjb21fbmFuZF9jb250cm9sbGVyICpuYW5kYyA9IGdldF9xY29tX25hbmRfY29udHJv bGxlcihjaGlwKTsKPiAtCj4gLQkvKgo+IC0JICogTkFORF9DTURfUEFSQU0gaXMgY2FsbGVkIGJl Zm9yZSB3ZSBrbm93IG11Y2ggYWJvdXQgdGhlIEZMQVNIIGNoaXAKPiAtCSAqIGluIHVzZS4gd2Ug Y29uZmlndXJlIHRoZSBjb250cm9sbGVyIHRvIHBlcmZvcm0gYSByYXcgcmVhZCBvZiA1MTIKPiAt CSAqIGJ5dGVzIHRvIHJlYWQgb25maSBwYXJhbXMKPiAtCSAqLwo+IC0JaWYgKG5hbmRjLT5wcm9w cy0+cXBpY192MikKPiAtCQluYW5kY19zZXRfcmVnKGNoaXAsIE5BTkRfRkxBU0hfQ01ELCBPUF9Q QUdFX1JFQURfT05GSV9SRUFEIHwKPiAtCQkJICAgICAgUEFHRV9BQ0MgfCBMQVNUX1BBR0UpOwo+ IC0JZWxzZQo+IC0JCW5hbmRjX3NldF9yZWcoY2hpcCwgTkFORF9GTEFTSF9DTUQsIE9QX1BBR0Vf UkVBRCB8Cj4gLQkJCSAgICAgIFBBR0VfQUNDIHwgTEFTVF9QQUdFKTsKPiAtCj4gLQluYW5kY19z ZXRfcmVnKGNoaXAsIE5BTkRfQUREUjAsIDApOwo+IC0JbmFuZGNfc2V0X3JlZyhjaGlwLCBOQU5E X0FERFIxLCAwKTsKPiAtCW5hbmRjX3NldF9yZWcoY2hpcCwgTkFORF9ERVYwX0NGRzAsIDAgPDwg Q1dfUEVSX1BBR0UKPiAtCQkJCQl8IDUxMiA8PCBVRF9TSVpFX0JZVEVTCj4gLQkJCQkJfCA1IDw8 IE5VTV9BRERSX0NZQ0xFUwo+IC0JCQkJCXwgMCA8PCBTUEFSRV9TSVpFX0JZVEVTKTsKPiAtCW5h bmRjX3NldF9yZWcoY2hpcCwgTkFORF9ERVYwX0NGRzEsIDcgPDwgTkFORF9SRUNPVkVSWV9DWUNM RVMKPiAtCQkJCQl8IDAgPDwgQ1NfQUNUSVZFX0JTWQo+IC0JCQkJCXwgMTcgPDwgQkFEX0JMT0NL X0JZVEVfTlVNCj4gLQkJCQkJfCAxIDw8IEJBRF9CTE9DS19JTl9TUEFSRV9BUkVBCj4gLQkJCQkJ fCAyIDw8IFdSX1JEX0JTWV9HQVAKPiAtCQkJCQl8IDAgPDwgV0lERV9GTEFTSAo+IC0JCQkJCXwg MSA8PCBERVYwX0NGRzFfRUNDX0RJU0FCTEUpOwo+IC0JaWYgKCFuYW5kYy0+cHJvcHMtPnFwaWNf djIpCj4gLQkJbmFuZGNfc2V0X3JlZyhjaGlwLCBOQU5EX0VCSTJfRUNDX0JVRl9DRkcsIDEgPDwg RUNDX0NGR19FQ0NfRElTQUJMRSk7Cj4gLQo+IC0JLyogY29uZmlndXJlIENNRDEgYW5kIFZMRCBm b3IgT05GSSBwYXJhbSBwcm9iaW5nIGluIFFQSUMgdjEgKi8KPiAtCWlmICghbmFuZGMtPnByb3Bz LT5xcGljX3YyKSB7Cj4gLQkJbmFuZGNfc2V0X3JlZyhjaGlwLCBOQU5EX0RFVl9DTURfVkxELAo+ IC0JCQkgICAgICAobmFuZGMtPnZsZCAmIH5SRUFEX1NUQVJUX1ZMRCkpOwo+IC0JCW5hbmRjX3Nl dF9yZWcoY2hpcCwgTkFORF9ERVZfQ01EMSwKPiAtCQkJICAgICAgKG5hbmRjLT5jbWQxICYgfigw eEZGIDw8IFJFQURfQUREUikpCj4gLQkJCSAgICAgIHwgTkFORF9DTURfUEFSQU0gPDwgUkVBRF9B RERSKTsKPiAtCX0KPiAtCj4gLQluYW5kY19zZXRfcmVnKGNoaXAsIE5BTkRfRVhFQ19DTUQsIDEp Owo+IC0KPiAtCWlmICghbmFuZGMtPnByb3BzLT5xcGljX3YyKSB7Cj4gLQkJbmFuZGNfc2V0X3Jl ZyhjaGlwLCBOQU5EX0RFVl9DTUQxX1JFU1RPUkUsIG5hbmRjLT5jbWQxKTsKPiAtCQluYW5kY19z ZXRfcmVnKGNoaXAsIE5BTkRfREVWX0NNRF9WTERfUkVTVE9SRSwgbmFuZGMtPnZsZCk7Cj4gLQl9 Cj4gLQo+IC0JbmFuZGNfc2V0X3JlYWRfbG9jKGNoaXAsIDAsIDAsIDAsIDUxMiwgMSk7Cj4gLQo+ IC0JaWYgKCFuYW5kYy0+cHJvcHMtPnFwaWNfdjIpIHsKPiAtCQl3cml0ZV9yZWdfZG1hKG5hbmRj LCBOQU5EX0RFVl9DTURfVkxELCAxLCAwKTsKPiAtCQl3cml0ZV9yZWdfZG1hKG5hbmRjLCBOQU5E X0RFVl9DTUQxLCAxLCBOQU5EX0JBTV9ORVhUX1NHTCk7Cj4gLQl9Cj4gLQo+IC0JbmFuZGMtPmJ1 Zl9jb3VudCA9IDUxMjsKPiAtCW1lbXNldChuYW5kYy0+ZGF0YV9idWZmZXIsIDB4ZmYsIG5hbmRj LT5idWZfY291bnQpOwo+IC0KPiAtCWNvbmZpZ19uYW5kX3NpbmdsZV9jd19wYWdlX3JlYWQoY2hp cCwgZmFsc2UsIDApOwo+IC0KPiAtCXJlYWRfZGF0YV9kbWEobmFuZGMsIEZMQVNIX0JVRl9BQ0Ms IG5hbmRjLT5kYXRhX2J1ZmZlciwKPiAtCQkgICAgICBuYW5kYy0+YnVmX2NvdW50LCAwKTsKPiAt Cj4gLQkvKiByZXN0b3JlIENNRDEgYW5kIFZMRCByZWdzICovCj4gLQlpZiAoIW5hbmRjLT5wcm9w cy0+cXBpY192Mikgewo+IC0JCXdyaXRlX3JlZ19kbWEobmFuZGMsIE5BTkRfREVWX0NNRDFfUkVT VE9SRSwgMSwgMCk7Cj4gLQkJd3JpdGVfcmVnX2RtYShuYW5kYywgTkFORF9ERVZfQ01EX1ZMRF9S RVNUT1JFLCAxLCBOQU5EX0JBTV9ORVhUX1NHTCk7Cj4gLQl9Cj4gLQo+IC0JcmV0dXJuIDA7Cj4g LX0KClsuLi5dCgo+ICAvKgo+ICAgKiB3aGVuIHVzaW5nIEJDSCBFQ0MsIHRoZSBIVyBmbGFncyBh biBlcnJvciBpbiBOQU5EX0ZMQVNIX1NUQVRVUyBpZiBpdCByZWFkCj4gICAqIGFuIGVyYXNlZCBD VywgYW5kIHJlcG9ydHMgYW4gZXJhc2VkIENXIGluIE5BTkRfRVJBU0VEX0NXX0RFVEVDVF9TVEFU VVMuCj4gQEAgLTE3MzUsNyArMTQ5MSw4IEBAIHFjb21fbmFuZGNfcmVhZF9jd19yYXcoc3RydWN0 IG10ZF9pbmZvICptdGQsIHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsCj4gIAlpbnQgcmV0LCByZWdf b2ZmID0gRkxBU0hfQlVGX0FDQywgcmVhZF9sb2MgPSAwOwo+ICAJaW50IHJhd19jdyA9IGN3Owo+ ICAKPiAtCW5hbmRfcmVhZF9wYWdlX29wKGNoaXAsIHBhZ2UsIDAsIE5VTEwsIDApOwo+ICsJY2hp cC0+Y29udF9yZWFkLm9uZ29pbmcgPSBmYWxzZTsKPiArCW5hbmRfcmVhZF9wYWdlX29wKGNoaXAs IHBhZ2UsIDAsIGRhdGFfYnVmLCAyMDQ4KTsKCkhvdyBpcyB0aGlzIGNoYW5nZSByZWxhdGVkIHRv IGV4ZWNfb3AoKSBjb252ZXJzaW9uPyBMb29rcyBsaWtlIHRoaXMgYW5kIGZldwp0aGluZ3MgYmVs b3cgc2hvdWxkIGJlIHBhcnQgb2YgYSBzZXBhcmF0ZSBwYXRjaC4KCj4gIAlob3N0LT51c2VfZWNj ID0gZmFsc2U7Cj4gIAo+ICAJaWYgKG5hbmRjLT5wcm9wcy0+cXBpY192MikKPiBAQCAtMjA0Nyw3 ICsxODA0LDkgQEAgc3RhdGljIGludCByZWFkX3BhZ2VfZWNjKHN0cnVjdCBxY29tX25hbmRfaG9z dCAqaG9zdCwgdTggKmRhdGFfYnVmLAo+ICAJCXJldHVybiByZXQ7Cj4gIAl9Cj4gIAo+IC0JcmV0 dXJuIHBhcnNlX3JlYWRfZXJyb3JzKGhvc3QsIGRhdGFfYnVmX3N0YXJ0LCBvb2JfYnVmX3N0YXJ0 LCBwYWdlKTsKPiArCXJldCA9IHBhcnNlX3JlYWRfZXJyb3JzKGhvc3QsIGRhdGFfYnVmX3N0YXJ0 LCBvb2JfYnVmX3N0YXJ0LCBwYWdlKTsKPiArCj4gKwlyZXR1cm4gcmV0OwoKV2h5PwoKPiAgfQo+ ICAKPiAgLyoKPiBAQCAtMjE1NCwxMiArMTkxMywyNSBAQCBzdGF0aWMgaW50IHFjb21fbmFuZGNf cmVhZF9wYWdlKHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIHVpbnQ4X3QgKmJ1ZiwKPiAgewo+ICAJ c3RydWN0IHFjb21fbmFuZF9ob3N0ICpob3N0ID0gdG9fcWNvbV9uYW5kX2hvc3QoY2hpcCk7Cj4g IAlzdHJ1Y3QgcWNvbV9uYW5kX2NvbnRyb2xsZXIgKm5hbmRjID0gZ2V0X3Fjb21fbmFuZF9jb250 cm9sbGVyKGNoaXApOwo+ICsJc3RydWN0IG5hbmRfZWNjX2N0cmwgKmVjYyA9ICZjaGlwLT5lY2M7 Cj4gIAl1OCAqZGF0YV9idWYsICpvb2JfYnVmID0gTlVMTDsKPiArCWludCByZXQgPSAwOwo+ICAK PiAgCWlmIChob3N0LT5ucl9ib290X3BhcnRpdGlvbnMpCj4gIAkJcWNvbV9uYW5kY19jb2Rld29y ZF9maXh1cChob3N0LCBwYWdlKTsKPiAgCj4gLQluYW5kX3JlYWRfcGFnZV9vcChjaGlwLCBwYWdl LCAwLCBOVUxMLCAwKTsKPiArCWNoaXAtPmNvbnRfcmVhZC5vbmdvaW5nID0gZmFsc2U7Cj4gKwly ZXQgPSBuYW5kX3JlYWRfcGFnZV9vcChjaGlwLCBwYWdlLCAwLCBidWYsIDIwNDgpOwo+ICsJaWYg KHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiArCW5hbmRjLT5idWZfY291bnQgPSAwOwo+ICsJ bmFuZGMtPmJ1Zl9zdGFydCA9IDA7Cj4gKwlob3N0LT51c2VfZWNjID0gdHJ1ZTsKPiArCWNsZWFy X3JlYWRfcmVncyhuYW5kYyk7Cj4gKwlzZXRfYWRkcmVzcyhob3N0LCAwLCBwYWdlKTsKPiArCXVw ZGF0ZV9yd19yZWdzKGhvc3QsIGVjYy0+c3RlcHMsIHRydWUsIDApOwo+ICsKPiAgCWRhdGFfYnVm ID0gYnVmOwo+ICAJb29iX2J1ZiA9IG9vYl9yZXF1aXJlZCA/IGNoaXAtPm9vYl9wb2kgOiBOVUxM Owo+ICAKPiBAQCAtMjIyOSw2ICsyMDAxLDEwIEBAIHN0YXRpYyBpbnQgcWNvbV9uYW5kY193cml0 ZV9wYWdlKHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwKPiAgCj4g IAluYW5kX3Byb2dfcGFnZV9iZWdpbl9vcChjaGlwLCBwYWdlLCAwLCBOVUxMLCAwKTsKPiAgCj4g KwlzZXRfYWRkcmVzcyhob3N0LCAwLCBwYWdlKTsKPiArCW5hbmRjLT5idWZfY291bnQgPSAwOwo+ ICsJbmFuZGMtPmJ1Zl9zdGFydCA9IDA7Cj4gKwoKQXMgc2FpZCBhYm92ZSwgeW91IG5lZWQgYSBz ZXBhcmF0ZSBwYXRjaCBmb3IgdGhlIGFib3ZlIGNoYW5nZS4gSSBkbyBub3QgZ2V0IHRoZQpjb250 ZXh0IG9mIHRoZSBhYm92ZSBjaGFuZ2UuCgpBbmQgSSBzdG9wcGVkIHJldmlld2luZyBoZXJlLiBJ dCdzIGhhcmQgdG8gcmV2aWV3IH44MDAgbGluZXMgb2YgY2hhbmdlIGluIG9uZQpzaG90LiBQbGVh c2Ugc3BsaXQgdGhpcyBwYXRjaCBpbnRvIHNlbnNpYmxlIGNodW5rcyBzbyB0aGF0IGl0IG1ha2Vz IGxpZmUgZWFzeQpmb3IgcmV2aWV3ZXJzLgoKLSBNYW5pCgotLSAK4K6u4K6j4K6/4K614K6j4K+N 4K6j4K6p4K+NIOCumuCupOCuvuCumuCuv+CuteCuruCvjQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4IE1URCBkaXNjdXNzaW9uIG1h aWxpbmcgbGlzdApodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LW10ZC8K