From: Wang Qing <wangqing@xxxxxxxx> pci_get_slot() increases its reference count, the caller must decrement the reference count by calling pci_dev_put() Signed-off-by: Wang Qing <wangqing@xxxxxxxx> --- drivers/spi/spi-topcliff-pch.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/spi/spi-topcliff-pch.c b/drivers/spi/spi-topcliff-pch.c index 8c4615b..8e1cc34 --- a/drivers/spi/spi-topcliff-pch.c +++ b/drivers/spi/spi-topcliff-pch.c @@ -877,7 +877,7 @@ static void pch_spi_request_dma(struct pch_spi_data *data, int bpw) dev_err(&data->master->dev, "ERROR: dma_request_channel FAILS(Tx)\n"); data->use_dma = 0; - return; + goto out; } dma->chan_tx = chan; @@ -894,9 +894,12 @@ static void pch_spi_request_dma(struct pch_spi_data *data, int bpw) dma_release_channel(dma->chan_tx); dma->chan_tx = NULL; data->use_dma = 0; - return; + goto out; } dma->chan_rx = chan; + +out: + pci_dev_put(dma_dev); } static void pch_spi_release_dma(struct pch_spi_data *data) -- 2.7.4