The error handling is mixed up. mux_chip_alloc() doesn't return an error
pointer (just NULL on failure), so check for NULL instead of using IS_ERR.
devm_mux_chip_alloc is documented to return NULL on failure, so fix that
as well.

All users of devm_mux_chip_alloc() are coded according to documentation.

Fixes: d47598cc669b ("mux: minimal mux subsystem and gpio-based mux controller")
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Peter Rosin <p...@axentia.se>
---
 drivers/mux/mux-core.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/mux/mux-core.c b/drivers/mux/mux-core.c
index 900b88526f97..66a8bccfc3d7 100644
--- a/drivers/mux/mux-core.c
+++ b/drivers/mux/mux-core.c
@@ -166,12 +166,12 @@ struct mux_chip *devm_mux_chip_alloc(struct device *dev,
 
        ptr = devres_alloc(devm_mux_chip_release, sizeof(*ptr), GFP_KERNEL);
        if (!ptr)
-               return ERR_PTR(-ENOMEM);
+               return NULL;
 
        mux_chip = mux_chip_alloc(dev, controllers, sizeof_priv);
-       if (IS_ERR(mux_chip)) {
+       if (!mux_chip) {
                devres_free(ptr);
-               return mux_chip;
+               return NULL;
        }
 
        *ptr = mux_chip;
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to