Hi, > -----Original Message----- > From: Michael Baum <michae...@nvidia.com> > Sent: Thursday, November 10, 2022 12:30 AM > To: dev@dpdk.org > Cc: Matan Azrad <ma...@nvidia.com>; Raslan Darawsheh > <rasl...@nvidia.com>; Slava Ovsiienko <viachesl...@nvidia.com>; > dkozl...@nvidia.com; sta...@dpdk.org > Subject: [PATCH v2] net/mlx5: fix port's event cleaning order > > The shared IB device (sh) has per port data with filed for interrupt > handler port_id. It used by shared interrupt handler to find the > corresponding rte_eth device by IB port index. > If value is equal or greater RTE_MAX_ETHPORTS it means there is no > subhandler installed for specified IB port index. > > When a few ports are created under same sh, the sh is created with the > first port and the interrupt handler port_id is initialized to > RTE_MAX_ETHPORTS for each port. > In port creation, the interrupt handler port_id is updated with the > correct value. Since this updating, the mlx5_dev_interrupt_nl_cb > function uses this port and its priv structure. > However, when the ports are closed, this filed isn't updated and the > interrupt handler continue working until it is uninstalled in SH > destruction. > If mlx5_dev_interrupt_nl_cb is called between port closing and SH > destruction, it uses invalid port causing a crash. > > This patch adds interrupt handler port_id updating to the close function > and add memory barrier to make sure it is done before priv reset. > > Fixes: 655c3c26c11e ("net/mlx5: fix initial link status detection") > Cc: dkozl...@nvidia.com > Cc: sta...@dpdk.org > > Signed-off-by: Michael Baum <michae...@nvidia.com> > Acked-by: Matan Azrad <ma...@nvidia.com> > --- > > v2: fix typo in commit message. >
Patch applied to next-net-mlx, Kindest regards, Raslan Darawsheh