From nobody Mon Feb 9 05:14:23 2026 Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) (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 AC6CC3783DC for ; Thu, 29 Jan 2026 07:38:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769672324; cv=none; b=SwffPEnElbF7lB+SJJHnTMfW+bgZYzM0GfJPnXd/8Wm1UOSTIdgiwhgc4UXFyn9/2SEeeNVBION/UP+hyZcIxvrt/N/u6eOS1fzengA53bT2cFu5AaPgNGvRieunlWNRKRmy7Eve2o18kcvzzKyHvKnLJJL1N9wJhhqYQxO+3+E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769672324; c=relaxed/simple; bh=PmaYDRNArfyuojBEcajPNrOJP8kPqJiIHREyZgI5rkY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=g5MK1iEWgch8hVLpSL+hwAcn+N8X2A7nd4TMsQ6aQW/ommhPcv431FPaUKFVmdBIgLWiTGe2my+CxHU+xBayT3x9SwvumcWBfEuB0PiCMuK9Tunbcu8eNoAvnSt7QK4CPT1w7D0iQXDfDPbfxTkb5hkzHWM8NvmTrWY7OoRt5F0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=flipper.net; spf=pass smtp.mailfrom=flipper.net; dkim=pass (2048-bit key) header.d=flipper.net header.i=@flipper.net header.b=4SQCfbk6; arc=none smtp.client-ip=209.85.221.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=flipper.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flipper.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=flipper.net header.i=@flipper.net header.b="4SQCfbk6" Received: by mail-wr1-f46.google.com with SMTP id ffacd0b85a97d-42fbc544b09so577881f8f.1 for ; Wed, 28 Jan 2026 23:38:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=flipper.net; s=google; t=1769672320; x=1770277120; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=TbOIHVaOGbxzrvzjWHvUZsbmdUqai/LursAc/ajXxRQ=; b=4SQCfbk6twnMyuQmc1eO+9aU7/NDkhZpMal3+wp4gTBVvObIDyWBgMxjpStQQcYif+ KBVUKGdceHCEVlpshmhP/ps9CqNy6c2mjyFyAXrOdK5ai4fwlnJAH94plz+yPDyUCZrH KX5qfr1SeY2wVKNE7e4lAypubZ1H4V3IwscJtKSIqmAEw3lYETS/cjbTBhsCm5wktX7Z NKlAVfV3aKMVD8pjz+gmaO8AoBUpQDUr3ipj/5myFbUManFi2IENXpaDVi5YfYniItFa Zsvs7yYRh5kLJiFS7RwXVcUFMeLdnOtbiKOEf/1YYA2UWckm5q/BjQXFNblIWYCGgWdQ pJEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769672320; x=1770277120; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=TbOIHVaOGbxzrvzjWHvUZsbmdUqai/LursAc/ajXxRQ=; b=eZZhURcc/dimlHMLD4ZB7XBtCYvVy80A+9eu2/61bcqbyeJQ5ySiANmM8pWQkI0rFO AOUodi35nlHRBk0iS/MYeDT/dt2EEzzt1JXJlSIf8R3BvkH6tQjjP3lI3vbJvwu9qwVT s5dS+CYrzPvtrCvwy4hapm2uzYyxmgDjLWAtreaOW+bgTrmvzR7gc/WOOTnPVYdOZwAI VDnOKKktyKiTxGhvh5ekbSBgSheCwSC50+C6miYwj9pgsT8/F0MHsn28/ZLbhJ/bXYza n6gCGk9EF0Cze/P/cDemRJWzkGk4Qto6azbPgrfM+yL6fs8hO7tTaONr3Kz0QhDkmiNr 0Kig== X-Forwarded-Encrypted: i=1; AJvYcCVj0xY23zroimDlxvQgfqQZP9CFUdgNF58OEs0W95893/Rkm4gaEiYXuQeOhS2wsqDg+0E7VBjH2zwsfEQ=@vger.kernel.org X-Gm-Message-State: AOJu0YypStdLJYw8hGD1VfTtxf2pC4zSzU4Wq7kUpIQCcSk6fpuYuVtJ nn3zE/uEjwrIHphESQLwlC3MrE8aTRydfL2wMjAzIFpGevuBK/8wwI5fpocRp0F0fzycwCmH0l+ 2y0fY X-Gm-Gg: AZuq6aJpC2N4oib4hOlpmSFc+1DlL3lvXvPpbjqkBObDPRSDyeywg9dU82MOh34Qhy9 ZLJvV2GhxsIxxxk0xJ6EM3Mkqa7K/MOzNml1iIdeHhXhbif3IDtLi7OKimso+RnwT+DILR4JKj2 CJK+UtoRCLQDnRXxo/wiCEJbXloCSO0uX91Z5Wzw9ODM4sNhcdLkpRjoQPXOvf39ii4imcjJ6tx aA9tIVEqf6iqMh+/4Jtv2BOyFl/PGoIF+C0NtGKcle4vSPqogAlU0w1Ts2V4oPfJxEv0DZW/pZ3 Spwsy7w7mbx5UsY6mmqZ44fPl914WJXcV2XkFMDiDTCP1aMAZqj/etzi8bKpb27Tbb4ek7l3cBl moHX0JLG7r8v4KX9PWn02OivKYH3uu6BRafgxS9Vu2KV4Mco7MD1PWedeo6bYcsMEVdQX2a9ECw pOOTDlxUAdr2evDS6hgrtLKg4ttovJb+Itotr2D0F89Agp9CZPVzkBCM/JdQ60P559ng== X-Received: by 2002:a05:6000:310f:b0:435:9ea8:8b83 with SMTP id ffacd0b85a97d-435dd074b85mr11666526f8f.19.1769672320024; Wed, 28 Jan 2026 23:38:40 -0800 (PST) Received: from alchark-surface.localdomain (bba-83-110-134-52.alshamil.net.ae. [83.110.134.52]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-435e10ee040sm12418751f8f.11.2026.01.28.23.38.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jan 2026 23:38:39 -0800 (PST) From: Alexey Charkov Date: Thu, 29 Jan 2026 11:38:35 +0400 Subject: [PATCH] scsi: ufs: core: Fix RPMB region size detection for UFS 2.2 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260129-ufs-rpmb-v1-1-691534ab723f@flipper.net> X-B4-Tracking: v=1; b=H4sIAHoOe2kC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIzMDQyNL3dK0Yt2igtwk3RRDS4tEM0vLRBODFCWg8oKi1LTMCrBR0bG1tQD LvFbbWgAAAA== X-Change-ID: 20260129-ufs-rpmb-d198a699a40d To: Alim Akhtar , Avri Altman , Bart Van Assche , "James E.J. Bottomley" , "Martin K. Petersen" , Bean Huo , Can Guo Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Alexey Charkov X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1922; i=alchark@flipper.net; h=from:subject:message-id; bh=PmaYDRNArfyuojBEcajPNrOJP8kPqJiIHREyZgI5rkY=; b=owGbwMvMwCW2adGNfoHIK0sZT6slMWRW8zUEbZVzCQp6X+lUdITlx1/ZC64pZe5r9jExXvrPH /R68aHujoksDGJcDJZiiixzvy2xnWrEN2uXh8dXmDmsTCBDpEUaGICAhYEvNzGv1EjHSM9U21DP 0FDHWMeIgYtTAKb62iGG/zGG3Keb73xiXBkaW7L+3tnpFs9SgrYXiU6a1vsgd29n9D6G32wp5of F731mSL2auMJjQfyGkrwJO2dWGd2pULxY9aZgHR8A X-Developer-Key: i=alchark@flipper.net; a=openpgp; fpr=9DF6A43D95320E9ABA4848F5B2A2D88F1059D4A5 Older UFS spec devices (2.2 and earlier) do not expose per-region RPMB sizes, as only one RPMB region is supported. In such cases, the size of the single RPMB region can be deduced from the Logical Block Count and Logical Block Size fields in the RPMB Unit Descriptor. Add a fallback mechanism to calculate the RPMB region size from these fields if the device implements an older spec, so that the RPMB driver can work with such devices - otherwise it silently skips the whole RPMB. Section 14.1.4.6 (RPMB Unit Descriptor) Link: https://www.jedec.org/system/files/docs/JESD220C-2_2.pdf Cc: stable@vger.kernel.org Fixes: b06b8c421485 ("scsi: ufs: core: Add OP-TEE based RPMB driver for UFS= devices") Signed-off-by: Alexey Charkov --- drivers/ufs/core/ufshcd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/ufs/core/ufshcd.c b/drivers/ufs/core/ufshcd.c index 52ffd0c3aa4c..80be7d0a0315 100644 --- a/drivers/ufs/core/ufshcd.c +++ b/drivers/ufs/core/ufshcd.c @@ -5249,6 +5249,15 @@ static void ufshcd_lu_init(struct ufs_hba *hba, stru= ct scsi_device *sdev) hba->dev_info.rpmb_region_size[1] =3D desc_buf[RPMB_UNIT_DESC_PARAM_REGI= ON1_SIZE]; hba->dev_info.rpmb_region_size[2] =3D desc_buf[RPMB_UNIT_DESC_PARAM_REGI= ON2_SIZE]; hba->dev_info.rpmb_region_size[3] =3D desc_buf[RPMB_UNIT_DESC_PARAM_REGI= ON3_SIZE]; + + if (hba->dev_info.wspecversion <=3D 0x0220) { + /* Only one RPMB region used, and no per-region size information */ + hba->dev_info.rpmb_region_size[0] =3D + get_unaligned_be64(desc_buf + + RPMB_UNIT_DESC_PARAM_LOGICAL_BLK_COUNT) + << desc_buf[RPMB_UNIT_DESC_PARAM_LOGICAL_BLK_SIZE] + >> 17; /* convert to 128 kBytes units */ + } } =20 =20 --- base-commit: 3f24e4edcd1b8981c6b448ea2680726dedd87279 change-id: 20260129-ufs-rpmb-d198a699a40d Best regards, --=20 Alexey Charkov