On 11/21/23 8:59 AM, claudiu beznea 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 It's OK! :-) > simple for a fix. Same thing for patch 2. Patch 2 is not as simple as it could have been... [...] MBR, Sergey