From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (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 598684C98 for ; Wed, 3 Apr 2024 06:30:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712125815; cv=none; b=nwKvPdpNTfPB8cvtSdNQPE4l1c2QsWFP53UNHdR76NoJHRBmIaGnwe5AdT7pd1yXMWX4G0EamCwgDNYeSl4bUujR/nQuwLZbAsC+sAuCUJ+G8pCi8aJV54GkNtcRXVOd6tzjyCILBX9aUEbdGvIsGsz0WGUHiI9DVmNw6eqrq9Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1712125815; c=relaxed/simple; bh=8sgnSowpaMZh5S2Y6ZK1p1McE5Xqmbt7t1FamwDhRVo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=kPKuIH1qAHG9bGjRQ4wrWZnun0DO4SmH+BWdPnrsNJvkNRdmShUnpPpToQuQh2oJrpOmfXerSNq0re2CzYDbynAZr3heNoLmlu8akp9V2IX2uiFcGebIOfgHCMzKJolqmmKEMSB0BL6uIhngSDyJNV5DrizNWiz8xgXeXYNmiHI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=yHfXDpzA; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="yHfXDpzA" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-1e0ae065d24so50916775ad.1 for ; Tue, 02 Apr 2024 23:30:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712125814; x=1712730614; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=7RD/Ll+en1rNJsL6MJyoQafEtmHmvnu+TP2GShmlV2E=; b=yHfXDpzAJb1GnWuhHW8WH2qmAtf4Am8P4pjtM86LyRqCDS6Qkwuw8ViaasHoziQuhv CWF3hug2o5T/0WSOu6LC9dz2u4WCyss6dXD+FM42fk3NwXBun2W1p3u6Qio1cc+H2fyL zy2pKjtn0uE7Z8Kft9aJRV0rICmOSpkIYGvdYT6sddfFxtpE/LJxE+obYvwg32Z0uZFY Jm0Ggmb7XJzG2QQSRqxff/CGOY7SncJLgRqfH5D+CPud72URHXKh0SDdPLYoypPMT6cp INzL2G/U77Ik4uRG69Vhpx94G1BTcVgf9EoGskijmWN9I53X/jChYGzcFn089Faoabgs ecZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712125814; x=1712730614; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7RD/Ll+en1rNJsL6MJyoQafEtmHmvnu+TP2GShmlV2E=; b=HPNK85hjHMenSnzal3pC4kwSW15Lz0G5sW8yL9NW12VFQgpaQ2u0Cu/HeFC1g0dCtM dOtEUWPT+4SlImevOJiFNvRPJldkOGyjBGZX66NbqAImm0vwGeDmC3j6y/B0CDoN5p48 OLx4Jkhxuta3slT9k4G1s/TIs+BdCS0U0h6PoMoqY+VOQFYo+6bMsDeNgq2WlJw/XtEp 4OFBCKSpQuzrYRoODtFOv9jubMI1BGX2Zc/D9Nr4R+JY92PABCPCx/FZh+MPxO7EjeHK m3GHb6A4bzE97F/7PmFnLnAAgk/dBGjFCvzCQ5Bw6lrED7Mea9roSiAVnqN1cgvvoIRy o8yQ== X-Forwarded-Encrypted: i=1; AJvYcCVYsG09vaUq7IrYp2t8TK96zAPyJV9Fov9sCKXX8oKR0S9P+FYyU0SQB0ReFJXV29owCQUVDeQGFsQiqtEO0HWaTvqiL/HZtUElUANzhQ== X-Gm-Message-State: AOJu0YyWfFsevMuiJ+iF44gHOahPbAddjPK0qPNZ8o1vkJSwCKhEbOBu TulUrYOgoBb35/UfqSr0NqKtnZz/3PEG8QSCnyX4JQYtFGahSkk1Fdzh1cGTkA== X-Google-Smtp-Source: AGHT+IFB1/jew2jwqrDsxXrqrjGsZHTMzuxqjY1GHMh3+JdUbou30h3sipXmeEKmZIIzGMunMk8+TA== X-Received: by 2002:a17:902:dacf:b0:1e2:367:9879 with SMTP id q15-20020a170902dacf00b001e203679879mr15757623plx.45.1712125813278; Tue, 02 Apr 2024 23:30:13 -0700 (PDT) Received: from thinkpad ([103.246.195.197]) by smtp.gmail.com with ESMTPSA id d14-20020a170903230e00b001e06c1eed85sm12341503plh.141.2024.04.02.23.30.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 23:30:12 -0700 (PDT) Date: Wed, 3 Apr 2024 12:00:08 +0530 From: Manivannan Sadhasivam To: Christian Marangi Cc: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Sricharan Ramabadhran , Md Sadre Alam , linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v3] mtd: rawnand: qcom: Fix broken misc_cmd_type in exec_op Message-ID: <20240403063008.GA25309@thinkpad> References: <20240402214136.29237-1-ansuelsmth@gmail.com> Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240402214136.29237-1-ansuelsmth@gmail.com> On Tue, Apr 02, 2024 at 11:41:34PM +0200, Christian Marangi wrote: > misc_cmd_type in exec_op have multiple problems. With commit a82990c8a409 > ("mtd: rawnand: qcom: Add read/read_start ops in exec_op path") it was > reworked and generalized but actually dropped the handling of the > OP_RESET_DEVICE command. > > The rework itself was correct with supporting case where a single misc > command is handled, but became problematic by the addition of exiting > early if we didn't had an OP_BLOCK_ERASE or an OP_PROGRAM_PAGE operation. > > Also additional logic was added without clear explaination causing the > OP_RESET_DEVICE command to be broken on testing it on a ipq806x nandc. > > Add some additional logic to restore OP_RESET_DEVICE command handling > restoring original functionality. > I'd like to reword the commit subject and description as below. But I hope Miquel can ammend it while applying: "mtd: rawnand: qcom: Fix broken OP_RESET_DEVICE command in qcom_misc_cmd_type_exec() While migrating to exec_ops in commit a82990c8a409 ("mtd: rawnand: qcom: Add read/read_start ops in exec_op path"), OP_RESET_DEVICE command handling got broken unintentionally. Right now for the OP_RESET_DEVICE command, qcom_misc_cmd_type_exec() will simply return 0 without handling it. Even, if that gets fixed, an unnecessary FLASH_STATUS read descriptor command is being added in the middle and that seems to be causing the command to fail on IPQ806x devices. So let's fix the above two issues to make OP_RESET_DEVICE command working again." > Fixes: a82990c8a409 ("mtd: rawnand: qcom: Add read/read_start ops in exec_op path") > Cc: stable@vger.kernel.org > Signed-off-by: Christian Marangi With the above change, Reviewed-by: Manivannan Sadhasivam - Mani > --- > Changes v3: > - Merge patches > - Rework commit description > Changes v2: > - Split patches > > drivers/mtd/nand/raw/qcom_nandc.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/mtd/nand/raw/qcom_nandc.c b/drivers/mtd/nand/raw/qcom_nandc.c > index b079605c84d3..b8cff9240b28 100644 > --- a/drivers/mtd/nand/raw/qcom_nandc.c > +++ b/drivers/mtd/nand/raw/qcom_nandc.c > @@ -2815,7 +2815,7 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub > host->cfg0_raw & ~(7 << CW_PER_PAGE)); > nandc_set_reg(chip, NAND_DEV0_CFG1, host->cfg1_raw); > instrs = 3; > - } else { > + } else if (q_op.cmd_reg != OP_RESET_DEVICE) { > return 0; > } > > @@ -2830,9 +2830,8 @@ static int qcom_misc_cmd_type_exec(struct nand_chip *chip, const struct nand_sub > nandc_set_reg(chip, NAND_EXEC_CMD, 1); > > write_reg_dma(nandc, NAND_FLASH_CMD, instrs, NAND_BAM_NEXT_SGL); > - (q_op.cmd_reg == OP_BLOCK_ERASE) ? write_reg_dma(nandc, NAND_DEV0_CFG0, > - 2, NAND_BAM_NEXT_SGL) : read_reg_dma(nandc, > - NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL); > + if (q_op.cmd_reg == OP_BLOCK_ERASE) > + write_reg_dma(nandc, NAND_DEV0_CFG0, 2, NAND_BAM_NEXT_SGL); > > write_reg_dma(nandc, NAND_EXEC_CMD, 1, NAND_BAM_NEXT_SGL); > read_reg_dma(nandc, NAND_FLASH_STATUS, 1, NAND_BAM_NEXT_SGL); > -- > 2.43.0 > -- மணிவண்ணன் சதாசிவம் 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 D49E3C6FD1F for ; Wed, 3 Apr 2024 06:30:29 +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=/07LWfUzKKY0rmFesq6PmdsFfVHi+I7G7rGAf/Xpl+M=; b=IKc5NzKx54moFp 0yzGw+VBlfgpmMR0LOjcL5+KsWc5MECjZ2z20M3g/61Nehy2oKN+mSf5IUqG1dNPlxlos6yA3ezjr BQiIyZYZ2slYhCY7CbGs7pgYGEpTKtuCJ8WE+3ml2vfQKLqtOs1DTr6a5JX/E0fb22S9EAxfhXI7O Qy8hg5uKd+mox3c6PdpnudpXc7DyQ8V6pSl+ak3KbC2zc7VLy13NlEr159XU0g8gX0qXsfXFiYSul HjV1Qlb6jveD7WVDyAwOtidsC7Zcq73TkiG/+40ErGkpb+qo0ijSVy6ciR4eXEO6X/3BuTIKUCP2J DX+jIZUs9X1qPJDSGhyA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rru8c-0000000EGEL-0t8Y; Wed, 03 Apr 2024 06:30:22 +0000 Received: from mail-pl1-x633.google.com ([2607:f8b0:4864:20::633]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rru8Y-0000000EGDY-3kZ6 for linux-mtd@lists.infradead.org; Wed, 03 Apr 2024 06:30:20 +0000 Received: by mail-pl1-x633.google.com with SMTP id d9443c01a7336-1e0411c0a52so50948765ad.0 for ; Tue, 02 Apr 2024 23:30:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1712125814; x=1712730614; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=7RD/Ll+en1rNJsL6MJyoQafEtmHmvnu+TP2GShmlV2E=; b=xmttgyGopCq5Bu5KBGRvE9IHHVozRramv6LsXtKqpCfeep7sibHZ+Yzg5FLxdKjM48 86JhEH6zzAhxknwqL3YaM0QGtyLQAEFnFYOaLOluqExqgva+cBjMUYKyELKSGC68Cm/9 sJA6+rBYMyZeroEllNTWXR3ayaaX/fm/s7N12BB5+JMCVDqZ767RZk0rScBN7Efu7NT0 Sq5Na+PQgl1LZZGunP8HgJlz1uMGTQiaw9ZYeqBDn53AuadUHrkyvgXyAoYJjr/cO767 w1rGaVt26dE3N7QH+b4ZcknEPqPQi5tS/7ZVUQvGbyHOM2+Hdh772T/89uWsLI99683Q iMuQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712125814; x=1712730614; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=7RD/Ll+en1rNJsL6MJyoQafEtmHmvnu+TP2GShmlV2E=; b=cJnNrJduXApsIB1WbUYlwfvD0vFbh0gP65ZntZaAljcvQ+AbBsxQ/wU4SD37GHkhgm ACrL532ttMK9MxIY+CV9s06q5Tz/FP4Lrxlc+INaEy904N9UhH67fxtfYzQaNTfWqDnA /M22UMifkOW4GJEqnFerz3oa8ZxD+gUkNvgaSe/WkPt7A6D9DPRg9iKbJrFc728VEi94 G7/z+7c5SK9dtBX7jsm3sXFTl2Pz3L3USEDQP9kwUtyn8W6uNxxL6JCSgbucCCuIkQhS HutcqHRs7GhVDgMs6OQbfIf69b+MqpWBa8mc22yekgvCpXzHQevZVXjy3Ck185dra0YN 2mXQ== X-Forwarded-Encrypted: i=1; AJvYcCV4rl/W6WcoYy9uGURAAMps5jiFkzqPrtV+v8HLZwtahhE1LaRyX+G/AfY/mlI9ChMh4c/3xq5+vgP62rjJQja1Ep1UWCf8Ol/jY5D/Mw== X-Gm-Message-State: AOJu0YwVd3lmQpqVZLwTUUpVufnnmdrKleZmR/cQJpJOzPtXTiSBv6a+ bL13z6nM2y9XRF9qynm5a47vTmipOeViFgfr3tL3EjOGPr4xLWxhxAcVf5XU3A== X-Google-Smtp-Source: AGHT+IFB1/jew2jwqrDsxXrqrjGsZHTMzuxqjY1GHMh3+JdUbou30h3sipXmeEKmZIIzGMunMk8+TA== X-Received: by 2002:a17:902:dacf:b0:1e2:367:9879 with SMTP id q15-20020a170902dacf00b001e203679879mr15757623plx.45.1712125813278; Tue, 02 Apr 2024 23:30:13 -0700 (PDT) Received: from thinkpad ([103.246.195.197]) by smtp.gmail.com with ESMTPSA id d14-20020a170903230e00b001e06c1eed85sm12341503plh.141.2024.04.02.23.30.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Apr 2024 23:30:12 -0700 (PDT) Date: Wed, 3 Apr 2024 12:00:08 +0530 From: Manivannan Sadhasivam To: Christian Marangi Cc: Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Sricharan Ramabadhran , Md Sadre Alam , linux-mtd@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [PATCH v3] mtd: rawnand: qcom: Fix broken misc_cmd_type in exec_op Message-ID: <20240403063008.GA25309@thinkpad> References: <20240402214136.29237-1-ansuelsmth@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240402214136.29237-1-ansuelsmth@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240402_233019_142507_78314A06 X-CRM114-Status: GOOD ( 23.35 ) 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 T24gVHVlLCBBcHIgMDIsIDIwMjQgYXQgMTE6NDE6MzRQTSArMDIwMCwgQ2hyaXN0aWFuIE1hcmFu Z2kgd3JvdGU6Cj4gbWlzY19jbWRfdHlwZSBpbiBleGVjX29wIGhhdmUgbXVsdGlwbGUgcHJvYmxl bXMuIFdpdGggY29tbWl0IGE4Mjk5MGM4YTQwOQo+ICgibXRkOiByYXduYW5kOiBxY29tOiBBZGQg cmVhZC9yZWFkX3N0YXJ0IG9wcyBpbiBleGVjX29wIHBhdGgiKSBpdCB3YXMKPiByZXdvcmtlZCBh bmQgZ2VuZXJhbGl6ZWQgYnV0IGFjdHVhbGx5IGRyb3BwZWQgdGhlIGhhbmRsaW5nIG9mIHRoZQo+ IE9QX1JFU0VUX0RFVklDRSBjb21tYW5kLgo+IAo+IFRoZSByZXdvcmsgaXRzZWxmIHdhcyBjb3Jy ZWN0IHdpdGggc3VwcG9ydGluZyBjYXNlIHdoZXJlIGEgc2luZ2xlIG1pc2MKPiBjb21tYW5kIGlz IGhhbmRsZWQsIGJ1dCBiZWNhbWUgcHJvYmxlbWF0aWMgYnkgdGhlIGFkZGl0aW9uIG9mIGV4aXRp bmcKPiBlYXJseSBpZiB3ZSBkaWRuJ3QgaGFkIGFuIE9QX0JMT0NLX0VSQVNFIG9yIGFuIE9QX1BS T0dSQU1fUEFHRSBvcGVyYXRpb24uCj4gCj4gQWxzbyBhZGRpdGlvbmFsIGxvZ2ljIHdhcyBhZGRl ZCB3aXRob3V0IGNsZWFyIGV4cGxhaW5hdGlvbiBjYXVzaW5nIHRoZQo+IE9QX1JFU0VUX0RFVklD RSBjb21tYW5kIHRvIGJlIGJyb2tlbiBvbiB0ZXN0aW5nIGl0IG9uIGEgaXBxODA2eCBuYW5kYy4K PiAKPiBBZGQgc29tZSBhZGRpdGlvbmFsIGxvZ2ljIHRvIHJlc3RvcmUgT1BfUkVTRVRfREVWSUNF IGNvbW1hbmQgaGFuZGxpbmcKPiByZXN0b3Jpbmcgb3JpZ2luYWwgZnVuY3Rpb25hbGl0eS4KPiAK CkknZCBsaWtlIHRvIHJld29yZCB0aGUgY29tbWl0IHN1YmplY3QgYW5kIGRlc2NyaXB0aW9uIGFz IGJlbG93LiBCdXQgSSBob3BlCk1pcXVlbCBjYW4gYW1tZW5kIGl0IHdoaWxlIGFwcGx5aW5nOgoK Im10ZDogcmF3bmFuZDogcWNvbTogRml4IGJyb2tlbiBPUF9SRVNFVF9ERVZJQ0UgY29tbWFuZCBp biBxY29tX21pc2NfY21kX3R5cGVfZXhlYygpCgpXaGlsZSBtaWdyYXRpbmcgdG8gZXhlY19vcHMg aW4gY29tbWl0IGE4Mjk5MGM4YTQwOSAoIm10ZDogcmF3bmFuZDogcWNvbToKQWRkIHJlYWQvcmVh ZF9zdGFydCBvcHMgaW4gZXhlY19vcCBwYXRoIiksIE9QX1JFU0VUX0RFVklDRSBjb21tYW5kIGhh bmRsaW5nCmdvdCBicm9rZW4gdW5pbnRlbnRpb25hbGx5LiBSaWdodCBub3cgZm9yIHRoZSBPUF9S RVNFVF9ERVZJQ0UgY29tbWFuZCwKcWNvbV9taXNjX2NtZF90eXBlX2V4ZWMoKSB3aWxsIHNpbXBs eSByZXR1cm4gMCB3aXRob3V0IGhhbmRsaW5nIGl0LiBFdmVuLAppZiB0aGF0IGdldHMgZml4ZWQs IGFuIHVubmVjZXNzYXJ5IEZMQVNIX1NUQVRVUyByZWFkIGRlc2NyaXB0b3IgY29tbWFuZCBpcwpi ZWluZyBhZGRlZCBpbiB0aGUgbWlkZGxlIGFuZCB0aGF0IHNlZW1zIHRvIGJlIGNhdXNpbmcgdGhl IGNvbW1hbmQgdG8gZmFpbApvbiBJUFE4MDZ4IGRldmljZXMuCgpTbyBsZXQncyBmaXggdGhlIGFi b3ZlIHR3byBpc3N1ZXMgdG8gbWFrZSBPUF9SRVNFVF9ERVZJQ0UgY29tbWFuZCB3b3JraW5nCmFn YWluLiIKCj4gRml4ZXM6IGE4Mjk5MGM4YTQwOSAoIm10ZDogcmF3bmFuZDogcWNvbTogQWRkIHJl YWQvcmVhZF9zdGFydCBvcHMgaW4gZXhlY19vcCBwYXRoIikKPiBDYzogc3RhYmxlQHZnZXIua2Vy bmVsLm9yZwo+IFNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBNYXJhbmdpIDxhbnN1ZWxzbXRoQGdt YWlsLmNvbT4KCldpdGggdGhlIGFib3ZlIGNoYW5nZSwKClJldmlld2VkLWJ5OiBNYW5pdmFubmFu IFNhZGhhc2l2YW0gPG1hbml2YW5uYW4uc2FkaGFzaXZhbUBsaW5hcm8ub3JnPgoKLSBNYW5pCgo+ IC0tLQo+IENoYW5nZXMgdjM6Cj4gLSBNZXJnZSBwYXRjaGVzCj4gLSBSZXdvcmsgY29tbWl0IGRl c2NyaXB0aW9uCj4gQ2hhbmdlcyB2MjoKPiAtIFNwbGl0IHBhdGNoZXMKPiAKPiAgZHJpdmVycy9t dGQvbmFuZC9yYXcvcWNvbV9uYW5kYy5jIHwgNyArKystLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAz IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv bXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYyBiL2RyaXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFu ZGMuYwo+IGluZGV4IGIwNzk2MDVjODRkMy4uYjhjZmY5MjQwYjI4IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvbXRkL25hbmQvcmF3L3Fjb21fbmFuZGMuYwo+ICsrKyBiL2RyaXZlcnMvbXRkL25hbmQv cmF3L3Fjb21fbmFuZGMuYwo+IEBAIC0yODE1LDcgKzI4MTUsNyBAQCBzdGF0aWMgaW50IHFjb21f bWlzY19jbWRfdHlwZV9leGVjKHN0cnVjdCBuYW5kX2NoaXAgKmNoaXAsIGNvbnN0IHN0cnVjdCBu YW5kX3N1Ygo+ICAJCQkgICAgICBob3N0LT5jZmcwX3JhdyAmIH4oNyA8PCBDV19QRVJfUEFHRSkp Owo+ICAJCW5hbmRjX3NldF9yZWcoY2hpcCwgTkFORF9ERVYwX0NGRzEsIGhvc3QtPmNmZzFfcmF3 KTsKPiAgCQlpbnN0cnMgPSAzOwo+IC0JfSBlbHNlIHsKPiArCX0gZWxzZSBpZiAocV9vcC5jbWRf cmVnICE9IE9QX1JFU0VUX0RFVklDRSkgewo+ICAJCXJldHVybiAwOwo+ICAJfQo+ICAKPiBAQCAt MjgzMCw5ICsyODMwLDggQEAgc3RhdGljIGludCBxY29tX21pc2NfY21kX3R5cGVfZXhlYyhzdHJ1 Y3QgbmFuZF9jaGlwICpjaGlwLCBjb25zdCBzdHJ1Y3QgbmFuZF9zdWIKPiAgCW5hbmRjX3NldF9y ZWcoY2hpcCwgTkFORF9FWEVDX0NNRCwgMSk7Cj4gIAo+ICAJd3JpdGVfcmVnX2RtYShuYW5kYywg TkFORF9GTEFTSF9DTUQsIGluc3RycywgTkFORF9CQU1fTkVYVF9TR0wpOwo+IC0JKHFfb3AuY21k X3JlZyA9PSBPUF9CTE9DS19FUkFTRSkgPyB3cml0ZV9yZWdfZG1hKG5hbmRjLCBOQU5EX0RFVjBf Q0ZHMCwKPiAtCTIsIE5BTkRfQkFNX05FWFRfU0dMKSA6IHJlYWRfcmVnX2RtYShuYW5kYywKPiAt CU5BTkRfRkxBU0hfU1RBVFVTLCAxLCBOQU5EX0JBTV9ORVhUX1NHTCk7Cj4gKwlpZiAocV9vcC5j bWRfcmVnID09IE9QX0JMT0NLX0VSQVNFKQo+ICsJCXdyaXRlX3JlZ19kbWEobmFuZGMsIE5BTkRf REVWMF9DRkcwLCAyLCBOQU5EX0JBTV9ORVhUX1NHTCk7Cj4gIAo+ICAJd3JpdGVfcmVnX2RtYShu YW5kYywgTkFORF9FWEVDX0NNRCwgMSwgTkFORF9CQU1fTkVYVF9TR0wpOwo+ICAJcmVhZF9yZWdf ZG1hKG5hbmRjLCBOQU5EX0ZMQVNIX1NUQVRVUywgMSwgTkFORF9CQU1fTkVYVF9TR0wpOwo+IC0t IAo+IDIuNDMuMAo+IAoKLS0gCuCuruCuo+Cuv+CuteCuo+CvjeCuo+CuqeCvjSDgrprgrqTgrr7g rprgrr/grrXgrq7gr40KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpMaW51eCBNVEQgZGlzY3Vzc2lvbiBtYWlsaW5nIGxpc3QKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1tdGQvCg==