From: Michael Brown Date: Mon, 27 Oct 2025 12:41:36 +0000 (+0000) Subject: [ena] Leave queue base address empty when creating a low latency queue X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0336e2987c3e671298af8c2817ec17aa67e98065;p=thirdparty%2Fipxe.git [ena] Leave queue base address empty when creating a low latency queue The queue base address is meaningless for a low latency queue, since the queue entries are written directly to the on-device memory. Any non-zero queue base address will be safely ignored by the hardware, but leaves open the possibility that future revisions could treat it as an error. Leave this field as zero, to match the behaviour of the Linux driver. Signed-off-by: Michael Brown --- diff --git a/src/drivers/net/ena.c b/src/drivers/net/ena.c index 35bdd34c2..56984d142 100644 --- a/src/drivers/net/ena.c +++ b/src/drivers/net/ena.c @@ -468,7 +468,10 @@ static int ena_create_sq ( struct ena_nic *ena, struct ena_sq *sq, req->create_sq.policy = cpu_to_le16 ( sq->policy ); req->create_sq.cq_id = cpu_to_le16 ( cq->id ); req->create_sq.count = cpu_to_le16 ( sq->count ); - req->create_sq.address = cpu_to_le64 ( virt_to_bus ( sq->sqe.raw ) ); + if ( ! ( sq->policy & ENA_SQ_DEVICE_MEMORY ) ) { + req->create_sq.address = + cpu_to_le64 ( virt_to_bus ( sq->sqe.raw ) ); + } /* Issue request */ if ( ( rc = ena_admin ( ena, req, &rsp ) ) != 0 ) {