From c2e7e247bf8efd0712bd12ea6126370956f33e55 Mon Sep 17 00:00:00 2001 From: Marcin Wojtas Date: Thu, 21 Mar 2019 10:46:10 +0000 Subject: [PATCH] Prevent double activation of admin interrupt in ENA The resource is already being activated in the bus_alloc_resource(), because the flag RF_ACTIVE is being passed. Double activation on arm64 is causing kernel panic. Version of the driver was upgraded to 0.8.4. Submitted by: Michal Krawczyk Reported-by: Greg V Tested-by: cperciva, Greg V Obtained from: Semihalf MFC after: 2 weeks Sponsored by: Amazon, Inc. Differential revision: https://reviews.freebsd.org/D19655 --- sys/dev/ena/ena.c | 8 -------- sys/dev/ena/ena.h | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 49213d12b9d..2b4ec83f93e 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -1944,14 +1944,6 @@ ena_request_mgmnt_irq(struct ena_adapter *adapter) return (ENXIO); } - rc = bus_activate_resource(adapter->pdev, SYS_RES_IRQ, - irq->vector, irq->res); - if (unlikely(rc != 0)) { - device_printf(adapter->pdev, "could not activate " - "irq vector: %d\n", irq->vector); - goto err_res_free; - } - rc = bus_setup_intr(adapter->pdev, irq->res, INTR_TYPE_NET | INTR_MPSAFE, NULL, ena_intr_msix_mgmnt, irq->data, &irq->cookie); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index 574cd57b9cd..1d9194e2461 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -41,7 +41,7 @@ #define DRV_MODULE_VER_MAJOR 0 #define DRV_MODULE_VER_MINOR 8 -#define DRV_MODULE_VER_SUBMINOR 3 +#define DRV_MODULE_VER_SUBMINOR 4 #define DRV_MODULE_NAME "ena"