summaryrefslogtreecommitdiff
path: root/drivers/spi
diff options
context:
space:
mode:
authorSylwester Nawrocki <s.nawrocki@samsung.com>2013-06-10 18:22:26 +0200
committerMark Brown <broonielinaro.org>2013-06-10 18:04:00 +0100
commit6c6cf64b16438eac6da9a90412a82316ad196e7c (patch)
treef9d8ef9eeb87dd9fd868ec1ac7f460ae8ee30b26 /drivers/spi
parent317ddd256b9c24b0d78fa8018f80f1e495481a10 (diff)
downloadlinux-3.10-6c6cf64b16438eac6da9a90412a82316ad196e7c.tar.gz
linux-3.10-6c6cf64b16438eac6da9a90412a82316ad196e7c.tar.bz2
linux-3.10-6c6cf64b16438eac6da9a90412a82316ad196e7c.zip
spi: s3c64xx: Fix pm_runtime_get_sync() return value check
If the device is already in a runtime PM enabled state pm_runtime_get_sync() will return 1, so a test for negative value should be used to check for errors. Without this patch there are seen errors like: [ 8.540000] s3c64xx-spi 13930000.spi: Failed to enable device: 1 [ 8.545000] spi_master spi1: failed to prepare transfer hardware Likely because the driver uses synchronous API to runtime enable the device and asynchronous one to disable it. Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Mark Brown <broonielinaro.org> Cc: stable@vger.kernel.org
Diffstat (limited to 'drivers/spi')
-rw-r--r--drivers/spi/spi-s3c64xx.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/spi/spi-s3c64xx.c b/drivers/spi/spi-s3c64xx.c
index 5000586cb98..71cc3e6ef47 100644
--- a/drivers/spi/spi-s3c64xx.c
+++ b/drivers/spi/spi-s3c64xx.c
@@ -444,7 +444,7 @@ static int s3c64xx_spi_prepare_transfer(struct spi_master *spi)
}
ret = pm_runtime_get_sync(&sdd->pdev->dev);
- if (ret != 0) {
+ if (ret < 0) {
dev_err(dev, "Failed to enable device: %d\n", ret);
goto out_tx;
}