[PATCH] nvme: avoid bogus CRTO values
Keith Busch
kbusch at kernel.org
Wed Sep 13 08:20:09 PDT 2023
On Wed, Sep 13, 2023 at 12:25:29PM +0000, Niklas Cassel wrote:
> > + if (ctrl->ctrl_config & NVME_CC_CRIME)
> > + timeout = max(timeout, NVME_CRTO_CRIMT(crto));
> > + else
> > + timeout = max(timeout, NVME_CRTO_CRWMT(crto));
>
> I saw the original bug report.
> But wasn't the problem that these were compared before NVME_CC_CRIME had
> been written?
>
> i.e. is this max() check still needed for the bug reporter's NVMe drive,
> after NVME_CC_CRIME was been written and CAP has been re-read?
> (If so, would a quirk be better?)
The values reported in CRTO don't change with the CC writes. It's only
CAP.TO that can change, so we still can't rely on CRTO at any point in
the sequence for these devices.
More information about the Linux-nvme
mailing list