1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/renesas
Biju Das c72a7e4259 ravb: Fix "failed to switch device to config mode" message during unbind
This patch fixes the error "ravb 11c20000.ethernet eth0: failed to switch
device to config mode" during unbind.

We are doing register access after pm_runtime_put_sync().

We usually do cleanup in reverse order of init. Currently in
remove(), the "pm_runtime_put_sync" is not in reverse order.

Probe
	reset_control_deassert(rstc);
	pm_runtime_enable(&pdev->dev);
	pm_runtime_get_sync(&pdev->dev);

remove
	pm_runtime_put_sync(&pdev->dev);
	unregister_netdev(ndev);
	..
	ravb_mdio_release(priv);
	pm_runtime_disable(&pdev->dev);

Consider the call to unregister_netdev()
unregister_netdev->unregister_netdevice_queue->rollback_registered_many
that calls the below functions which access the registers after
pm_runtime_put_sync()
 1) ravb_get_stats
 2) ravb_close

Fixes: c156633f13 ("Renesas Ethernet AVB driver proper")
Cc: stable@vger.kernel.org
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/20221214105118.2495313-1-biju.das.jz@bp.renesas.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2022-12-15 15:36:05 +01:00
..
Kconfig net: ethernet: renesas: rswitch: Fix build error about ptp 2022-11-14 18:37:20 -08:00
Makefile net: ethernet: renesas: rswitch: Add R-Car Gen4 gPTP support 2022-11-02 12:38:53 +00:00
ravb.h ravb: Add RZ/G2L MII interface support 2022-09-20 08:39:46 -07:00
ravb_main.c ravb: Fix "failed to switch device to config mode" message during unbind 2022-12-15 15:36:05 +01:00
ravb_ptp.c ptp: ravb: convert to .adjfine and adjust_by_scaled_ppm 2022-10-31 11:14:16 +00:00
rcar_gen4_ptp.c net: ethernet: renesas: rswitch: Add R-Car Gen4 gPTP support 2022-11-02 12:38:53 +00:00
rcar_gen4_ptp.h net: ethernet: renesas: rswitch: Add R-Car Gen4 gPTP support 2022-11-02 12:38:53 +00:00
rswitch.c net: ethernet: renesas: rswitch: Fix MAC address info 2022-11-21 12:57:18 +00:00
rswitch.h net: ethernet: renesas: rswitch: Fix endless loop in error paths 2022-11-08 17:49:05 -08:00
sh_eth.c net: drop the weight argument from netif_napi_add 2022-09-28 18:57:14 -07:00
sh_eth.h sh_eth: place RX/TX descriptor *enum*s after their *struct*s 2021-03-12 17:50:42 -08:00