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:51:18 +0000 (08:51 +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 6d4c1b9f568bab07efc75071d395a2db1aa641d7..e1c4a0ca4493f7dca2341fd19d9d76901c471e59 100644 (file)
@@ -1841,6 +1841,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;