diff options
author | Lorenzo Bianconi <lorenzo@kernel.org> | 2024-08-03 17:50:50 +0200 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-08-06 21:15:29 +0200 |
commit | 63a796b4988c3dca83176a534890b510d44f105a (patch) | |
tree | c25cbca330ea0276602bad5de0e9d7a719e24675 | |
parent | MAINTAINERS: Update Mellanox website links (diff) | |
download | linux-63a796b4988c3dca83176a534890b510d44f105a.tar.xz linux-63a796b4988c3dca83176a534890b510d44f105a.zip |
net: airoha: honor reset return value in airoha_hw_init()
Take into account return value from reset_control_bulk_assert and
reset_control_bulk_deassert routines in airoha_hw_init().
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/f49dc04a87653e0155f4fab3e3eb584785c8ad6a.1722699555.git.lorenzo@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | drivers/net/ethernet/mediatek/airoha_eth.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/drivers/net/ethernet/mediatek/airoha_eth.c b/drivers/net/ethernet/mediatek/airoha_eth.c index db4267225fa4..1fb46db0c1e9 100644 --- a/drivers/net/ethernet/mediatek/airoha_eth.c +++ b/drivers/net/ethernet/mediatek/airoha_eth.c @@ -2071,13 +2071,21 @@ static int airoha_hw_init(struct platform_device *pdev, int err, i; /* disable xsi */ - reset_control_bulk_assert(ARRAY_SIZE(eth->xsi_rsts), eth->xsi_rsts); + err = reset_control_bulk_assert(ARRAY_SIZE(eth->xsi_rsts), + eth->xsi_rsts); + if (err) + return err; + + err = reset_control_bulk_assert(ARRAY_SIZE(eth->rsts), eth->rsts); + if (err) + return err; - reset_control_bulk_assert(ARRAY_SIZE(eth->rsts), eth->rsts); - msleep(20); - reset_control_bulk_deassert(ARRAY_SIZE(eth->rsts), eth->rsts); msleep(20); + err = reset_control_bulk_deassert(ARRAY_SIZE(eth->rsts), eth->rsts); + if (err) + return err; + msleep(20); err = airoha_fe_init(eth); if (err) return err; |