Date: Thu, 21 Mar 2019 10:46:10 +0000 (UTC) From: Marcin Wojtas <mw@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r345371 - head/sys/dev/ena Message-ID: <201903211046.x2LAkAx5073818@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mw Date: Thu Mar 21 10:46:10 2019 New Revision: 345371 URL: https://svnweb.freebsd.org/changeset/base/345371 Log: 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 Modified: head/sys/dev/ena/ena.c head/sys/dev/ena/ena.h Modified: head/sys/dev/ena/ena.c ============================================================================== --- head/sys/dev/ena/ena.c Thu Mar 21 10:23:02 2019 (r345370) +++ head/sys/dev/ena/ena.c Thu Mar 21 10:46:10 2019 (r345371) @@ -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); Modified: head/sys/dev/ena/ena.h ============================================================================== --- head/sys/dev/ena/ena.h Thu Mar 21 10:23:02 2019 (r345370) +++ head/sys/dev/ena/ena.h Thu Mar 21 10:46:10 2019 (r345371) @@ -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"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903211046.x2LAkAx5073818>