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 1119AC4451C for ; Fri, 17 Jul 2026 13:09:21 +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:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=A2LmB48/F3O03kwnbzWwhyATOSCjI+QhsMw4WkhM86o=; b=GGnBvxNXoaD9V8 qrY4o9rpVCMY+5rmL/1Lr7wEin7TFpMHTWh33bBXwrXDiQHq6Y6DWtUSx3/RYHS/9LisRxV7TRaTy 9LHFS1RZSKpbwh4PVeBeB0XpL0r5GAqkg1YpUPygTvTPYBTRN/355a8PooTnxslVPz1VD0GM4UAzU v9t+kcgXzQkC3tS80BktJxB2/g7aOiyXjRf2Hea5MKWyNm9SWEu8hX+lM/DdfWYRpz/H+8i0SSM7P 5owHeIrhF70CHu7bE4iNiFHq0D3h6+G12hPzIew5VtVAWeWWSp5tDvZsmZLnPrVjrrnWYF8Fq05jq x/DpWjnDiWxhd3Ot2/1w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wkiJX-00000002Mym-3HnW; Fri, 17 Jul 2026 13:09:15 +0000 Received: from smtpout-03.galae.net ([185.246.85.4]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wkiJT-00000002Mv8-0KpB for linux-mtd@lists.infradead.org; Fri, 17 Jul 2026 13:09:13 +0000 Received: from smtpout-01.galae.net (smtpout-01.galae.net [212.83.139.233]) by smtpout-03.galae.net (Postfix) with ESMTPS id 950424E40E0E; Fri, 17 Jul 2026 13:09:07 +0000 (UTC) Received: from mail.galae.net (mail.galae.net [212.83.136.155]) by smtpout-01.galae.net (Postfix) with ESMTPS id 604E360361; Fri, 17 Jul 2026 13:09:07 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) by localhost (Mailerdaemon) with ESMTPSA id 78D5A11BD0158; Fri, 17 Jul 2026 15:09:03 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=dkim; t=1784293746; h=from:subject:date:message-id:to:cc:mime-version:content-type: content-transfer-encoding:in-reply-to:references; bh=Cn1pFl0mrxmZ5O9Dm58NQlDdGx8NzY2f6Z+2/X5Kfqo=; b=jWW7QdQ9WgtCFeBDx7anwxwxvIRt/ADCZj39QvGO/0PSwpXBSjOChomR3Dr5GmZiM+/BMZ CoQUHGqv3tTqeUcpCL6AAMytPZMvKel27zuWzPgJnrOdzkT+PTN6dt0wExcDB1bXK21M5i Ro11bNmhblT5MsF7zRzrpM5kNacc4trRWe7k3V7f9M72j81j5X26hxNDhD3CcJvRfJE6jF ctUgVwn7ObdGvIgOy2b3oomyQd5dEAJ4oM+drStkfghEA6qAGsLeRzbFrA5gJZRysMffBa ekOZx/SqXN6fQeO6Xm83cVO9SphTKN9QEfd+27thoqz5hfikpKZBBCmxeXrYBw== From: Miquel Raynal To: James Hilliard Cc: linux-mtd@lists.infradead.org, linux-sunxi@lists.linux.dev, Richard Weinberger , Vignesh Raghavendra , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Richard Genoud , Geert Uytterhoeven , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mtd: rawnand: sunxi: add H616 MBUS DMA support In-Reply-To: <20260715162444.789303-1-james.hilliard1@gmail.com> (James Hilliard's message of "Wed, 15 Jul 2026 10:24:40 -0600") References: <20260715162444.789303-1-james.hilliard1@gmail.com> User-Agent: mu4e 1.12.7; emacs 30.2 Date: Fri, 17 Jul 2026 15:09:02 +0200 Message-ID: <87v7adix01.fsf@bootlin.com> MIME-Version: 1.0 X-Last-TLS-Session-Version: TLSv1.3 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260717_060911_406832_1636D6DD X-CRM114-Status: GOOD ( 35.85 ) 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 SGkgSmFtZXMsCgpPbiAxNS8wNy8yMDI2IGF0IDEwOjI0OjQwIC0wNiwgSmFtZXMgSGlsbGlhcmQg PGphbWVzLmhpbGxpYXJkMUBnbWFpbC5jb20+IHdyb3RlOgoKPiBUaGUgSDYxNiBOQU5EIGNvbnRy b2xsZXIgdXNlcyBhIGRlc2NyaXB0b3ItYmFzZWQgaW50ZXJuYWwgTUJVUyBETUEKPiBlbmdpbmUg aW5zdGVhZCBvZiB0aGUgZGlyZWN0IGFkZHJlc3MgYW5kIGNvdW50IHJlZ2lzdGVycyB1c2VkIGJ5 IHRoZQo+IEEyMy9BMzMgY29udHJvbGxlci4gU2luY2UgdGhlIGRyaXZlciBkb2VzIG5vdCBzdXBw b3J0IHRoZXNlIGRlc2NyaXB0b3JzLAo+IGl0IGN1cnJlbnRseSBhdHRlbXB0cyB0byByZXF1ZXN0 IGFuIGV4dGVybmFsIHJ4dHggRE1BIGNoYW5uZWwgYW5kIGZhbGxzCj4gYmFjayB0byBQSU8gd2hl biBub25lIGlzIHByb3ZpZGVkLgo+Cj4gQWRkIGEgc2luZ2xlLWRlc2NyaXB0b3IgYmFja2VuZCB0 byB0aGUgZXhpc3RpbmcgRUNDIHBhZ2UgRE1BIHBhdGhzLgo+IEFsbG9jYXRlIHRoZSBkZXNjcmlw dG9yIGNvaGVyZW50bHksIGNvbnN0cmFpbiBkYXRhIG1hcHBpbmdzIHRvIHRoZQo+IGNvbnRyb2xs ZXIncyAzMi1iaXQgYWRkcmVzcyByYW5nZSwgcHJvZ3JhbSB0aGUgSDYtc3R5bGUgZGF0YSBibG9j ayBtYXNrLAo+IGFuZCByZXF1ZXN0IGFuIGludGVycnVwdCBmb3IgYm90aCBjb21tYW5kIGFuZCBE TUEgY29tcGxldGlvbi4gS2VlcCB0aGUKPiBleGlzdGluZyBleHRlcm5hbCBETUEgYW5kIGxlZ2Fj eSBNQlVTIERNQSBwYXRocyB1bmNoYW5nZWQsIGFuZCBmYWxsIGJhY2sKPiB0byBQSU8gaWYgdGhl IGRlc2NyaXB0b3IgY2Fubm90IGJlIGFsbG9jYXRlZC4KPgo+IEhhcmR3YXJlIHRlc3Rpbmcgb24g YW4gSDYxNiBib2FyZCB3aXRoIDIgS2lCLXBhZ2UgU0xDIE5BTkQKPiBjb25maXJtZWQgdGhhdCB0 aGUgZGVzY3JpcHRvciBwYXRoIGltcHJvdmVzIHN1c3RhaW5lZCByZWFkIHRocm91Z2hwdXQuCgpJ IHdvdWxkIGJlIG5pY2UgdG8gc2hvdyB0aGUgb3V0cHV0IG9mIGEgZmxhc2hfc3BlZWQgLWRjMTAw IC9kZXYvbXRkWApiZWZvcmUgYW5kIGFmdGVyLgoKPiBTaWduZWQtb2ZmLWJ5OiBKYW1lcyBIaWxs aWFyZCA8amFtZXMuaGlsbGlhcmQxQGdtYWlsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9tdGQvbmFu ZC9yYXcvc3VueGlfbmFuZC5jIHwgMTEwICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQo+ ICAxIGZpbGUgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jIGIvZHJpdmVycy9t dGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jCj4gaW5kZXggMDI2NDc1NjVjOGJhLi44YTEzNmI5ZmE3 Y2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jCj4gKysr IGIvZHJpdmVycy9tdGQvbmFuZC9yYXcvc3VueGlfbmFuZC5jCj4gQEAgLTc5LDYgKzc5LDEwIEBA Cj4gICNkZWZpbmUgTkZDX1JFR19INl9NRE1BX0JVRl9BRERSIDB4MDIxMAo+ICAjZGVmaW5lIE5G Q19SRUdfSDZfTURNQV9DTlQJMHgwMjE0Cj4gIAo+ICsjZGVmaW5lIE5GQ19NRE1BX0RFU0NfTEFT VAlCSVQoMikKPiArI2RlZmluZSBORkNfTURNQV9ERVNDX0ZJUlNUCUJJVCgzKQo+ICsjZGVmaW5l IE5GQ19NRE1BX0RFU0NfU0laRV9NQVNLCUdFTk1BU0soMTUsIDApCj4gKwo+ICAjZGVmaW5lIE5G Q19SQU0wX0JBU0UJCTB4MDQwMAo+ICAjZGVmaW5lIE5GQ19SQU0xX0JBU0UJCTB4MDgwMAo+ICAK PiBAQCAtMjY3LDEyICsyNzEsMTkgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgc3VueGlfbmFuZF9j aGlwICp0b19zdW54aV9uYW5kKHN0cnVjdCBuYW5kX2NoaXAgKm5hbmQpCj4gIAlyZXR1cm4gY29u dGFpbmVyX29mKG5hbmQsIHN0cnVjdCBzdW54aV9uYW5kX2NoaXAsIG5hbmQpOwo+ICB9Cj4gIAo+ ICtzdHJ1Y3Qgc3VueGlfbmZjX21kbWFfZGVzYyB7Cj4gKwlfX2xlMzIgY29uZmlnOwo+ICsJX19s ZTMyIHNpemU7Cj4gKwlfX2xlMzIgYnVmOwo+ICsJX19sZTMyIG5leHQ7Cj4gK307CgpTaG91bGRu J3QgdGhpcyBiZSBkZWNsYXJlZCBfX3BhY2tlZCBhbmQgcG9zc2libHkgZXZlbiBfX2FsaWduZWQ/ Cgo+ICAvKgo+ICAgKiBOQU5EIENvbnRyb2xsZXIgY2FwYWJpbGl0aWVzIHN0cnVjdHVyZTogc3Rv cmVzIE5BTkQgY29udHJvbGxlciBjYXBhYmlsaXRpZXMKPiAgICogZm9yIGRpc3RpbmN0aW9uIGJl dHdlZW4gY29tcGF0aWJsZSBzdHJpbmdzLgo+ICAgKgo+IC0gKiBAaGFzX21kbWE6CQlVc2UgbWJ1 cyBkbWEgbW9kZSwgb3RoZXJ3aXNlIGdlbmVyYWwgZG1hCj4gLSAqCQkJdGhyb3VnaCBNQlVTIG9u IEEyMy9BMzMgbmVlZHMgZXh0cmEgY29uZmlndXJhdGlvbi4KPiArICogQGhhc19tZG1hOgkJVXNl IEEyMy9BMzMtc3R5bGUgTUJVUyBETUEgcmVnaXN0ZXJzCj4gKyAqIEBoYXNfbWRtYV9kZXNjOglN QlVTIERNQSB1c2VzIEg2LXN0eWxlIGRlc2NyaXB0b3JzCj4gICAqIEBoYXNfZWNjX2Jsb2NrXzUx MjoJSWYgdGhlIEVDQyBjYW4gaGFuZGxlIDUxMkIgb3Igb25seSAxMDI0QiBjaHVua3MKPiAgICog QGhhc19lY2NfY2xrOglJZiB0aGUgY29udHJvbGxlciBuZWVkcyBhbiBFQ0MgY2xvY2suCj4gICAq IEBoYXNfbWJ1c19jbGs6CUlmIHRoZSBjb250cm9sbGVyIG5lZWRzIGEgbWJ1cyBjbG9jay4KPiBA QCAtMzA0LDYgKzMxNSw3IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHN1bnhpX25hbmRfY2hpcCAq dG9fc3VueGlfbmFuZChzdHJ1Y3QgbmFuZF9jaGlwICpuYW5kKQo+ICAgKi8KPiAgc3RydWN0IHN1 bnhpX25mY19jYXBzIHsKPiAgCWJvb2wgaGFzX21kbWE7Cj4gKwlib29sIGhhc19tZG1hX2Rlc2M7 Cj4gIAlib29sIGhhc19lY2NfYmxvY2tfNTEyOwo+ICAJYm9vbCBoYXNfZWNjX2NsazsKPiAgCWJv b2wgaGFzX21idXNfY2xrOwo+IEBAIC0zNDYsNiArMzU4LDggQEAgc3RydWN0IHN1bnhpX25mY19j YXBzIHsKPiAgICoJICAgY29udHJvbGxlcgo+ICAgKiBAY29tcGxldGU6IGEgY29tcGxldGlvbiBv YmplY3QgdXNlZCB0byB3YWl0IGZvciBOQU5EIGNvbnRyb2xsZXIgZXZlbnRzCj4gICAqIEBkbWFj OiB0aGUgRE1BIGNoYW5uZWwgYXR0YWNoZWQgdG8gdGhlIE5BTkQgY29udHJvbGxlcgo+ICsgKiBA bWRtYV9kZXNjOiBINi1zdHlsZSBNQlVTIERNQSBkZXNjcmlwdG9yCj4gKyAqIEBtZG1hX2Rlc2Nf ZG1hOiBETUEgYWRkcmVzcyBvZiBAbWRtYV9kZXNjCj4gICAqIEBjYXBzOiBOQU5EIENvbnRyb2xs ZXIgY2FwYWJpbGl0aWVzCj4gICAqLwo+ICBzdHJ1Y3Qgc3VueGlfbmZjIHsKPiBAQCAtMzYyLDYg KzM3Niw4IEBAIHN0cnVjdCBzdW54aV9uZmMgewo+ICAJc3RydWN0IGxpc3RfaGVhZCBjaGlwczsK PiAgCXN0cnVjdCBjb21wbGV0aW9uIGNvbXBsZXRlOwo+ICAJc3RydWN0IGRtYV9jaGFuICpkbWFj Owo+ICsJc3RydWN0IHN1bnhpX25mY19tZG1hX2Rlc2MgKm1kbWFfZGVzYzsKPiArCWRtYV9hZGRy X3QgbWRtYV9kZXNjX2RtYTsKPiAgCWNvbnN0IHN0cnVjdCBzdW54aV9uZmNfY2FwcyAqY2FwczsK PiAgfTsKPiAgCj4gQEAgLTM3MCw2ICszODYsMTEgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qgc3Vu eGlfbmZjICp0b19zdW54aV9uZmMoc3RydWN0IG5hbmRfY29udHJvbGxlciAqY3RybCkKPiAgCXJl dHVybiBjb250YWluZXJfb2YoY3RybCwgc3RydWN0IHN1bnhpX25mYywgY29udHJvbGxlcik7Cj4g IH0KPiAgCj4gK3N0YXRpYyBib29sIHN1bnhpX25mY191c2VzX21kbWEoY29uc3Qgc3RydWN0IHN1 bnhpX25mYyAqbmZjKQoKbWF5IEkgc3VnZ2VzdCBzdW54aV9uZmNfdXNlX21kbWE/Cgo+ICt7Cj4g KwlyZXR1cm4gbmZjLT5jYXBzLT5oYXNfbWRtYSB8fCBuZmMtPm1kbWFfZGVzYzsKCkkgZG9uJ3Qg Z2V0IHRoZSB8fCB0aGVyZT8gV2hhdCBhcmUgeW91IHRyeWluZyB0byBjaGVjayBleGFjdGx5PwoK PiArfQo+ICsKPiAgc3RhdGljIGlycXJldHVybl90IHN1bnhpX25mY19pbnRlcnJ1cHQoaW50IGly cSwgdm9pZCAqZGV2X2lkKQo+ICB7Cj4gIAlzdHJ1Y3Qgc3VueGlfbmZjICpuZmMgPSBkZXZfaWQ7 Cj4gQEAgLTQ2Niw3ICs0ODcsOSBAQCBzdGF0aWMgaW50IHN1bnhpX25mY19kbWFfb3BfcHJlcGFy ZShzdHJ1Y3Qgc3VueGlfbmZjICpuZmMsIGNvbnN0IHZvaWQgKmJ1ZiwKPiAgewo+ICAJc3RydWN0 IGRtYV9hc3luY190eF9kZXNjcmlwdG9yICpkbWFkOwo+ICAJZW51bSBkbWFfdHJhbnNmZXJfZGly ZWN0aW9uIHRkaXI7Cj4gKwlkbWFfYWRkcl90IGJ1Zl9kbWE7Cj4gIAlkbWFfY29va2llX3QgZG1h dDsKPiArCWludCBsZW4gPSBjaHVua3NpemUgKiBuY2h1bmtzOwo+ICAJaW50IHJldDsKPiAgCj4g IAlpZiAoZGRpciA9PSBETUFfRlJPTV9ERVZJQ0UpCj4gQEAgLTQ3NCwxMiArNDk3LDIxIEBAIHN0 YXRpYyBpbnQgc3VueGlfbmZjX2RtYV9vcF9wcmVwYXJlKHN0cnVjdCBzdW54aV9uZmMgKm5mYywg Y29uc3Qgdm9pZCAqYnVmLAo+ICAJZWxzZQo+ICAJCXRkaXIgPSBETUFfTUVNX1RPX0RFVjsKPiAg Cj4gLQlzZ19pbml0X29uZShzZywgYnVmLCBuY2h1bmtzICogY2h1bmtzaXplKTsKPiArCXNnX2lu aXRfb25lKHNnLCBidWYsIGxlbik7Cj4gIAlyZXQgPSBkbWFfbWFwX3NnKG5mYy0+ZGV2LCBzZywg MSwgZGRpcik7Cj4gIAlpZiAoIXJldCkKPiAgCQlyZXR1cm4gLUVOT01FTTsKPiAgCj4gLQlpZiAo IW5mYy0+Y2Fwcy0+aGFzX21kbWEpIHsKPiArCWJ1Zl9kbWEgPSBzZ19kbWFfYWRkcmVzcyhzZyk7 Cj4gKwo+ICsJaWYgKG5mYy0+bWRtYV9kZXNjICYmCj4gKwkgICAgKGxlbiA+IE5GQ19NRE1BX0RF U0NfU0laRV9NQVNLIHx8ICFJU19BTElHTkVEKGxlbiwgOCkgfHwKPiArCSAgICAgIUlTX0FMSUdO RUQoYnVmX2RtYSwgNCkgfHwgdXBwZXJfMzJfYml0cyhidWZfZG1hKSkpIHsKPiArCQlyZXQgPSAt RUlOVkFMOwo+ICsJCWdvdG8gZXJyX3VubWFwX2J1ZjsKPiArCX0KPiArCj4gKwlpZiAoIXN1bnhp X25mY191c2VzX21kbWEobmZjKSkgewo+ICAJCWRtYWQgPSBkbWFlbmdpbmVfcHJlcF9zbGF2ZV9z ZyhuZmMtPmRtYWMsIHNnLCAxLCB0ZGlyLCBETUFfQ1RSTF9BQ0spOwo+ICAJCWlmICghZG1hZCkg ewo+ICAJCQlyZXQgPSAtRUlOVkFMOwo+IEBAIC00ODksMTQgKzUyMSwzMCBAQCBzdGF0aWMgaW50 IHN1bnhpX25mY19kbWFfb3BfcHJlcGFyZShzdHJ1Y3Qgc3VueGlfbmZjICpuZmMsIGNvbnN0IHZv aWQgKmJ1ZiwKPiAgCj4gIAl3cml0ZWwocmVhZGwobmZjLT5yZWdzICsgTkZDX1JFR19DVEwpIHwg TkZDX1JBTV9NRVRIT0QsCj4gIAkgICAgICAgbmZjLT5yZWdzICsgTkZDX1JFR19DVEwpOwo+IC0J d3JpdGVsKG5jaHVua3MsIG5mYy0+cmVncyArIE5GQ19SRUdfU0VDVE9SX05VTSk7Cj4gKwl3cml0 ZWwobmZjLT5tZG1hX2Rlc2MgPyBHRU5NQVNLKG5jaHVua3MgLSAxLCAwKSA6IG5jaHVua3MsCgpW ZXJ5IHVuY2xlYXIsIGNhbiB0aGlzIGJlIHNpbXBsaWZpZWQgb3IgYXQgbGVhc3QgZXhwbGFpbmVk PwoKPiArCSAgICAgICBuZmMtPnJlZ3MgKyBORkNfUkVHX1NFQ1RPUl9OVU0pOwo+ICAJd3JpdGVs KGNodW5rc2l6ZSwgbmZjLT5yZWdzICsgTkZDX1JFR19DTlQpOwo+ICAKPiAtCWlmIChuZmMtPmNh cHMtPmhhc19tZG1hKSB7Cj4gKwlpZiAoc3VueGlfbmZjX3VzZXNfbWRtYShuZmMpKQo+ICAJCXdy aXRlbChyZWFkbChuZmMtPnJlZ3MgKyBORkNfUkVHX0NUTCkgJiB+TkZDX0RNQV9UWVBFX05PUk1B TCwKPiAgCQkgICAgICAgbmZjLT5yZWdzICsgTkZDX1JFR19DVEwpOwo+IC0JCXdyaXRlbChjaHVu a3NpemUgKiBuY2h1bmtzLCBuZmMtPnJlZ3MgKyBORkNfUkVHX01ETUFfQ05UKTsKPiAtCQl3cml0 ZWwoc2dfZG1hX2FkZHJlc3Moc2cpLCBuZmMtPnJlZ3MgKyBORkNfUkVHX01ETUFfQUREUik7Cj4g Kwo+ICsJaWYgKG5mYy0+bWRtYV9kZXNjKSB7Cj4gKwkJc3RydWN0IHN1bnhpX25mY19tZG1hX2Rl c2MgKmRlc2MgPSBuZmMtPm1kbWFfZGVzYzsKPiArCj4gKwkJZGVzYy0+Y29uZmlnID0gY3B1X3Rv X2xlMzIoTkZDX01ETUFfREVTQ19GSVJTVCB8Cj4gKwkJCQkJICAgTkZDX01ETUFfREVTQ19MQVNU KTsKPiArCQlkZXNjLT5zaXplID0gY3B1X3RvX2xlMzIobGVuKTsKPiArCQlkZXNjLT5idWYgPSBj cHVfdG9fbGUzMihsb3dlcl8zMl9iaXRzKGJ1Zl9kbWEpKTsKCkRvZXMgbG93ZXJfMzJfYml0cygp IG1lYW4gYW55dGhpbmcgaGVyZSBzaW5jZSB5b3UgYWxyZWFkeSBjaGVjayBmb3IgdGhlCnVwcGVy IGJpdHMgYmVmb3JlPyBUaGlzIGNoZWNrIG1heSBldmVuIGJlIHJlZHVuZGFudCBnaXZlbiB0aGUg ZmFjdCB0aGF0CnRoZSBhZGRyZXNzaW5nIGNhcGFiaWxpdHkgaGFzIGFscmVhZHkgYmVlbiBzZXQg dG8gMzIgYml0cywgc28gdGhlCmRtYV9tYXAqIGNhbGwgd291bGQgY2F0Y2ggdGhpcyBhbnl3YXku Cgo+ICsJCWRlc2MtPm5leHQgPSBjcHVfdG9fbGUzMihsb3dlcl8zMl9iaXRzKG5mYy0+bWRtYV9k ZXNjX2RtYSkpOwoKRGl0dG8KClBsdXMsIHRoZSBlbmRpYW5uZXNzIG9mIHRoZSBjb250cm9sbGVy IGlzIGxpdHRsZSBlbmRpYW4sIHNvIHdyaXRlbAphbHJlYWR5IGRvZXMgdGhlIGVuZGlhbm5lc3Mg Y29udmVyc2lvbiBpZiBuZWVkIGJlLiBjcHVfdG9fbGUzMigpIGhlcmUKc2VlbXMgaXJyZWxldmFu dC4KCj4gKwo+ICsJCXdyaXRlbChCSVQoMCksIG5mYy0+cmVncyArIE5GQ19SRUdfSDZfTURNQV9T VEEpOwoKQklUKDApIHNob3VsZCBiZSAjZGVmaW5lJ2QKCj4gKwkJZG1hX3dtYigpOwo+ICsJCXdy aXRlbChsb3dlcl8zMl9iaXRzKG5mYy0+bWRtYV9kZXNjX2RtYSksCj4gKwkJICAgICAgIG5mYy0+ cmVncyArIE5GQ19SRUdfSDZfTURNQV9ETEJBX1JFRyk7Cj4gKwl9IGVsc2UgaWYgKG5mYy0+Y2Fw cy0+aGFzX21kbWEpIHsKPiArCQl3cml0ZWwobGVuLCBuZmMtPnJlZ3MgKyBORkNfUkVHX01ETUFf Q05UKTsKPiArCQl3cml0ZWwoYnVmX2RtYSwgbmZjLT5yZWdzICsgTkZDX1JFR19NRE1BX0FERFIp Owo+ICAJfSBlbHNlIHsKPiAgCQlkbWF0ID0gZG1hZW5naW5lX3N1Ym1pdChkbWFkKTsKPiAgCj4g QEAgLTUyNSw2ICs1NzMsMTQgQEAgc3RhdGljIHZvaWQgc3VueGlfbmZjX2RtYV9vcF9jbGVhbnVw KHN0cnVjdCBzdW54aV9uZmMgKm5mYywKPiAgCSAgICAgICBuZmMtPnJlZ3MgKyBORkNfUkVHX0NU TCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIHN1bnhpX25mY19kbWFfb3BfYWJvcnQoc3RydWN0 IHN1bnhpX25mYyAqbmZjKQo+ICt7Cj4gKwlpZiAobmZjLT5tZG1hX2Rlc2MpCgpJIHdvdWxkIHBy ZWZlciB0byBzdGljayB0byB0aGUgc2FtZSBjb25kaXRpb24gYWxsIHRoZSB0aW1lIHdoZXRoZXIg d2UKYXJlIHVzaW5nIHBlcmlwaGVyYWwgZG1hIChNRE1BKSBvciBub3QuCgo+ICsJCXN1bnhpX25m Y19yc3QobmZjKTsKPiArCWVsc2UgaWYgKCFuZmMtPmNhcHMtPmhhc19tZG1hKQoKU2hvdWxkbid0 IHRoaXMgYmUgYSAiZWxzZSIgaGVyZT8KCj4gKwkJZG1hZW5naW5lX3Rlcm1pbmF0ZV9hbGwobmZj LT5kbWFjKTsKPiArfQo+ICsKPiAgc3RhdGljIHZvaWQgc3VueGlfbmZjX3NlbGVjdF9jaGlwKHN0 cnVjdCBuYW5kX2NoaXAgKm5hbmQsIHVuc2lnbmVkIGludCBjcykKPiAgewo+ICAJc3RydWN0IG10 ZF9pbmZvICptdGQgPSBuYW5kX3RvX210ZChuYW5kKTsKPiBAQCAtMTIwMiw3ICsxMjU4LDcgQEAg c3RhdGljIGludCBzdW54aV9uZmNfaHdfZWNjX3JlYWRfY2h1bmtzX2RtYShzdHJ1Y3QgbmFuZF9j aGlwICpuYW5kLCB1aW50OF90ICpidWYKPiAgCj4gIAl3YWl0ID0gTkZDX0NNRF9JTlRfRkxBRzsK PiAgCj4gLQlpZiAobmZjLT5jYXBzLT5oYXNfbWRtYSkKPiArCWlmIChzdW54aV9uZmNfdXNlc19t ZG1hKG5mYykpCj4gIAkJd2FpdCB8PSBORkNfRE1BX0lOVF9GTEFHOwo+ICAJZWxzZQo+ICAJCWRt YV9hc3luY19pc3N1ZV9wZW5kaW5nKG5mYy0+ZG1hYyk7CgpUaGFua3MsCk1pcXXDqGwKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eCBN VEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==