diff --git a/lib/nvme/nvme_ctrlr_cmd.c b/lib/nvme/nvme_ctrlr_cmd.c index 29d76f333..1e99341f2 100644 --- a/lib/nvme/nvme_ctrlr_cmd.c +++ b/lib/nvme/nvme_ctrlr_cmd.c @@ -988,7 +988,9 @@ nvme_ctrlr_cmd_directive(struct spdk_nvme_ctrlr *ctrlr, uint32_t nsid, cmd->opc = opc_type; cmd->nsid = nsid; - cmd->cdw10 = (payload_size >> 2) - 1; + if ((payload_size >> 2) > 0) { + cmd->cdw10 = (payload_size >> 2) - 1; + } cmd->cdw11_bits.directive.doper = doper; cmd->cdw11_bits.directive.dtype = dtype; cmd->cdw11_bits.directive.dspec = dspec;