From: Stanley Jhu <stanleyjhu@google.com>
To: mkp@kernel.org, James.Bottomley@HansenPartnership.com
Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
bvanassche@acm.org, avri.altman@sandisk.com,
alim.akhtar@samsung.com, Stanley Jhu <stanleyjhu@google.com>
Subject: [PATCH 0/2] scsi: ufs: core: Handle devices declining optional Query IDNs
Date: Fri, 11 Sep 2026 10:43:17 +0800 [thread overview]
Message-ID: <20260911024319.1346706-1-stanleyjhu@google.com> (raw)
JEDEC JESD220F specifies that a device which does not support an
optional Query IDN returns QUERY_RESULT_INVALID_IDN (0xFD) in the
Query Response UPIU.
The driver maps every non-zero Query response to -EINVAL and logs
dev_err(). A device declining an optional IDN is spec-compliant, so
this reports a failure that did not happen and keeps the retry loops
resending a request the device will never accept. On UFS 4.0 parts
that omit the Timestamp attribute it repeats on every boot and every
resume.
A third model was recently proposed for
UFS_DEVICE_QUIRK_NO_TIMESTAMP_SUPPORT; recognising the rejection at
runtime avoids growing that table further.
Patch 1 decodes 0xFD as -EOPNOTSUPP across the query layer. Patch 2
uses that to stop reissuing the Timestamp write on devices that
reject it.
Compile tested on arm64 (defconfig + SCSI_UFSHCD).
Stanley Jhu (2):
scsi: ufs: core: Fast-abort unsupported Query IDNs
scsi: ufs: core: Dynamically disable timestamp on unsupported devices
drivers/ufs/core/ufshcd.c | 39 ++++++++++++++++++++++++++++++---------
include/ufs/ufs.h | 1 +
2 files changed, 31 insertions(+), 9 deletions(-)
--
2.55.0.1007.g17ff1f9808-goog
next reply other threads:[~2026-09-11 2:43 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-11 2:43 Stanley Jhu [this message]
2026-09-11 2:43 ` [PATCH 1/2] scsi: ufs: core: Fast-abort unsupported Query IDNs Stanley Jhu
2026-09-11 2:43 ` [PATCH 2/2] scsi: ufs: core: Dynamically disable timestamp on unsupported devices Stanley Jhu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260911024319.1346706-1-stanleyjhu@google.com \
--to=stanleyjhu@google.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=alim.akhtar@samsung.com \
--cc=avri.altman@sandisk.com \
--cc=bvanassche@acm.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=mkp@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox