[PATCH v6 08/18] nvme: Implement cross-controller reset recovery
Daniel Wagner
dwagner at suse.de
Tue Nov 3 02:45:03 PST 2026
On Sat, Oct 31, 2026 at 01:21:55AM -0700, Mohamed Khalfella wrote:
> 701
> 702 if (!wait_for_completion_timeout(&ccr.complete, tmo))
> 703 ret = -ETIMEDOUT;
> 704
> 705 out:
> 706 spin_lock_irqsave(&sctrl->lock, flags);
> 707 list_del(&ccr.list);
> 708 spin_unlock_irqrestore(&sctrl->lock, flags);
> 709
> 710 if (ret || !completion_done(&ccr.complete))
> 711 return ret;
> 712 if (ccr.ccrs == NVME_CCR_STATUS_SUCCESS)
> 713 return 0;
> 714 return -EREMOTEIO;
> 715 }
>
> Actually, this code has a bug. It does not correctly handle the case
> when CCR operation completes with an error. I added line numbers to show
> that.
Fair enough, then let's use the local variable.
More information about the Linux-nvme
mailing list