net: ravb: Stop DMA in case of failures on ravb_open()
authorClaudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tue, 28 Nov 2023 08:04:38 +0000 (10:04 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Dec 2023 07:52:23 +0000 (08:52 +0100)
[ Upstream commit eac16a733427ba0de2449ffc7bd3da32ddb65cb7 ]

In case ravb_phy_start() returns with error the settings applied in
ravb_dmac_init() are not reverted (e.g. config mode). For this call
ravb_stop_dma() on failure path of ravb_open().

Fixes: a0d2f20650e8 ("Renesas Ethernet AVB PTP clock driver")
Reviewed-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/renesas/ravb_main.c

index 1b35cc216d3865452e00ac71f93e0e5cd1c5b9b0..0b8af7be20fab0f5b15f690f1eafc7cd4be4eb3a 100644 (file)
@@ -1825,6 +1825,7 @@ out_ptp_stop:
        /* Stop PTP Clock driver */
        if (info->gptp)
                ravb_ptp_stop(ndev);
+       ravb_stop_dma(ndev);
 out_free_irq_mgmta:
        if (!info->multi_irqs)
                goto out_free_irq;