[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