Commit f8f0de9d authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'mlx5-fixes'



Tariq Toukan says:

====================
mlx5 core fixes 20240603

This small patchset provides two bug fixes from the team to the mlx5 core driver.

Series generated against:
commit 33700a0c ("net/tcp: Don't consider TCP_CLOSE in TCP_AO_ESTABLISHED")
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents c57e5581 c8b3f38d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -373,6 +373,10 @@ int mlx5_cmd_fast_teardown_hca(struct mlx5_core_dev *dev)
	do {
		if (mlx5_get_nic_state(dev) == MLX5_INITIAL_SEG_NIC_INTERFACE_DISABLED)
			break;
		if (pci_channel_offline(dev->pdev)) {
			mlx5_core_err(dev, "PCI channel offline, stop waiting for NIC IFC\n");
			return -EACCES;
		}

		cond_resched();
	} while (!time_after(jiffies, end));
+8 −0
Original line number Diff line number Diff line
@@ -248,6 +248,10 @@ void mlx5_error_sw_reset(struct mlx5_core_dev *dev)
	do {
		if (mlx5_get_nic_state(dev) == MLX5_INITIAL_SEG_NIC_INTERFACE_DISABLED)
			break;
		if (pci_channel_offline(dev->pdev)) {
			mlx5_core_err(dev, "PCI channel offline, stop waiting for NIC IFC\n");
			goto unlock;
		}

		msleep(20);
	} while (!time_after(jiffies, end));
@@ -317,6 +321,10 @@ int mlx5_health_wait_pci_up(struct mlx5_core_dev *dev)
			mlx5_core_warn(dev, "device is being removed, stop waiting for PCI\n");
			return -ENODEV;
		}
		if (pci_channel_offline(dev->pdev)) {
			mlx5_core_err(dev, "PCI channel offline, stop waiting for PCI\n");
			return -EACCES;
		}
		msleep(100);
	}
	return 0;
+4 −0
Original line number Diff line number Diff line
@@ -74,6 +74,10 @@ int mlx5_vsc_gw_lock(struct mlx5_core_dev *dev)
			ret = -EBUSY;
			goto pci_unlock;
		}
		if (pci_channel_offline(dev->pdev)) {
			ret = -EACCES;
			goto pci_unlock;
		}

		/* Check if semaphore is already locked */
		ret = vsc_read(dev, VSC_SEMAPHORE_OFFSET, &lock_val);
+3 −0
Original line number Diff line number Diff line
@@ -1298,6 +1298,9 @@ static int mlx5_function_teardown(struct mlx5_core_dev *dev, bool boot)

	if (!err)
		mlx5_function_disable(dev, boot);
	else
		mlx5_stop_health_poll(dev, boot);

	return err;
}