Call spi_master_put to free the spi_master structure on device removal and driver detachment. Signed-off-by: Woody Zhang <woodylab@xxxxxxxxxxx> --- drivers/spi/spi-sun4i.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/spi/spi-sun4i.c b/drivers/spi/spi-sun4i.c index b8947265d329..ba5690039f72 100644 --- a/drivers/spi/spi-sun4i.c +++ b/drivers/spi/spi-sun4i.c @@ -518,7 +518,10 @@ static int sun4i_spi_probe(struct platform_device *pdev) static void sun4i_spi_remove(struct platform_device *pdev) { + struct spi_master *master = dev_get_drvdata(&pdev->dev); + pm_runtime_force_suspend(&pdev->dev); + spi_master_put(master); } static const struct of_device_id sun4i_spi_match[] = { -- 2.39.2