On 20.11.2023 21:03, Sergey Shtylyov wrote: > On 11/20/23 11:45 AM, Claudiu wrote: > >> From: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> >> >> reset_control_deassert() could return an error. Some devices cannot work >> if reset signal de-assert operation fails. To avoid this check the return >> code of reset_control_deassert() in ravb_probe() and take proper action. >> >> Fixes: 0d13a1a464a0 ("ravb: Add reset support") >> Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@xxxxxxxxxxxxxx> >> --- >> drivers/net/ethernet/renesas/ravb_main.c | 7 ++++++- >> 1 file changed, 6 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c >> index c70cff80cc99..342978bdbd7e 100644 >> --- a/drivers/net/ethernet/renesas/ravb_main.c >> +++ b/drivers/net/ethernet/renesas/ravb_main.c >> @@ -2645,7 +2645,12 @@ static int ravb_probe(struct platform_device *pdev) >> ndev->features = info->net_features; >> ndev->hw_features = info->net_hw_features; >> >> - reset_control_deassert(rstc); >> + error = reset_control_deassert(rstc); >> + if (error) { >> + free_netdev(ndev); >> + return error; > > No, please use *goto* here. And please fix up the order of statements under > the out_release label before doing that. This will lead to a bit more complicated patch, AFAICT. I tried to keep it simple for a fix. Same thing for patch 2. > > [...] > > MBR, Sergey