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>
This commit is contained in:
Lorenzo Bianconi
2024-08-03 17:50:50 +02:00
committed by Jakub Kicinski
parent c4e2ced14a
commit 63a796b498

View File

@@ -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;
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_assert(ARRAY_SIZE(eth->rsts), eth->rsts);
if (err)
return err;
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;