diff options
| author | Stanley Jhu <stanleyjhu@google.com> | 2026-09-11 10:43:18 +0800 |
|---|---|---|
| committer | Martin K. Petersen (Oracle) <mkp@kernel.org> | 2026-09-25 22:22:15 -0400 |
| commit | d1fa5cea5dcd72a9ec21b835c572a28c0c3f4fbf (patch) | |
| tree | ee3e053365ba811f642febd6cef4fa452d984c57 /tools/lib/python/kdoc | |
| parent | 0b1a79f2791a06f139dce5450e487307cf0e241f (diff) | |
| download | linux-next-d1fa5cea5dcd72a9ec21b835c572a28c0c3f4fbf.tar.gz linux-next-d1fa5cea5dcd72a9ec21b835c572a28c0c3f4fbf.zip | |
scsi: ufs: core: Fast-abort unsupported Query IDNs
JEDEC JESD220F specifies that devices not supporting an optional Query IDN
return QUERY_RESULT_INVALID_IDN (0xFD) in the Query Response UPIU.
ufshcd_dev_cmd_completion() maps all non-zero Query responses to -EINVAL
and logs dev_err(). A device declining an optional IDN is spec-compliant,
so this reports an error that did not occur and leaves the retry loops
resending a request the device will never accept.
Decode 0xFD as -EOPNOTSUPP, terminate the query retry loops on it, and drop
the dev_err() in the query wrappers and descriptor readers for that
case. Other errors are logged and retried as before.
The suppressed dev_err() calls carried the opcode and IDN; log them with
dev_dbg() where the response is decoded.
Signed-off-by: Stanley Jhu <stanleyjhu@google.com>
Tested-by: Xilin Wu <sophon@radxa.com>
Link: https://patch.msgid.link/20260911024319.1346706-2-stanleyjhu@google.com
Signed-off-by: Martin K. Petersen (Oracle) <mkp@kernel.org>
Diffstat (limited to 'tools/lib/python/kdoc')
0 files changed, 0 insertions, 0 deletions
