Skip to content

Commit

Permalink
net: airoha: honor reset return value in airoha_hw_init()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
LorenzoBianconi authored and kuba-moo committed Aug 6, 2024
1 parent c4e2ced commit 63a796b
Showing 1 changed file with 12 additions and 4 deletions.
16 changes: 12 additions & 4 deletions drivers/net/ethernet/mediatek/airoha_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit 63a796b

Please sign in to comment.