Re: [PATCH v2 08/14] nvme: Implement cross-controller reset recovery
From: James Smart
Date: Tue Feb 10 2026 - 17:10:49 EST
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