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

Reply via email to