spi: pxa2xx: Call pxa_ssp_free() after getting the SSP type
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 2 Apr 2024 14:45:23 +0000 (17:45 +0300)
committerMark Brown <broonie@kernel.org>
Tue, 2 Apr 2024 14:55:36 +0000 (15:55 +0100)
pxa_ssp_request() implies a reference counting, hence the pxa_ssp_free()
must be called when we are done. Add missed call.

Fixes: bb77c99ee6d3 ("spi: pxa2xx: Skip SSP initialization if it's done elsewhere")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://msgid.link/r/20240402144523.3402063-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-pxa2xx.c

index b01a18c89b6bceb6ccc54cef1d1d82027bcc3e4b..2d128ddf18abd87aeee40f28b36ce1fcc2882b2a 100644 (file)
@@ -1375,8 +1375,10 @@ pxa2xx_spi_init_pdata(struct platform_device *pdev)
                type = (enum pxa_ssp_type)value;
        } else {
                ssp = pxa_ssp_request(pdev->id, pdev->name);
-               if (ssp)
+               if (ssp) {
                        type = ssp->type;
+                       pxa_ssp_free(ssp);
+               }
        }
 
        /* Validate the SSP type correctness */