aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/drivers/net/ena.c1
-rw-r--r--src/drivers/net/ena.h8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/drivers/net/ena.c b/src/drivers/net/ena.c
index 46351dd7d..bad0238fe 100644
--- a/src/drivers/net/ena.c
+++ b/src/drivers/net/ena.c
@@ -469,6 +469,7 @@ static int ena_create_cq ( struct ena_nic *ena, struct ena_cq *cq ) {
req->header.opcode = ENA_CREATE_CQ;
req->create_cq.size = cq->size;
req->create_cq.count = cpu_to_le16 ( cq->requested );
+ req->create_cq.vector = cpu_to_le32 ( ENA_MSIX_NONE );
req->create_cq.address = cpu_to_le64 ( virt_to_bus ( cq->cqe.raw ) );
/* Issue request */
diff --git a/src/drivers/net/ena.h b/src/drivers/net/ena.h
index c76598730..78693e678 100644
--- a/src/drivers/net/ena.h
+++ b/src/drivers/net/ena.h
@@ -230,6 +230,14 @@ struct ena_create_cq_req {
uint64_t address;
} __attribute__ (( packed ));
+/** Empty MSI-X vector
+ *
+ * Some versions of the ENA firmware will complain if the completion
+ * queue's MSI-X vector field is left empty, even though the queue
+ * configuration specifies that interrupts are not used.
+ */
+#define ENA_MSIX_NONE 0xffffffffUL
+
/** Create completion queue response */
struct ena_create_cq_rsp {
/** Header */