From: Max Gurtovoy Date: Tue, 30 Mar 2021 23:01:20 +0000 (+0000) Subject: nvme-fc: check sgl supported by target X-Git-Tag: v5.13-rc1~116^2~65^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8df1bff57c7e5fc7747b9236561079907d8cf82e;p=thirdparty%2Flinux.git nvme-fc: check sgl supported by target SGLs support is mandatory for NVMe/FC, make sure that the target is aligned to the specification. Signed-off-by: Max Gurtovoy Reviewed-by: Chaitanya Kulkarni Signed-off-by: Christoph Hellwig --- diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index f54ffb792acc9..921b3315c2f1e 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -3099,6 +3099,11 @@ nvme_fc_create_association(struct nvme_fc_ctrl *ctrl) } /* FC-NVME supports normal SGL Data Block Descriptors */ + if (!(ctrl->ctrl.sgls & ((1 << 0) | (1 << 1)))) { + dev_err(ctrl->ctrl.device, + "Mandatory sgls are not supported!\n"); + goto out_disconnect_admin_queue; + } if (opts->queue_size > ctrl->ctrl.maxcmd) { /* warn if maxcmd is lower than queue_size */