diff options
author | 2018-03-20 14:40:32 +0300 | |
---|---|---|
committer | 2018-03-22 12:02:49 -0400 | |
commit | d0f0fb25d6c7a7c299d9bdaa2a11e96e4102e944 (patch) | |
tree | 25bb2f4afe7beb2c089c4f9ca608d881bb0a317e /drivers/net/ethernet/aquantia | |
parent | net: aquantia: Fix hardware reset when SPI may rarely hangup (diff) | |
download | linux-d0f0fb25d6c7a7c299d9bdaa2a11e96e4102e944.tar.gz linux-d0f0fb25d6c7a7c299d9bdaa2a11e96e4102e944.tar.bz2 linux-d0f0fb25d6c7a7c299d9bdaa2a11e96e4102e944.zip |
net: aquantia: Fix a regression with reset on old firmware
FW 1.5.58 and below needs a fixed delay even after 0x18 register
is filled. Otherwise, setting MPI_INIT state too fast causes
traffic hang.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/aquantia')
-rw-r--r-- | drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c index fcb3279ff9c7..dcb27bc7e97c 100644 --- a/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c +++ b/drivers/net/ethernet/aquantia/atlantic/hw_atl/hw_atl_utils.c @@ -147,6 +147,8 @@ static int hw_atl_utils_soft_reset_flb(struct aq_hw_s *self) aq_pr_err("FW kickstart failed\n"); return -EIO; } + /* Old FW requires fixed delay after init */ + AQ_HW_SLEEP(15); return 0; } @@ -214,6 +216,8 @@ static int hw_atl_utils_soft_reset_rbl(struct aq_hw_s *self) aq_pr_err("FW kickstart failed\n"); return -EIO; } + /* Old FW requires fixed delay after init */ + AQ_HW_SLEEP(15); return 0; } |