diff mbox series

[net] mlxsw: pci: Wait longer before accessing the device after reset

Message ID 20200227200753.22235-1-jiri@resnulli.us
State Accepted
Delegated to: David Miller
Headers show
Series [net] mlxsw: pci: Wait longer before accessing the device after reset | expand

Commit Message

Jiri Pirko Feb. 27, 2020, 8:07 p.m. UTC
From: Amit Cohen <amitc@mellanox.com>

During initialization the driver issues a reset to the device and waits
for 100ms before checking if the firmware is ready. The waiting is
necessary because before that the device is irresponsive and the first
read can result in a completion timeout.

While 100ms is sufficient for Spectrum-1 and Spectrum-2, it is
insufficient for Spectrum-3.

Fix this by increasing the timeout to 200ms.

Fixes: da382875c616 ("mlxsw: spectrum: Extend to support Spectrum-3 ASIC")
Signed-off-by: Amit Cohen <amitc@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
---
 drivers/net/ethernet/mellanox/mlxsw/pci_hw.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

David Miller Feb. 27, 2020, 8:10 p.m. UTC | #1
From: Jiri Pirko <jiri@resnulli.us>
Date: Thu, 27 Feb 2020 21:07:53 +0100

> From: Amit Cohen <amitc@mellanox.com>
> 
> During initialization the driver issues a reset to the device and waits
> for 100ms before checking if the firmware is ready. The waiting is
> necessary because before that the device is irresponsive and the first
> read can result in a completion timeout.
> 
> While 100ms is sufficient for Spectrum-1 and Spectrum-2, it is
> insufficient for Spectrum-3.
> 
> Fix this by increasing the timeout to 200ms.
> 
> Fixes: da382875c616 ("mlxsw: spectrum: Extend to support Spectrum-3 ASIC")
> Signed-off-by: Amit Cohen <amitc@mellanox.com>
> Signed-off-by: Ido Schimmel <idosch@mellanox.com>
> Signed-off-by: Jiri Pirko <jiri@mellanox.com>

Applied and queued up for -stable, thanks Jiri.
diff mbox series

Patch

diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci_hw.h b/drivers/net/ethernet/mellanox/mlxsw/pci_hw.h
index e0d7d2d9a0c8..43fa8c85b5d9 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/pci_hw.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/pci_hw.h
@@ -28,7 +28,7 @@ 
 #define MLXSW_PCI_SW_RESET			0xF0010
 #define MLXSW_PCI_SW_RESET_RST_BIT		BIT(0)
 #define MLXSW_PCI_SW_RESET_TIMEOUT_MSECS	900000
-#define MLXSW_PCI_SW_RESET_WAIT_MSECS		100
+#define MLXSW_PCI_SW_RESET_WAIT_MSECS		200
 #define MLXSW_PCI_FW_READY			0xA1844
 #define MLXSW_PCI_FW_READY_MASK			0xFFFF
 #define MLXSW_PCI_FW_READY_MAGIC		0x5E