]> 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)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 17 Sep 2025 01:41:03 +0000 (21:41 -0400)
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>
drivers/ufs/core/ufshcd.c
include/ufs/ufs_quirks.h

index e2157128e3bf4acf4a68ee5948237cba74c81ac8..cfc149f8238ec56938adeecf27bd0418d27485b1 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 },
        {}
 };
 
@@ -8778,7 +8781,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_ */