From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 56CE422D9F7 for ; Fri, 3 Oct 2025 07:11:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759475505; cv=none; b=ZfTJeHCtU2tuxum1WMf0z2PSnZUlBYgRdiyj3ORBOu0+KbZY5IDAVaK/99knHWZXIfu6+lFSma4VOGYi/Lfs2wijis5pKJd8pgM6EeFq2l6AqrSvvwjYrbBUAFLRsTq6tIvxtAhIDczBxOJASlHIAayh4cmiubt5rxLXdzTHRMA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1759475505; c=relaxed/simple; bh=TTxdTD0qrzLrrCaMNkOve6v4phYVAcCdQB6/qu5185s=; h=Message-ID:Subject:From:To:Cc:Date:In-Reply-To:References: Content-Type:MIME-Version; b=SElTgO5KAKrpn3QmjaPXc8NshnRGW5FFR0vGU+8wzrjwkoBHOOaZrnliSj9LCHQuv+XCdX3fb+S5UIdWVks4C66/jqg8JKkb+4VhVJwfRH18hFcNSMq/ISI1TDLMgBzYs3yWI1O240BIGUXXGp8oJ1Q4fU+xmAScNuxJzwh0eVM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=F/YeOyyS; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="F/YeOyyS" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-3f0308469a4so962765f8f.0 for ; Fri, 03 Oct 2025 00:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759475501; x=1760080301; darn=vger.kernel.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=TTxdTD0qrzLrrCaMNkOve6v4phYVAcCdQB6/qu5185s=; b=F/YeOyySZirBeNfYGdfKYdY9cBB7obgFB8cLdD00B0i4ZZVRw4Irq+dg4+/l/DB6uG K3jTrK8oJRzevRBX9NUPVuZ8xxZwiL4xHcwsIpxFBQCUHE9s7mkhoHyxLpR+22aFQ+rG 29R0RYSmbsX/EYdf7PrHzRqD/lbP2M8sJ6CAt6KKnSGfCQ7ECabolJz1F/e+JOvYIcJf mkcDGxUsioFP3sa3EAl9SlVprSS9TowlVcWmADbD9zPWf80xNADxRpId9h2Em6Ir59r7 DxGDNFSd3j2x1pqGw1MWYYJ1GpaqNvQ2alQh0ECDOeTmrdbaCU4KWDfApD0X/IRyNW25 4B+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759475501; x=1760080301; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=TTxdTD0qrzLrrCaMNkOve6v4phYVAcCdQB6/qu5185s=; b=V5gIQ9yYCzcgA9jICw8PNQI5OvECzaIhe/ODF0UtOwjvyUuz6J87H3QBbYNf9H4LFn aZE2KOEBSDd8hgidqtmAMAIir3hLiVa5z/a8cu/+WJpOnkJ1z2P8R/FMsy6H/holLUZq BCbIxYg+kP3bV4rq7e0VZEZWSxZ+sL0dCjX1iUdGIusPHJ62hQdGJIulMeBpKLZQivKz V12GgR3LmiHueQ1NrCWuZNhyUQgd1M4HkpJsZkgL/di4OpSPvIR+UrZ+0grjRDpZHCOc /H+3UKVBl2SuNmJg6App9ty62qky80SecA19/j2mNwCdxstp8elbMAwq+NrvQdtvX/hq zWAg== X-Gm-Message-State: AOJu0YxIDhQRJIujEo6M77qNLnTJOoYzb/SgGYmpCn+BCdAMUn+lFDLa vCussWCFm6OIa0qmJGqdZbC6qQEhYDeNzau2CZ0lnDk8m+b5KGV4nGx/ X-Gm-Gg: ASbGncu8VPBdlZOufsnC2v1lgHwGXQRKtc5Akf0w4BVaeTlLjWQ0N7BKb2P463QThnW DcEYot7VAhDY0siDnjUn4w6wH0c8OS37B90+2Pw+slfp8qu2atahvuF4SgGwREVja7bdDRy1EhB el4zP/OWzJ9RbRvWbTIFnCfpPpfq3KuZGOUtH2pecNqgnlZiSCy0t0ELOIQwNa68W/98o14P6QD OizunYeFmtCUnDbxeshgkHkcnBiPy548ntVclmBuV4OPSHN0iTDiD7qWvmY6/+A2AWatmFowXbt qoGyDEG0TRcSjXVZdCPvEbec1nVm3HvtNvaD/NAxzMbOY/MMm+qo9Lpjm2nHDjLg6iUQN17+s4b g551jQgEEXrf1IbBV3Z3H9ssaV8haJVUbJxzHC1H7ODB1rPujrHLpyuLkI+9UrWlzHCGlHgmGAE OS2dpsbGg6rZe8Yh1zCLc= X-Google-Smtp-Source: AGHT+IHqWFi2BLQ0cVS+khKobEBxNPtfPbRj1ymj+bynoA6uQC+hJYkUKkr9+tDxPq4xLIhwJ9iAcA== X-Received: by 2002:a05:6000:238a:b0:3fc:e880:8bc with SMTP id ffacd0b85a97d-4256716b82fmr1001053f8f.16.1759475501330; Fri, 03 Oct 2025 00:11:41 -0700 (PDT) Received: from ?IPv6:2001:818:ea56:d000:94c4:fb0e:28f:2a8d? ([2001:818:ea56:d000:94c4:fb0e:28f:2a8d]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4255d8abf0bsm6528976f8f.17.2025.10.03.00.11.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Oct 2025 00:11:40 -0700 (PDT) Message-ID: Subject: Re: [PATCH 1/3] iio: buffer: support getting dma channel from the buffer From: Nuno =?ISO-8859-1?Q?S=E1?= To: David Lechner , nuno.sa@analog.com Cc: linux-iio@vger.kernel.org, Jonathan Cameron , Andy Shevchenko Date: Fri, 03 Oct 2025 07:12:35 +0100 In-Reply-To: References: <20251002-fix-iio-dmabuf-get-dma-device-v1-0-c1c9945029d0@analog.com> <20251002-fix-iio-dmabuf-get-dma-device-v1-1-c1c9945029d0@analog.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.56.2 (3.56.2-2.fc42) Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 T24gVGh1LCAyMDI1LTEwLTAyIGF0IDE4OjE0ICswMjAwLCBEYXZpZCBMZWNobmVyIHdyb3RlOgo+ IE9uIFRodSwgT2N0IDIsIDIwMjUgYXQgNTowNuKAr1BNIE51bm8gU8OhIHZpYSBCNCBSZWxheQo+ IDxkZXZudWxsK251bm8uc2EuYW5hbG9nLmNvbUBrZXJuZWwub3JnPiB3cm90ZToKPiA+IAo+ID4g RnJvbTogTnVubyBTw6EgPG51bm8uc2FAYW5hbG9nLmNvbT4KPiA+IAo+ID4gQWRkIGEgbmV3IGJ1 ZmZlciBhY2Nlc3NvciAuZ2V0X2RtYV9kZXYoKSBpbiBvcmRlciB0byBnZXQgdGhlCj4gPiBzdHJ1 Y3QgZGV2aWNlIHJlc3BvbnNpYmxlIGZvciBhY3R1YWxseSBwcm92aWRpbmcgdGhlIGRtYSBjaGFu bmVsLiBXZQo+ID4gY2Fubm90IGFzc3VtZSB0aGF0IHdlIGNhbiB1c2UgdGhlIHBhcmVudCBvZiB0 aGUgSUlPIGRldmljZSBmb3IgbWFwcGluZwo+ID4gdGhlIERNQSBidWZmZXIuIFRoaXMgYmVjb21l cyBpbXBvcnRhbnQgb24gc3lzdGVtcyAobGlrZSB0aGUgWGlsaW54L0FNRAo+ID4genlucU1QIFVs dHJhc2NhbGUpIHdoZXJlIG1lbW9yeSAob3IgcGFydCBvZiBpdCkgaXMgbWFwcGVkIGFib3ZlIHRo ZQo+ID4gMzIgYml0IHJhbmdlLiBPbiBzdWNoIHN5c3RlbXMgYW5kIGdpdmVuIHRoYXQgYSBkZXZp Y2UgYnkgZGVmYXVsdCBoYXMKPiA+IGEgZG1hIG1hc2sgb2YgMzIgYml0cyB3ZSB3b3VsZCB0aGVu IG5lZWQgdG8gcmVseSBvbiBib3VuY2UgYnVmZmVycyAodG8KPiA+IHN3aW90bGIpIGZvciBtYXBw aW5nIG1lbW9yeSBhYm92ZSB0aGUgZG1hIG1hc2sgbGltaXQuCj4gPiAKPiA+IEZpeGVzOiAzZTI2 ZDlmMDhmYmUgKCJpaW86IGNvcmU6IEFkZCBuZXcgRE1BQlVGIGludGVyZmFjZSBpbmZyYXN0cnVj dHVyZSIpCj4gCj4gRG9lcyB0aGlzIGFjdHVhbGx5IGZpeCBpdCBvciBpcyBpdCBqdXN0IGEgcHJl cmVxdWlzaXRlIGZvciBhIGxhdGVyCj4gZml4PyAoSW4gdGhhdCBjYXNlLCB0aGlzIHdvdWxkIGp1 c3QgYmUgQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcpCgpZZWFoLCB0aGF0IGNhbWUgdG8gbWlu ZCBhbmQgSSBlbmRlZCB1cCBkb2luZyB3aXRoIGEgZml4ZXMgb24gYWxsIHRocmVlIHBhdGNoZXMu IEJ1dApuYXR1cmFsbHkgdGhlICJyZWFsIiBmaXggaXMgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSB0 aHJlZSBwYXRjaGVzIG90aGVyd2lzZSB3ZSBzdGlsbApnZXQgdGhlIHBhcmVudCBkZXZpY2UuIFNv IEkgZGlkIHRob3VnaHQgYWJvdXQgQ0Npbmcgc3RhYmxlIHdpdGggZGVwZW5kZW5jaWVzIHRvIHRo ZQpvdGhlciBwYXRjaGVzLiBPciBtYXliZSBkb2luZyB0aGF0IHRoZSBsYXN0IHBhdGNoIHdpdGgg ZGVwZW5kZW5jaWVzIHRoZSBmaXJzdCB0d28/CgotIE51bm8gU8OhCgo+IAo+ID4gU2lnbmVkLW9m Zi1ieTogTnVubyBTw6EgPG51bm8uc2FAYW5hbG9nLmNvbT4KPiA+IC0tLQo+ID4gwqBkcml2ZXJz L2lpby9pbmR1c3RyaWFsaW8tYnVmZmVyLmMgfCAyOCArKysrKysrKysrKysrKysrKysrKysrLS0t LS0tCj4gPiDCoGluY2x1ZGUvbGludXgvaWlvL2J1ZmZlcl9pbXBsLmjCoMKgIHzCoCAyICsrCj4g PiDCoDIgZmlsZXMgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiA+ IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaWlvL2luZHVzdHJpYWxpby1idWZmZXIuYyBiL2Ry aXZlcnMvaWlvL2luZHVzdHJpYWxpby0KPiA+IGJ1ZmZlci5jCj4gPiBpbmRleAo+ID4gZjE0NDhh ZTFiODQzZmM1Nzc1OTlmYzFiOWNmNmQ4NTliYmEyMjZmMS4uMjc5YzdkNzE2YmY1ZDQ2N2Q0MGI1 YzI5MDc4OWZjYmQxZjk0OTY2Cj4gPiAwIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9paW8vaW5k dXN0cmlhbGlvLWJ1ZmZlci5jCj4gPiArKysgYi9kcml2ZXJzL2lpby9pbmR1c3RyaWFsaW8tYnVm ZmVyLmMKPiA+IEBAIC0xNjI3LDE1ICsxNjI3LDIwIEBAIHN0YXRpYyBzdHJ1Y3QgZG1hX2J1Zl9h dHRhY2htZW50ICoKPiA+IMKgaWlvX2J1ZmZlcl9maW5kX2F0dGFjaG1lbnQoc3RydWN0IGlpb19k ZXZfYnVmZmVyX3BhaXIgKmliLAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmLCBib29sIG5vbmJsb2Nr KQo+ID4gwqB7Cj4gPiAtwqDCoMKgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRldiA9IGliLT5pbmRp b19kZXYtPmRldi5wYXJlbnQ7Cj4gPiArwqDCoMKgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRtYV9k ZXY7Cj4gPiDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWlvX2J1ZmZlciAqYnVmZmVyID0gaWItPmJ1 ZmZlcjsKPiA+IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfYnVmX2F0dGFjaG1lbnQgKmF0dGFj aCA9IE5VTEw7Cj4gPiDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWlvX2RtYWJ1Zl9wcml2ICpwcml2 Owo+ID4gCj4gPiArwqDCoMKgwqDCoMKgIGlmIChidWZmZXItPmFjY2Vzcy0+Z2V0X2RtYV9kZXYp Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkbWFfZGV2ID0gYnVmZmVyLT5hY2Nl c3MtPmdldF9kbWFfZGV2KGJ1ZmZlcik7Cj4gPiArwqDCoMKgwqDCoMKgIGVsc2UKPiA+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRtYV9kZXYgPSBpYi0+aW5kaW9fZGV2LT5kZXYucGFy ZW50Owo+ID4gKwo+IAo+IFRoaXMgZ2V0cyByZXBlYXRlZCAzIHRpbWVzLCBzbyBtYXliZSB3b3J0 aCBhZGRpbmcgYSBoZWxwZXIgZnVuY3Rpb24/Cj4gCj4gPiDCoMKgwqDCoMKgwqDCoCBndWFyZCht dXRleCkoJmJ1ZmZlci0+ZG1hYnVmc19tdXRleCk7Cj4gPiAKPiA+IMKgwqDCoMKgwqDCoMKgIGxp c3RfZm9yX2VhY2hfZW50cnkocHJpdiwgJmJ1ZmZlci0+ZG1hYnVmcywgZW50cnkpIHsKPiA+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChwcml2LT5hdHRhY2gtPmRldiA9PSBkZXYK PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChwcml2LT5hdHRhY2gtPmRldiA9 PSBkbWFfZGV2Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmJiBw cml2LT5hdHRhY2gtPmRtYWJ1ZiA9PSBkbWFidWYpIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYXR0YWNoID0gcHJpdi0+YXR0YWNoOwo+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPiA+IEBA IC0xNjU1LDYgKzE2NjAsNyBAQCBzdGF0aWMgaW50IGlpb19idWZmZXJfYXR0YWNoX2RtYWJ1Zihz dHJ1Y3QKPiA+IGlpb19kZXZfYnVmZmVyX3BhaXIgKmliLAo+ID4gwqDCoMKgwqDCoMKgwqAgc3Ry dWN0IGlpb19idWZmZXIgKmJ1ZmZlciA9IGliLT5idWZmZXI7Cj4gPiDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgZG1hX2J1Zl9hdHRhY2htZW50ICphdHRhY2g7Cj4gPiDCoMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgaWlvX2RtYWJ1Zl9wcml2ICpwcml2LCAqZWFjaDsKPiA+ICvCoMKgwqDCoMKgwqAgc3RydWN0 IGRldmljZSAqZG1hX2RldjsKPiA+IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBkbWFfYnVmICpkbWFi dWY7Cj4gPiDCoMKgwqDCoMKgwqDCoCBpbnQgZXJyLCBmZDsKPiA+IAo+ID4gQEAgLTE2NzksNyAr MTY4NSwxMiBAQCBzdGF0aWMgaW50IGlpb19idWZmZXJfYXR0YWNoX2RtYWJ1ZihzdHJ1Y3QKPiA+ IGlpb19kZXZfYnVmZmVyX3BhaXIgKmliLAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGdvdG8gZXJyX2ZyZWVfcHJpdjsKPiA+IMKgwqDCoMKgwqDCoMKgIH0KPiA+IAo+ID4gLcKg wqDCoMKgwqDCoCBhdHRhY2ggPSBkbWFfYnVmX2F0dGFjaChkbWFidWYsIGluZGlvX2Rldi0+ZGV2 LnBhcmVudCk7Cj4gPiArwqDCoMKgwqDCoMKgIGlmIChidWZmZXItPmFjY2Vzcy0+Z2V0X2RtYV9k ZXYpCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkbWFfZGV2ID0gYnVmZmVyLT5h Y2Nlc3MtPmdldF9kbWFfZGV2KGJ1ZmZlcik7Cj4gPiArwqDCoMKgwqDCoMKgIGVsc2UKPiA+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRtYV9kZXYgPSBpbmRpb19kZXYtPmRldi5wYXJl bnQ7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgIGF0dGFjaCA9IGRtYV9idWZfYXR0YWNoKGRtYWJ1 ZiwgZG1hX2Rldik7Cj4gPiDCoMKgwqDCoMKgwqDCoCBpZiAoSVNfRVJSKGF0dGFjaCkpIHsKPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlcnIgPSBQVFJfRVJSKGF0dGFjaCk7Cj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBlcnJfZG1hYnVmX3B1dDsKPiA+ IEBAIC0xNzE5LDcgKzE3MzAsNyBAQCBzdGF0aWMgaW50IGlpb19idWZmZXJfYXR0YWNoX2RtYWJ1 ZihzdHJ1Y3QKPiA+IGlpb19kZXZfYnVmZmVyX3BhaXIgKmliLAo+ID4gwqDCoMKgwqDCoMKgwqDC oCAqIGNvbWJvLiBJZiB3ZSBkbywgcmVmdXNlIHRvIGF0dGFjaC4KPiA+IMKgwqDCoMKgwqDCoMKg wqAgKi8KPiA+IMKgwqDCoMKgwqDCoMKgIGxpc3RfZm9yX2VhY2hfZW50cnkoZWFjaCwgJmJ1ZmZl ci0+ZG1hYnVmcywgZW50cnkpIHsKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlm IChlYWNoLT5hdHRhY2gtPmRldiA9PSBpbmRpb19kZXYtPmRldi5wYXJlbnQKPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChlYWNoLT5hdHRhY2gtPmRldiA9PSBkbWFfZGV2Cj4g PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmJiBlYWNoLT5hdHRhY2gt PmRtYWJ1ZiA9PSBkbWFidWYpIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgLyoKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAqIFdlIHVubG9ja2VkIHRoZSByZXNlcnZhdGlvbiBvYmplY3QsIHNvIGdv aW5nIHRocm91Z2gKPiA+IEBAIC0xNzU5LDYgKzE3NzAsNyBAQCBzdGF0aWMgaW50IGlpb19idWZm ZXJfZGV0YWNoX2RtYWJ1ZihzdHJ1Y3QKPiA+IGlpb19kZXZfYnVmZmVyX3BhaXIgKmliLAo+ID4g wqDCoMKgwqDCoMKgwqAgc3RydWN0IGlpb19idWZmZXIgKmJ1ZmZlciA9IGliLT5idWZmZXI7Cj4g PiDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaWlvX2RldiAqaW5kaW9fZGV2ID0gaWItPmluZGlvX2Rl djsKPiA+IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBpaW9fZG1hYnVmX3ByaXYgKnByaXY7Cj4gPiAr wqDCoMKgwqDCoMKgIHN0cnVjdCBkZXZpY2UgKmRtYV9kZXY7Cj4gPiDCoMKgwqDCoMKgwqDCoCBz dHJ1Y3QgZG1hX2J1ZiAqZG1hYnVmOwo+ID4gwqDCoMKgwqDCoMKgwqAgaW50IGRtYWJ1Zl9mZCwg cmV0ID0gLUVQRVJNOwo+ID4gCj4gPiBAQCAtMTc2OSwxMSArMTc4MSwxNSBAQCBzdGF0aWMgaW50 IGlpb19idWZmZXJfZGV0YWNoX2RtYWJ1ZihzdHJ1Y3QKPiA+IGlpb19kZXZfYnVmZmVyX3BhaXIg KmliLAo+ID4gwqDCoMKgwqDCoMKgwqAgaWYgKElTX0VSUihkbWFidWYpKQo+ID4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBQVFJfRVJSKGRtYWJ1Zik7Cj4gPiAKPiA+ICvC oMKgwqDCoMKgwqAgaWYgKGJ1ZmZlci0+YWNjZXNzLT5nZXRfZG1hX2RldikKPiA+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRtYV9kZXYgPSBidWZmZXItPmFjY2Vzcy0+Z2V0X2RtYV9k ZXYoYnVmZmVyKTsKPiA+ICvCoMKgwqDCoMKgwqAgZWxzZQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZG1hX2RldiA9IGluZGlvX2Rldi0+ZGV2LnBhcmVudDsKPiA+ICsKPiA+IMKg wqDCoMKgwqDCoMKgIGd1YXJkKG11dGV4KSgmYnVmZmVyLT5kbWFidWZzX211dGV4KTsKPiA+IAo+ ID4gwqDCoMKgwqDCoMKgwqAgbGlzdF9mb3JfZWFjaF9lbnRyeShwcml2LCAmYnVmZmVyLT5kbWFi dWZzLCBlbnRyeSkgewo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHByaXYt PmF0dGFjaC0+ZGV2ID09IGluZGlvX2Rldi0+ZGV2LnBhcmVudAo+ID4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAmJiBwcml2LT5hdHRhY2gtPmRtYWJ1ZiA9PSBkbWFidWYp IHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChwcml2LT5hdHRhY2gtPmRl diA9PSBkbWFfZGV2ICYmIHByaXYtPmF0dGFjaC0+ZG1hYnVmID09Cj4gPiBkbWFidWYpIHsKPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGlzdF9kZWwo JnByaXYtPmVudHJ5KTsKPiA+IAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAvKiBVbnJlZiB0aGUgcmVmZXJlbmNlIGZyb20gaWlvX2J1ZmZlcl9hdHRh Y2hfZG1hYnVmKCkgKi8KPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2lpby9idWZmZXJf aW1wbC5oIGIvaW5jbHVkZS9saW51eC9paW8vYnVmZmVyX2ltcGwuaAo+ID4gaW5kZXgKPiA+IDBk YWZmOWZmMjBjZTQ5ZGU2N2ZhMGYyYWM2MTkxODgyZGUyZjRhNjcuLmMwYjBlMDk5MmE4NWIyODEz YTEyNmMxYTYxZjEzZjFlZDBiNDk4ZAo+ID4gZCAxMDA2NDQKPiA+IC0tLSBhL2luY2x1ZGUvbGlu dXgvaWlvL2J1ZmZlcl9pbXBsLmgKPiA+ICsrKyBiL2luY2x1ZGUvbGludXgvaWlvL2J1ZmZlcl9p bXBsLmgKPiA+IEBAIC01MSw2ICs1MSw3IEBAIHN0cnVjdCBzZ190YWJsZTsKPiA+IMKgICogQGVu cXVldWVfZG1hYnVmOsKgwqDCoCBjYWxsZWQgZnJvbSB1c2Vyc3BhY2UgdmlhIGlvY3RsIHRvIHF1 ZXVlIHRoaXMgRE1BQlVGCj4gPiDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBvYmplY3QgdG8gdGhpcyBidWZmZXIuIFJlcXVpcmVzIGEgdmFsaWQgRE1BQlVGIGZk LCB0aGF0Cj4gPiDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3 YXMgcHJldmlvdWx5IGF0dGFjaGVkIHRvIHRoaXMgYnVmZmVyLgo+ID4gKyAqIEBnZXRfZG1hX2Rl djrCoMKgwqDCoMKgwqAgY2FsbGVkIHRvIGdldCB0aGUgRE1BIGNoYW5uZWwgYXNzb2NpYXRlZCB3 aXRoIHRoaXMKPiA+IGJ1ZmZlci4KPiAKPiBDb3VsZCBwcm9iYWJseSBjbGFyaWZ5IHRoYXQgdGhp cyBpcyByZXF1aXJlZCBmb3IgRE1BIGJ1ZmZlcnMgYnV0Cj4gc2hvdWxkIG5vdCBiZSBwcm92aWRl ZCBmb3Igb3RoZXIgYnVmZmVycy4KPiAKPiA+IMKgICogQGxvY2tfcXVldWU6wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGNhbGxlZCB3aGVuIHRoZSBjb3JlIG5lZWRzIHRvIGxvY2sgdGhl IGJ1ZmZlcgo+ID4gcXVldWU7Cj4gPiDCoCAqwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGl0IGlzIHVzZWQgd2hlbiBlbnF1ZXVlaW5nIERNQUJVRiBvYmplY3RzLgo+ ID4gwqAgKiBAdW5sb2NrX3F1ZXVlOsKgwqDCoMKgwqDCoCB1c2VkIHRvIHVubG9jayBhIHByZXZp b3VzbHkgbG9ja2VkIGJ1ZmZlciBxdWV1ZQo+ID4gQEAgLTkxLDYgKzkyLDcgQEAgc3RydWN0IGlp b19idWZmZXJfYWNjZXNzX2Z1bmNzIHsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGlpb19kbWFfYnVmZmVyX2Jsb2Nr ICpibG9jaywKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UsIHN0cnVjdCBzZ190YWJsZSAq c2d0LAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBzaXplX3Qgc2l6ZSwgYm9vbCBjeWNsaWMpOwo+ID4gK8KgwqDCoMKgwqDCoCBz dHJ1Y3QgZGV2aWNlICogKCpnZXRfZG1hX2Rldikoc3RydWN0IGlpb19idWZmZXIgKmJ1ZmZlcik7 Cj4gPiDCoMKgwqDCoMKgwqDCoCB2b2lkICgqbG9ja19xdWV1ZSkoc3RydWN0IGlpb19idWZmZXIg KmJ1ZmZlcik7Cj4gPiDCoMKgwqDCoMKgwqDCoCB2b2lkICgqdW5sb2NrX3F1ZXVlKShzdHJ1Y3Qg aWlvX2J1ZmZlciAqYnVmZmVyKTsKPiA+IAo+ID4gCj4gPiAtLQo+ID4gMi41MS4wCj4gPiAKPiA+ IAo=