From nobody Wed Apr 8 02:49:21 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 7204D3C7E1E for ; Tue, 10 Mar 2026 16:30:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773160254; cv=none; b=IbLEV1wVk99lKSUCwPoNjMx06Kft7WO28TGoCBz7E3Au4e41zvIbfQOtrBQAB1hLPw/IAeb8EmxIysdg8v9HhpQi68R2WLpwm9KRZrm49j1N2ar09cxoxB4RwMaMQaTTtKQIbazeCPBMauXSO0pPQFR/YrXVqkeUJPMMYdBCzzc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773160254; c=relaxed/simple; bh=KY9e1GCaOffjpp3xwcrkqy3piywGdjdRfmyeaQms/pc=; h=Date:From:To:Cc:Subject:Message-ID:MIME-Version:Content-Type: Content-Disposition; b=uqXkSsou149w+qgPK2/bWV2K3aQachAPMgPty+cdotxaTSDXYg3Bzd47tLqJLEl9MzFXtkb+DZor8sD2kBsl7vg9B4rPONPqC9tjfyULS4XkasIA4AV+ZSyJDQm69/aQActuu8zqL3WuDV+gzKxmFaFNUSS5jPwsMvMIlJfakhw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=RHeTMqLD; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="RHeTMqLD" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-4853e1ce427so25234235e9.3 for ; Tue, 10 Mar 2026 09:30:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1773160252; x=1773765052; darn=vger.kernel.org; h=user-agent:content-disposition:mime-version:message-id:subject:cc :to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=gYBvK2rlSIcllf1TDoPU5OPmatvR57ndq7IdcRF+FTw=; b=RHeTMqLD5lwcNmq/psbR+GFfo1ibRPEcMNi+ZDFUXHMoxo3aYuo6OLaAi5mK0R4oD0 q8iQMhkM5HK2dTIR9pjM9Y43CawUWEC4NYTo5/6dMqkpgFbwzaUPXLg+Iy4y+SV4yqkQ acrDj0Lf021i/VhDc5kQKzrXRTfIi8sqxC6Gf7ONISYecXEikjdBj2sckcGlZLt/LPHW ErRrfPQxi39aJBSbYNJIs7YFGnTlq5UebBQY+ETDgTmbuhQq4P52nWSPW9xyHPaWsq/o qD0LEYM300Twi8G3LkajkRAyTGTNjNv+wTRMMxN7Jvb9439C+A6YW/xpyhwBgMJkxdbq c1kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773160252; x=1773765052; h=user-agent:content-disposition:mime-version:message-id:subject:cc :to:from:date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gYBvK2rlSIcllf1TDoPU5OPmatvR57ndq7IdcRF+FTw=; b=coksMQbcHnhUuWiqstd4IdvPEFxBD+4CskSdWywnzggPkqxRSJ0VGrN+QmXXnOAUvE gzWVIpxdfsDInId8iPjGMDzg2YhT5yDUrW/Ih2iNN5643bWe7wbZ/uiNZycWeMGWsb1A I3owwiHVhDM0gUYd9wj5uVqUFhlZVi2ygEkhTnSOOtgI0DuWWc6kRKo0YzdOCzO406qc AX5S17ezOtGv40bDh5QAq/SoZ0y8sVQj5JYEj7468LW6ry9CNQ5qNX6bRBWY+NSEBqVm GqFOhAlQAma0HRewNudoucvfye435Zx006lEVzyTH1Z/ezF6eeq1kGpuGiMUkJg+fPF5 5cCg== X-Forwarded-Encrypted: i=1; AJvYcCXE5L5zOtBkkLRqa/FrZtnHquxOLtOobH5G6OcitzwTJYGta7ILCsFrgghCnqO8HFZlRnSYYhtjp9IX+H4=@vger.kernel.org X-Gm-Message-State: AOJu0Yx6GZF10qsLacPvblxE7OsTM8JmvTnd9IPxe3vb+7QLC77Yf000 OVqv+HZQozQ2S4k4uO54AjFQNnmGeUNIaekC+G3iNEFi4ZhC+gtZGxkIfHEplL+Ce1Y= X-Gm-Gg: ATEYQzwW9CK32rqoYVqjx4aWVM1wqTIbOwuTUphEhc/OWj3r5jClP0/TGb/pfV4LTMA ouFcl3OEoBzMYs2TxFRVpCaL+i4mkvqcOJGVQrkifd21QuWRsXeqr3ib9T5YJQDdSo+kT9M2gU8 VZfQ0jrplKMDtRv6Go0V93CoPcJxZ1Rkc/X7HpJK0+JFD8jGlxwg4f7s4rncuCwXs49fTjdaeyj uulFzV3gwuxTbEUCrDT5BpXkfB1rTPdsTLMS+Pg9lE9NVt8bBsn+dT+TeAuNrJkrYMVUi4jRs3p vX/kbYLaCY8Jqs+ukEbpNcbGHhRNxyF+3GXIuFTAmntFv/qLm9DqmFKshgf//cGoxkr197/hMJO 1591IQchdOtxvUSO/OxGTPzSJgXdBKSWldRSkJfyXh68rYKH7k7jcliSGTX820iUTxg8L5qpu3p 543yckKoXiHh7+Iesilmn0lDxuoSWqAMRawBgAH5SO//GwnrylZpVjDKi3MQep X-Received: by 2002:a05:600c:3b0c:b0:483:ad56:8d16 with SMTP id 5b1f17b1804b1-48526918944mr271866725e9.6.1773160251764; Tue, 10 Mar 2026 09:30:51 -0700 (PDT) Received: from r1chard (1-164-69-22.dynamic-ip.hinet.net. [1.164.69.22]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4852f369118sm112376625e9.20.2026.03.10.09.30.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Mar 2026 09:30:51 -0700 (PDT) Date: Wed, 11 Mar 2026 00:30:43 +0800 From: Richard Lyu To: Miquel Raynal Cc: Richard Weinberger , Vignesh Raghavendra , Richard Lyu , Aryan Srivastava , Markus Stockhausen , Thomas Gleixner , Kees Cook , linux-mtd@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] mtd: nand: Use scoped_guard for mutex in nand_resume Message-ID: <20260310163036.300392-1-richard.lyu@suse.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline X-Mailer: git-send-email 2.51.0 User-Agent: Mutt/2.2.13 (2024-03-09) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Refactor nand_resume() to use scoped_guard() instead of explicit mutex_lock/unlock. This improves code safety by ensuring the mutex is always released through the RAII-based cleanup infrastructure. The behavior is functionally equivalent. The mutex is released at the end of the scoped block, after which wake_up_all() is called to preserve the original locking semantics. Signed-off-by: Richard Lyu --- drivers/mtd/nand/raw/nand_base.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_b= ase.c index 770c26f9c6ce..9e3561f34ea8 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -43,6 +43,7 @@ #include #include #include +#include =20 #include "internals.h" =20 @@ -4704,16 +4705,16 @@ static void nand_resume(struct mtd_info *mtd) { struct nand_chip *chip =3D mtd_to_nand(mtd); =20 - mutex_lock(&chip->lock); - if (chip->suspended) { - if (chip->ops.resume) - chip->ops.resume(chip); - chip->suspended =3D 0; - } else { - pr_err("%s called for a chip which is not in suspended state\n", - __func__); + scoped_guard(mutex, &chip->lock) { + if (chip->suspended) { + if (chip->ops.resume) + chip->ops.resume(chip); + chip->suspended =3D 0; + } else { + pr_err("%s called for a chip which is not in suspended state\n", + __func__); + } } - mutex_unlock(&chip->lock); =20 wake_up_all(&chip->resume_wq); } --=20 2.51.0