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 <mk@semihalf.com>
Reported-by:   Greg V <greg@unrelenting.technology>
Tested-by:     cperciva, Greg V <greg@unrelenting.technology>
Obtained from: Semihalf
MFC after:     2 weeks
Sponsored by:  Amazon, Inc.
Differential revision: https://reviews.freebsd.org/D19655
This commit is contained in:
Marcin Wojtas 2019-03-21 10:46:10 +00:00
parent 263be72371
commit c2e7e247bf
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=345371
2 changed files with 1 additions and 9 deletions

View File

@ -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);

View File

@ -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"