From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (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 2772E41B8ED for ; Wed, 12 Aug 2026 09:52:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786528375; cv=none; b=uauQB4e/rWa4poKkw50ns43jd2nc18WJvK6MQLgpcxeDSQaYz2riu18aP0n4+luMbN7zJw4fOomxdfAcS/8jdKZOGTmFBcJfVESvkNJOKS49PIBiIWkrBDn0wXmyu/KMOUWSS19m/ZnBGYMDmiB5eAncDUKZHqSBrGAnwhMduQk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786528375; c=relaxed/simple; bh=T1EhCmFEcSjEqBNeyrrPjG7fW+eojEjbUy7M7mg603k=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Y+7mskDpNSOlHm/Fp/mlIQ3bVxBnSkKplFyrlx9dIMeB0xTP0ZUPC5h7gVRU4v+zmVc7+7/cl6xuz7j0stDOvxnos5br16AxXuN5rV9/rmjxQQ/V4lsi1gDrsHs+6frJxXx4qfrQDO1j8Lbi4SViPQo7TXmCciE9o/lkmzNj3ow= 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=o3XQtkEB; arc=none smtp.client-ip=209.85.128.43 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="o3XQtkEB" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-490cf322ed0so6705345e9.1 for ; Wed, 12 Aug 2026 02:52:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1786528372; x=1787133172; darn=vger.kernel.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=3cTk/lAwXPpqDHGidQ3rLoRd93BhVrEFxxCVH5bApmU=; b=o3XQtkEBqPJZFDEJJ/YYKsXBqJNya+8dXPjWulha9R13+CvqFA+JrZ2J9dg2NALp9f fZxoXAQtjvL0AwTW8MBTkMUEjrY736oJWDLatBHrkBpmSRtj4vyslOWPHWj5tcvUYb4q FeqHol2QAv1jpmdwBas0Buxs/xhJbSsp2kjXGLT8KjFS4Oqb4gNDZxvAojQtL/+ccUz0 RiurhwO7AxwcW0ovGVXDp/XEG8s+4gNSO1S8XwF0zDaTPUheuuSOhY2V3LfPf7Ii/h0o CFRh3Wy5v7dogCBTiQZoUFm2PubnCpd+Abeg61l/gelup1whzehZ/VvgYPxAOkNZ7aK+ OVEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786528372; x=1787133172; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=3cTk/lAwXPpqDHGidQ3rLoRd93BhVrEFxxCVH5bApmU=; b=TTItMfAN/N+c6bI8vm0Af2mSGsmo14vc+RGTtu9VVoYiN7G45d71MrvH433WZnZCaq yTVhbSTrOG0N0NM13kNgDvULXLlTphf6JoyVsKC+ZA4b1OQhZA1jm8XpWGXOvleTBGhJ Ch3oObjGvz3OOxGK7DzjsMJvBYACI2oK7nocDtfyEColRkNN66bt1Ssk6i8pfJS2filI FGAMzu0wRdxVdnxL4ZbJ/dSjqhtETyoDnepPvobKhUG6/fzBqkV/ZBYM1NwIlh35YXsi vYBTPzFVFXy50pcVRtpPcM5z2Xmbbr1g5zIMe0FGWgJt4iG2fb05tBaB1/La8ZBc3viE TGjQ== X-Forwarded-Encrypted: i=1; AHgh+RrHoxuVYfebVFGW3YMKxz03HZCeYIfO0ukXYhpqtEZdtujgV6GCiglk3kn9ux4WjsZ6u1E1vRUlSpIAy1A=@vger.kernel.org X-Gm-Message-State: AOJu0YyvTWjtUGvx4OMxVZazoxayA/7z9QRzOO0R5QYAdPJ1cGwLvRcx AnwnVtjTdl3J0Tot432jjJCPnWX1HwEe14q+dS2HgsRnA7YYemK5YVaFQ+fXScFVV8g= X-Gm-Gg: AR+sD11P8BvhNfXLdMUBFvjiBnxKiZSAbACTVwQv/J5J2AHJr/9b+yX7FuaByUWZfaG Y3ozurARRV6IM5DfwWXzUIObyjms2ah1gjSktdtKhZbRHoG1f4xvVQNQJ5j4Nzf2utohcbCiDyo EMOJYjYQc+cyZ+tpV/RS0sVhH8z/jKme4JWUbtjrrPCRBliFRBIr/zIQ2JkL4469XqyHSlr4Uhk Vpq7rqxYtGwVSHc2K2SGJ+1N72X2IVM+Pt0Uj1HVLTD/zYDZFLQzLu6s/YpVWvA7kL5qflD8qYH BktabZ8pVUXkzEmQp1aufbjOGniMO7Hryz3BOii0UZl5TiGQzq+a5gVzyfXj/Rvq3saTAY8yTYZ xcH8b/xWOKmkp/NFrPBAqDjFJSqk2fZrHtPoLDOB3XJozXcdYCKeivxiGEl9FkVEaUmRbxBUAFO Zakjhgu5wJmhifmENFaNizZlxpsAwtgRL9k2PmHGnlBgCC97KrFF+xcXw4LqRJNhK6+AAsxw== X-Received: by 2002:a05:6000:470b:b0:481:5657:5299 with SMTP id ffacd0b85a97d-481565752a7mr1318883f8f.0.1786528372417; Wed, 12 Aug 2026 02:52:52 -0700 (PDT) Received: from [192.168.0.252] ([79.115.63.18]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48150b78648sm6399552f8f.0.2026.08.12.02.52.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 Aug 2026 02:52:52 -0700 (PDT) Message-ID: Date: Wed, 12 Aug 2026 12:52:48 +0300 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mtd: spi-nor: Unprepare legacy controllers upon RWW wait interruption To: Miquel Raynal , Pratyush Yadav , Michael Walle , Takahiro Kuwano , Richard Weinberger , Vignesh Raghavendra Cc: Thomas Petazzoni , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org References: <20260811-perso-rww-fixes-v1-1-5866a70e5d1c@bootlin.com> Content-Language: en-US From: Tudor Ambarus In-Reply-To: <20260811-perso-rww-fixes-v1-1-5866a70e5d1c@bootlin.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit On 8/11/26 6:56 PM, Miquel Raynal wrote: > All the parallel locking helpers (spi_nor_prep_and_lock(), > spi_nor_prep_and_lock_pe() and spi_nor_prep_and_lock_rd()) call > spi_nor_prep() then wait with a killable sleep. If the sleep gets > killed, we leave the controller in its prepared state. > > Call ->unprepare() in these cases. We don't even care about SPI NOR controllers. I stopped adding/accepting new support for them few years ago, so that we encourage people to update the drivers to use SPI MEM. The alternative is to drop prep unprep entirely. Anyway, all good, regardless the path chosen: Acked-by: Tudor Ambarus > > Fixes: 74df43b3f626 ("mtd: spi-nor: Enhance locking to support reads while writes") > Cc: stable@vger.kernel.org > Signed-off-by: Miquel Raynal > --- > drivers/mtd/spi-nor/core.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c > index 8bc117b46e02..250e996284f9 100644 > --- a/drivers/mtd/spi-nor/core.c > +++ b/drivers/mtd/spi-nor/core.c > @@ -1346,6 +1346,9 @@ int spi_nor_prep_and_lock(struct spi_nor *nor) > ret = wait_event_killable(nor->rww.wait, > spi_nor_rww_start_exclusive(nor)); > > + if (ret) > + spi_nor_unprep(nor); > + > return ret; > } > > @@ -1417,6 +1420,9 @@ static int spi_nor_prep_and_lock_pe(struct spi_nor *nor, loff_t start, size_t le > ret = wait_event_killable(nor->rww.wait, > spi_nor_rww_start_pe(nor, start, len)); > > + if (ret) > + spi_nor_unprep(nor); > + > return ret; > } > > @@ -1490,6 +1496,9 @@ static int spi_nor_prep_and_lock_rd(struct spi_nor *nor, loff_t start, size_t le > ret = wait_event_killable(nor->rww.wait, > spi_nor_rww_start_rd(nor, start, len)); > > + if (ret) > + spi_nor_unprep(nor); > + > return ret; > } > > > --- > base-commit: db5f6418501f9795a96026b764d747179a231b2b > change-id: 20260811-perso-rww-fixes-016cdd229647 > > Best regards,