summaryrefslogtreecommitdiffstats
path: root/drivers/iio/inkern.c
diff options
context:
space:
mode:
authorJohannes Pointner <johannes.pointner@gmail.com>2014-08-25 10:04:00 +0200
committerJonathan Cameron <jic23@kernel.org>2014-08-25 17:55:28 +0200
commit872687f626e033b4ddfaec1e410057cfc6636d77 (patch)
treeac4b09204496fbd2c4c1f7844a8e7e60faabe654 /drivers/iio/inkern.c
parentstaging: android: fix a possible memory leak (diff)
downloadlinux-872687f626e033b4ddfaec1e410057cfc6636d77.tar.xz
linux-872687f626e033b4ddfaec1e410057cfc6636d77.zip
iio:inkern: fix overwritten -EPROBE_DEFER in of_iio_channel_get_by_name
Fixes: a2c12493ed7e ('iio: of_iio_channel_get_by_name() returns non-null pointers for error legs') which improperly assumes that of_iio_channel_get_by_name must always return NULL and thus now hides -EPROBE_DEFER. Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Jonathan Cameron <jic23@kernel.org> Cc: Stable@vger.kernel.org
Diffstat (limited to 'drivers/iio/inkern.c')
-rw-r--r--drivers/iio/inkern.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
index c7497009d60a..f0846108d006 100644
--- a/drivers/iio/inkern.c
+++ b/drivers/iio/inkern.c
@@ -178,7 +178,7 @@ static struct iio_channel *of_iio_channel_get_by_name(struct device_node *np,
index = of_property_match_string(np, "io-channel-names",
name);
chan = of_iio_channel_get(np, index);
- if (!IS_ERR(chan))
+ if (!IS_ERR(chan) || PTR_ERR(chan) == -EPROBE_DEFER)
break;
else if (name && index >= 0) {
pr_err("ERROR: could not get IIO channel %s:%s(%i)\n",