[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)
committerhskang <hs1218.kang@samsung.com>
Wed, 19 Dec 2018 09:43:57 +0000 (18:43 +0900)
Change-Id: I35be24402d6762c9c56afa715a50e3be502e5086
Signed-off-by: JaeHun Jung <jh0801.jung@samsung.com>
drivers/scsi/ufs/ufshcd.c

index 84df229a6191dd570d2d23ba6b7fab30356fad0f..ff20dfaf16a9d9632209e94a80ef7c8881694ba3 100644 (file)
@@ -447,13 +447,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);