numam-dpdk/drivers/raw
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
..
cnxk_bphy remove unnecessary null checks 2022-02-12 12:07:48 +01:00
cnxk_gpio raw/cnxk_gpio: stop device once tests are complete 2022-02-27 17:13:15 +01:00
dpaa2_cmdif build: remove custom dependency checks in drivers 2022-01-21 15:40:58 +01:00
ifpga raw/ifpga: unregister interrupt on close 2022-06-07 15:50:54 +02:00
ioat dma/idxd: move config script from raw driver 2021-10-22 22:40:59 +02:00
ntb raw/ntb: clear all valid doorbell bits on init 2022-02-13 12:23:34 +01:00
skeleton remove unnecessary null checks 2022-02-12 12:07:48 +01:00
meson.build raw/dpaa2_qdma: remove driver 2022-06-01 08:58:27 +02:00