Go to file
Wei Huang 2545683564 raw/ifpga: unregister interrupt on close
There is an API rte_pmd_ifpga_cleanup provided by ifpga driver to
free the software resource used by ifpga card. The function call
of rte_pmd_ifpga_cleanup is list below.
rte_pmd_ifpga_cleanup()
  ifpga_rawdev_cleanup()
     rte_rawdev_pmd_release()
       rte_rawdev_close()
         ifpga_rawdev_close()

The interrupts are unregistered in ifpga_rawdev_destroy instead of
ifpga_rawdev_close function, so rte_pmd_ifpga_cleanup cannot free
interrupt resource as expected.

To fix such issue, interrupt unregistration is moved from
ifpga_rawdev_destroy to ifpga_rawdev_close function. The change of
function call of ifpga_rawdev_destroy is as below.
ifpga_rawdev_destroy()
  ifpga_unregister_msix_irq()  // removed
  rte_rawdev_pmd_release()
    rte_rawdev_close()
      ifpga_rawdev_close()

Fixes: e0a1aafe2a ("raw/ifpga: introduce IRQ functions")
Cc: stable@dpdk.org

Signed-off-by: Wei Huang <wei.huang@intel.com>
Acked-by: Tianfei Zhang <tianfei.zhang@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
2022-06-07 15:50:54 +02:00
.ci ci: build some job with ASan 2022-05-11 14:05:57 +02:00
.github/workflows ci: build some job with ASan 2022-05-11 14:05:57 +02:00
app test/threads: add unit test for get/set priority 2022-06-07 13:33:14 +02:00
buildtools build: fix build on FreeBSD with Meson 0.61.1 2022-03-08 16:37:22 +01:00
config config/arm: disable SVE ACLE for CN10K 2022-06-02 00:36:35 +02:00
devtools ethdev: add telemetry command for module EEPROM 2022-05-31 16:30:30 +02:00
doc eal: add seqlock 2022-06-07 13:33:14 +02:00
drivers raw/ifpga: unregister interrupt on close 2022-06-07 15:50:54 +02:00
examples examples/pipeline: fix build 2022-06-07 13:12:19 +02:00
kernel kni: fix build 2022-06-06 12:49:51 +02:00
lib eal: get/set thread priority per thread identifier 2022-06-07 13:33:14 +02:00
license lib: remove librte_ prefix from directory names 2021-04-21 14:04:09 +02:00
usertools usertools/devbind: support virtio block device 2022-06-01 11:50:10 +02:00
.editorconfig devtools: clarify that lines up to 100 characters are ok 2021-11-25 11:51:24 +01:00
.gitattributes
.gitignore doc: add eventdev feature matrices 2021-11-26 16:29:25 +01:00
.travis.yml version: 22.07-rc0 2022-03-21 13:56:40 +01:00
ABI_VERSION version: 22.07-rc0 2022-03-21 13:56:40 +01:00
MAINTAINERS eal: add seqlock 2022-06-07 13:33:14 +02:00
Makefile
meson_options.txt config: add option for atomic mbuf reference counting 2021-10-25 17:53:30 +02:00
meson.build app/testpmd: register driver specific commands 2022-05-31 17:09:12 +02:00
README
VERSION version: 22.07-rc0 2022-03-21 13:56:40 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org