mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
spi: omap-100k: Fix reference leak to master
Call spi_master_get() holds the reference count to master device, thus we need an additional spi_master_put() call to reduce the reference count, otherwise we will leak a reference to master. This commit fix it by removing the unnecessary spi_master_get(). Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Link: https://lore.kernel.org/r/20210409082954.2906933-1-weiyongjun1@huawei.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
a036754979
commit
a23faea76d
@ -424,7 +424,7 @@ err:
|
|||||||
|
|
||||||
static int omap1_spi100k_remove(struct platform_device *pdev)
|
static int omap1_spi100k_remove(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
struct spi_master *master = spi_master_get(platform_get_drvdata(pdev));
|
struct spi_master *master = platform_get_drvdata(pdev);
|
||||||
struct omap1_spi100k *spi100k = spi_master_get_devdata(master);
|
struct omap1_spi100k *spi100k = spi_master_get_devdata(master);
|
||||||
|
|
||||||
pm_runtime_disable(&pdev->dev);
|
pm_runtime_disable(&pdev->dev);
|
||||||
@ -438,7 +438,7 @@ static int omap1_spi100k_remove(struct platform_device *pdev)
|
|||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
static int omap1_spi100k_runtime_suspend(struct device *dev)
|
static int omap1_spi100k_runtime_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
|
struct spi_master *master = dev_get_drvdata(dev);
|
||||||
struct omap1_spi100k *spi100k = spi_master_get_devdata(master);
|
struct omap1_spi100k *spi100k = spi_master_get_devdata(master);
|
||||||
|
|
||||||
clk_disable_unprepare(spi100k->ick);
|
clk_disable_unprepare(spi100k->ick);
|
||||||
@ -449,7 +449,7 @@ static int omap1_spi100k_runtime_suspend(struct device *dev)
|
|||||||
|
|
||||||
static int omap1_spi100k_runtime_resume(struct device *dev)
|
static int omap1_spi100k_runtime_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
struct spi_master *master = spi_master_get(dev_get_drvdata(dev));
|
struct spi_master *master = dev_get_drvdata(dev);
|
||||||
struct omap1_spi100k *spi100k = spi_master_get_devdata(master);
|
struct omap1_spi100k *spi100k = spi_master_get_devdata(master);
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user