hw/nvme: fix invalid endian conversion
numcntl is one byte and so is max_vfs. Using cpu_to_le16 on big endian hosts results in numcntl being set to 0. Fix by dropping the endian conversion. Fixes:99f48ae7ae
("hw/nvme: Add support for Secondary Controller List") Reported-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Klaus Jensen <k.jensen@samsung.com> Reviewed-by: Minwoo Im <minwoo.im@samsung.com> Message-ID: <20240222-fix-sriov-numcntl-v1-1-d60bea5e72d0@samsung.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> (cherry picked from commitd2b5bb860e
) Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
parent
a15b7df35b
commit
d3c3bc7a9c
@ -7140,7 +7140,7 @@ static void nvme_init_state(NvmeCtrl *n)
|
||||
n->aer_reqs = g_new0(NvmeRequest *, n->params.aerl + 1);
|
||||
QTAILQ_INIT(&n->aer_queue);
|
||||
|
||||
list->numcntl = cpu_to_le16(max_vfs);
|
||||
list->numcntl = max_vfs;
|
||||
for (i = 0; i < max_vfs; i++) {
|
||||
sctrl = &list->sec[i];
|
||||
sctrl->pcid = cpu_to_le16(n->cntlid);
|
||||
|
Loading…
Reference in New Issue
Block a user