[PATCH v2] net/mlx5: fix port's event cleaning order
Raslan Darawsheh
rasland at nvidia.com
Thu Nov 10 13:17:14 CET 2022
Hi,
> -----Original Message-----
> From: Michael Baum <michaelba at nvidia.com>
> Sent: Thursday, November 10, 2022 12:30 AM
> To: dev at dpdk.org
> Cc: Matan Azrad <matan at nvidia.com>; Raslan Darawsheh
> <rasland at nvidia.com>; Slava Ovsiienko <viacheslavo at nvidia.com>;
> dkozlyuk at nvidia.com; stable at 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: dkozlyuk at nvidia.com
> Cc: stable at dpdk.org
>
> Signed-off-by: Michael Baum <michaelba at nvidia.com>
> Acked-by: Matan Azrad <matan at nvidia.com>
> ---
>
> v2: fix typo in commit message.
>
Patch applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
More information about the dev
mailing list