* [PATCH] ufs: fix a bug on printing PRDT [not found] <CGME20200218233124epcas2p3888d2788d42af542cde915df4c4baf23@epcas2p3.samsung.com> @ 2020-02-18 23:31 ` Kiwoong Kim 2020-02-18 23:38 ` Christoph Hellwig 0 siblings, 1 reply; 3+ messages in thread From: Kiwoong Kim @ 2020-02-18 23:31 UTC (permalink / raw) To: linux-scsi, jejb, martin.petersen; +Cc: Kiwoong Kim In some architectures, an unit of PRDTO and PRDTL in UFSHCI spec assume bytes, not double word specified in the spec. W/o this patch, when the driver executes this, kernel panic occurres because of abnormal accesses. Signed-off-by: Kiwoong Kim <kwmad.kim@samsung.com> --- drivers/scsi/ufs/ufshcd.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index f4aa10fdbb0c..94c4a0f9fd9b 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -462,8 +462,12 @@ 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, -- 2.14.2 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ufs: fix a bug on printing PRDT 2020-02-18 23:31 ` [PATCH] ufs: fix a bug on printing PRDT Kiwoong Kim @ 2020-02-18 23:38 ` Christoph Hellwig 2020-02-18 23:55 ` Kiwoong Kim 0 siblings, 1 reply; 3+ messages in thread From: Christoph Hellwig @ 2020-02-18 23:38 UTC (permalink / raw) To: Kiwoong Kim; +Cc: linux-scsi, jejb, martin.petersen On Wed, Feb 19, 2020 at 08:31:15AM +0900, Kiwoong Kim wrote: > In some architectures, an unit of PRDTO and PRDTL > in UFSHCI spec assume bytes, not double word specified > in the spec. W/o this patch, when the driver executes > this, kernel panic occurres because of abnormal accesses. This quirk doesn't have any driver actually setting it, so we need to remove it. ^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] ufs: fix a bug on printing PRDT 2020-02-18 23:38 ` Christoph Hellwig @ 2020-02-18 23:55 ` Kiwoong Kim 0 siblings, 0 replies; 3+ messages in thread From: Kiwoong Kim @ 2020-02-18 23:55 UTC (permalink / raw) To: 'Christoph Hellwig'; +Cc: linux-scsi, jejb, martin.petersen > On Wed, Feb 19, 2020 at 08:31:15AM +0900, Kiwoong Kim wrote: > > In some architectures, an unit of PRDTO and PRDTL in UFSHCI spec > > assume bytes, not double word specified in the spec. W/o this patch, > > when the driver executes this, kernel panic occurres because of > > abnormal accesses. > > This quirk doesn't have any driver actually setting it, so we need to > remove it. Exynos specific driver sets and is using it but the driver is not updated yet. I'll do upstream it in the future. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-02-18 23:55 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20200218233124epcas2p3888d2788d42af542cde915df4c4baf23@epcas2p3.samsung.com>
2020-02-18 23:31 ` [PATCH] ufs: fix a bug on printing PRDT Kiwoong Kim
2020-02-18 23:38 ` Christoph Hellwig
2020-02-18 23:55 ` Kiwoong Kim
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox