]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
scsi: ufs: core: Complain if UIC argument 2 is invalid
authorBart Van Assche <bvanassche@acm.org>
Tue, 19 May 2026 21:21:28 +0000 (14:21 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sat, 23 May 2026 01:40:39 +0000 (21:40 -0400)
According to the UFSHCI standard, the lowest byte of UIC argument 2 is
an output value. Additionally, ufshcd_uic_cmd_compl() is based on the
assumption that the lowest byte of UIC argument 2 is zero. Hence,
complain if the result byte is set when a UIC command is submitted.

Reviewed-by: Peter Wang <peter.wang@mediatek.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Link: https://patch.msgid.link/20260519212135.3130556-3-bvanassche@acm.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/core/ufshcd.c

index f3e226e47c90a3c3b9004f254a7b5199fe1fc242..cfb362fe9784f6a8dd25eb245e736e1554631e6f 100644 (file)
@@ -2571,6 +2571,7 @@ ufshcd_dispatch_uic_cmd(struct ufs_hba *hba, struct uic_command *uic_cmd)
        lockdep_assert_held(&hba->uic_cmd_mutex);
 
        WARN_ON(hba->active_uic_cmd);
+       WARN_ON_ONCE(uic_cmd->argument2 & MASK_UIC_COMMAND_RESULT);
 
        hba->active_uic_cmd = uic_cmd;