[RAMEN9610-9575][9610: UFS] Fix mainline bug fix
authorJaeHun Jung <jh0801.jung@samsung.com>
Fri, 14 Dec 2018 11:06:43 +0000 (19:06 +0800)
committerCosmin Tanislav <demonsingur@gmail.com>
Mon, 22 Apr 2024 17:23:09 +0000 (20:23 +0300)
Change-Id: I35be24402d6762c9c56afa715a50e3be502e5086
Signed-off-by: JaeHun Jung <jh0801.jung@samsung.com>
drivers/scsi/ufs/ufshcd.c

index 2dcadce607bc40e0b43087a6c3270d76ee0f209b..271cf70e45ae99510a75cabfa40b9a94df430e55 100644 (file)
@@ -449,13 +449,16 @@ void ufshcd_print_trs(struct ufs_hba *hba, unsigned long bitmap, bool pr_prdt)
                ufshcd_hex_dump("UPIU RSP: ", lrbp->ucd_rsp_ptr,
                                sizeof(struct utp_upiu_rsp));
 
-               prdt_length = le16_to_cpu(
-                       lrbp->utr_descriptor_ptr->prd_table_length);
+               if (hba->quirks & UFSHCD_QUIRK_PRDT_BYTE_GRAN)
+                       prdt_length = le16_to_cpu(lrbp->utr_descriptor_ptr->prd_table_length)
+                               / sizeof(struct ufshcd_sg_entry);
+               else
+                       prdt_length = le16_to_cpu(lrbp->utr_descriptor_ptr->prd_table_length);
+
                dev_err(hba->dev,
                        "UPIU[%d] - PRDT - %d entries  phys@0x%llx\n",
                        tag, prdt_length,
                        (u64)lrbp->ucd_prdt_dma_addr);
-
                if (pr_prdt)
                        ufshcd_hex_dump("UPIU PRDT: ", lrbp->ucd_prdt_ptr,
                                sizeof(struct ufshcd_sg_entry) * prdt_length);