diff options
-rw-r--r-- | src/drivers/net/ena.c | 1 | ||||
-rw-r--r-- | src/drivers/net/ena.h | 8 |
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 */ |