mbox series

[pull,request,net,00/15] mlx5 fixes 2020-09-30

Message ID 20201001020516.41217-1-saeed@kernel.org
Headers show
Series mlx5 fixes 2020-09-30 | expand

Message

Saeed Mahameed Oct. 1, 2020, 2:05 a.m. UTC
From: Saeed Mahameed <saeedm@nvidia.com>

Hi Dave,

This series introduces some fixes to mlx5 driver.

Please pull and let me know if there is any problem.

For -stable v4.15
 ('net/mlx5e: Fix VLAN cleanup flow')
 ('net/mlx5e: Fix VLAN create flow')

For -stable v4.16
 ('net/mlx5: Fix request_irqs error flow')

For -stable v5.4
 ('net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU')
 ('net/mlx5: Avoid possible free of command entry while timeout comp handler')

For -stable v5.7
 ('net/mlx5e: Fix return status when setting unsupported FEC mode')

For -stable v5.8
 ('net/mlx5e: Fix race condition on nhe->n pointer in neigh update')

Thanks,
Saeed.

---
The following changes since commit a59cf619787e628b31c310367f869fde26c8ede1:

  Merge branch 'Fix-bugs-in-Octeontx2-netdev-driver' (2020-09-30 15:07:19 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux.git tags/mlx5-fixes-2020-09-30

for you to fetch changes up to 949c2418a269dee2fd7825c3998c684e8aac2d86:

  net/mlx5e: Fix race condition on nhe->n pointer in neigh update (2020-09-30 18:59:35 -0700)

----------------------------------------------------------------
mlx5-fixes-2020-09-30

----------------------------------------------------------------
Aya Levin (6):
      net/mlx5e: Fix error path for RQ alloc
      net/mlx5e: Add resiliency in Striding RQ mode for packets larger than MTU
      net/mlx5e: Fix driver's declaration to support GRE offload
      net/mlx5e: Fix return status when setting unsupported FEC mode
      net/mlx5e: Fix VLAN cleanup flow
      net/mlx5e: Fix VLAN create flow

Eran Ben Elisha (4):
      net/mlx5: Fix a race when moving command interface to polling mode
      net/mlx5: Avoid possible free of command entry while timeout comp handler
      net/mlx5: poll cmd EQ in case of command timeout
      net/mlx5: Add retry mechanism to the command entry index allocation

Maor Dickman (1):
      net/mlx5e: CT, Fix coverity issue

Maor Gottlieb (1):
      net/mlx5: Fix request_irqs error flow

Saeed Mahameed (1):
      net/mlx5: cmdif, Avoid skipping reclaim pages if FW is not accessible

Shay Drory (1):
      net/mlx5: Don't allow health work when device is uninitialized

Vlad Buslov (1):
      net/mlx5e: Fix race condition on nhe->n pointer in neigh update

 drivers/net/ethernet/mellanox/mlx5/core/cmd.c      | 198 +++++++++++++++------
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   8 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/port.c  |   3 +
 .../net/ethernet/mellanox/mlx5/core/en/rep/neigh.c |  81 +++++----
 drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c |   4 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c    |  14 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  | 104 +++++++++--
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.h   |   6 -
 drivers/net/ethernet/mellanox/mlx5/core/eq.c       |  42 ++++-
 drivers/net/ethernet/mellanox/mlx5/core/health.c   |  11 ++
 drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h   |   2 +
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   2 +
 .../net/ethernet/mellanox/mlx5/core/pagealloc.c    |   2 +-
 drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c  |   2 +-
 include/linux/mlx5/driver.h                        |   4 +
 15 files changed, 364 insertions(+), 119 deletions(-)

Comments

David Miller Oct. 1, 2020, 7:21 p.m. UTC | #1
From: saeed@kernel.org
Date: Wed, 30 Sep 2020 19:05:02 -0700

> @@ -201,6 +206,9 @@ void mlx5_enter_error_state(struct mlx5_core_dev *dev, bool force)
>  		err_detected = true;
>  	}
>  	mutex_lock(&dev->intf_state_mutex);
> +	if (!mlx5_is_device_initialized(dev))
> +		return;
> +

You can return with this mutex held, and that's ok?

I think you have to "goto unlock;" or similar.
Saeed Mahameed Oct. 1, 2020, 7:41 p.m. UTC | #2
On Thu, 2020-10-01 at 12:21 -0700, David Miller wrote:
> From: saeed@kernel.org
> Date: Wed, 30 Sep 2020 19:05:02 -0700
> 
> > @@ -201,6 +206,9 @@ void mlx5_enter_error_state(struct
> mlx5_core_dev *dev, bool force)
> >               err_detected = true;
> >       }
> >       mutex_lock(&dev->intf_state_mutex);
> > +     if (!mlx5_is_device_initialized(dev))
> > +             return;
> > +
> 
> You can return with this mutex held, and that's ok?
> 
> I think you have to "goto unlock;" or similar.

goto unlock is needed,
thanks for spotting this, I will fix and send v2.