Re: [PATCH v2 08/14] nvme: Implement cross-controller reset recovery

James Smart
2026-02-10T22:09:40Z

On 1/30/2026 2:34 PM, Mohamed Khalfella wrote:
...
> +unsigned long nvme_fence_ctrl(struct nvme_ctrl *ictrl)
> +{
> + unsigned long deadline, now, timeout;
> + struct nvme_ctrl *sctrl;
> + u32 min_cntlid = 0;
> + int ret;
> +
> + timeout = nvme_fence_timeout_ms(ictrl);
> + dev_info(ictrl->device, "attempting CCR, timeout %lums\n", timeout);
> +
> + now = jiffies;
> + deadline = now + msecs_to_jiffies(timeout);
> + while (time_before(now, deadline)) {

Q: don't we have something to identify the controller's subsystem
supports CCR before we starting selecting controllers and sending CCR ?

I would think on older devices that don't support it we should be
skipping this loop. The loop could delay the Time-Based delay without
any CCR.

-- james