Re: [PATCH] nvme: prevent id ctrl csi for specs below 2.0

From: Keith Busch
Date: Mon Sep 11 2023 - 18:09:44 EST


On Mon, Sep 11, 2023 at 02:26:41AM +0500, Ameer Hamza wrote:
> The 'id ctrl csi' command was introduced in version 2.0, as specified
> in Section 5.17.2.6 of the NVME Base Specification 2.0. Executing this
> command on previous NVMe versions returns an "Invalid Field" error,
> and the error entry is saved in the log page. Although, Commit
> c917dd96fe41 ("nvme: skip optional id ctrl csi if it failed") reduced
> the error occurrences, but the error persisted during the initial
> module load. This patch ensures the command isn't executed on versions
> older than 2.0, and it also eliminates the skip implementation because
> NVME_ID_CNS_CS_CTRL is expected to succeed with version 2.0.

NVMe TP's are allowed to be implemented by versions lower than the
release that first included it. I recall the first nvme controller I'd
seen that implemented this identification reported itself as 1.4.