nvme: send Identify with CNS 06h only to I/O controllers

Identify CNS 06h (I/O Command Set Specific Identify Controller data
structure) is supported only on i/o controllers.

But nvme_init_non_mdts_limits() currently invokes this on all
controllers.  Correct this by ensuring this is sent to I/O
controllers only.

Signed-off-by: Martin George <marting@netapp.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Martin George 2023-03-16 17:20:09 +05:30 committed by Christoph Hellwig
parent 9d2789ac9d
commit def84ab600
1 changed files with 2 additions and 1 deletions

View File

@ -3063,7 +3063,8 @@ static int nvme_init_non_mdts_limits(struct nvme_ctrl *ctrl)
else else
ctrl->max_zeroes_sectors = 0; ctrl->max_zeroes_sectors = 0;
if (nvme_ctrl_limited_cns(ctrl)) if (ctrl->subsys->subtype != NVME_NQN_NVME ||
nvme_ctrl_limited_cns(ctrl))
return 0; return 0;
id = kzalloc(sizeof(*id), GFP_KERNEL); id = kzalloc(sizeof(*id), GFP_KERNEL);