]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: ufs: core: Disable timestamp functionality if not supported
authorBart Van Assche <bvanassche@acm.org>
Tue, 9 Sep 2025 19:06:07 +0000 (12:06 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 13 Nov 2025 20:37:25 +0000 (15:37 -0500)
[ Upstream commit fb1f4568346153d2f80fdb4ffcfa0cf4fb257d3c ]

Some Kioxia UFS 4 devices do not support the qTimestamp attribute.  Set
the UFS_DEVICE_QUIRK_NO_TIMESTAMP_SUPPORT for these devices such that no
error messages appear in the kernel log about failures to set the
qTimestamp attribute.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Reviewed-by: Avri Altman <avri.altman@sandisk.com>
Tested-by: Nitin Rawat <quic_nitirawa@quicinc.com> # on SM8650-QRD
Reviewed-by: Nitin Rawat <quic_nitirawa@quicinc.com>
Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Message-ID: <20250909190614.3531435-1-bvanassche@acm.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/ufs/core/ufshcd.c
include/ufs/ufs_quirks.h

index 8bb6c4821696307e458d7f423760ff7ce843ba52..bd6d1d4c824278c8b5a3722d64f93f8b78eb684c 100644 (file)
@@ -316,6 +316,9 @@ static const struct ufs_dev_quirk ufs_fixups[] = {
        { .wmanufacturerid = UFS_VENDOR_TOSHIBA,
          .model = "THGLF2G9D8KBADG",
          .quirk = UFS_DEVICE_QUIRK_PA_TACTIVATE },
+       { .wmanufacturerid = UFS_VENDOR_TOSHIBA,
+         .model = "THGJFJT1E45BATP",
+         .quirk = UFS_DEVICE_QUIRK_NO_TIMESTAMP_SUPPORT },
        {}
 };
 
@@ -8794,7 +8797,8 @@ static void ufshcd_set_timestamp_attr(struct ufs_hba *hba)
        struct ufs_dev_info *dev_info = &hba->dev_info;
        struct utp_upiu_query_v4_0 *upiu_data;
 
-       if (dev_info->wspecversion < 0x400)
+       if (dev_info->wspecversion < 0x400 ||
+           hba->dev_quirks & UFS_DEVICE_QUIRK_NO_TIMESTAMP_SUPPORT)
                return;
 
        ufshcd_dev_man_lock(hba);
index f52de5ed1b3b6ebf7475d5cd42b6cb9967278d26..83563247c36cb26863a3ad5fb304218f6150fa31 100644 (file)
@@ -113,4 +113,7 @@ struct ufs_dev_quirk {
  */
 #define UFS_DEVICE_QUIRK_PA_HIBER8TIME          (1 << 12)
 
+/* Some UFS 4 devices do not support the qTimestamp attribute */
+#define UFS_DEVICE_QUIRK_NO_TIMESTAMP_SUPPORT  (1 << 13)
+
 #endif /* UFS_QUIRKS_H_ */