[PATCH] nvme-fabrics: handle zero MAXCMD without closing the connection

Christoph Hellwig hch at lst.de
Mon Dec 2 16:36:07 PST 2024


On Fri, Nov 29, 2024 at 03:17:06PM +0100, Maurizio Lombardi wrote:
> The NVMe specification states that MAXCMD is mandatory
> for NVMe-over-Fabrics implementations. However, some NVMe/TCP
> and NVMe/FC arrays from major vendors have buggy firmware
> that reports MAXCMD as zero in the Identify Controller data structure.

Sigh.

>  	if (!ctrl->maxcmd) {
> -		dev_err(ctrl->device, "Maximum outstanding commands is 0\n");
> -		return -EINVAL;
> +		dev_err(ctrl->device,
> +			"Firmware bug: maximum outstanding commands is 0\n");
> +		ctrl->maxcmd = ctrl->sqsize + 1;

Maybe warn instead of err as made it not an error now?  Otherwise
looks fine.




More information about the Linux-nvme mailing list