From: Peter Rosin <peda@axentia.se> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Peter Rosin <peda@axentia.se>, Wolfram Sang <wsa@the-dreams.de>, Rob Herring <robh+dt@kernel.org>, Mark Rutland <mark.rutland@arm.com>, Jonathan Cameron <jic23@kernel.org>, Hartmut Knaack <knaack.h@gmx.de>, Lars-Peter Clausen <lars@metafoo.de>, Peter Meerwald-Stadler <pmeerw@pmeerw.net>, Jonathan Corbet <corbet@lwn.net>, <linux-i2c@vger.kernel.org>, <devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-iio@vger.kernel.org>, <linux-doc@vger.kernel.org>, Andrew Morton <akpm@linux-foundation.org>, Colin Ian King <colin.king@canonical.com>, Paul Gortmaker <paul.gortmaker@windriver.com> Subject: [PATCH v11 12/12] mux: core: fix error handling in devm_mux_chip_alloc Date: Mon, 27 Mar 2017 14:17:49 +0200 [thread overview] Message-ID: <1490617069-13119-13-git-send-email-peda@axentia.se> (raw) In-Reply-To: <1490617069-13119-1-git-send-email-peda@axentia.se> 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.carpenter@oracle.com> Signed-off-by: Peter Rosin <peda@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
WARNING: multiple messages have this Message-ID (diff)
From: Peter Rosin <peda-koto5C5qi+TLoDKTGw+V6w@public.gmane.org> To: Greg Kroah-Hartman <gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> Cc: Peter Rosin <peda-koto5C5qi+TLoDKTGw+V6w@public.gmane.org>, Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>, Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>, Jonathan Cameron <jic23-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, Hartmut Knaack <knaack.h-Mmb7MZpHnFY@public.gmane.org>, Lars-Peter Clausen <lars-Qo5EllUWu/uELgA04lAiVw@public.gmane.org>, Peter Meerwald-Stadler <pmeerw-jW+XmwGofnusTnJN9+BGXg@public.gmane.org>, Jonathan Corbet <corbet-T1hC0tSOHrs@public.gmane.org>, linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>, Colin Ian King <colin.king-Z7WLFzj8eWMS+FvcfC7Uqw@public.gmane.org>, Paul Gortmaker <paul.gortmaker-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org> Subject: [PATCH v11 12/12] mux: core: fix error handling in devm_mux_chip_alloc Date: Mon, 27 Mar 2017 14:17:49 +0200 [thread overview] Message-ID: <1490617069-13119-13-git-send-email-peda@axentia.se> (raw) In-Reply-To: <1490617069-13119-1-git-send-email-peda-koto5C5qi+TLoDKTGw+V6w@public.gmane.org> 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.carpenter-QHcLZuEGTsvQT0dZR+AlfA@public.gmane.org> Signed-off-by: Peter Rosin <peda-koto5C5qi+TLoDKTGw+V6w@public.gmane.org> --- 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
next prev parent reply other threads:[~2017-03-27 12:20 UTC|newest] Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-03-27 12:17 [PATCH v11 00/12] mux controller abstraction and iio/i2c muxes Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 01/12] devres: trivial whitespace fix Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 02/12] dt-bindings: document devicetree bindings for mux-controllers and gpio-mux Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 03/12] mux: minimal mux subsystem and gpio-based mux controller Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 04/12] iio: inkern: api for manipulating ext_info of iio channels Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 05/12] dt-bindings: iio: io-channel-mux: document io-channel-mux bindings Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 06/12] iio: multiplexer: new iio category and iio-mux driver Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 07/12] dt-bindings: i2c: i2c-mux: document general purpose i2c-mux bindings Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 08/12] i2c: i2c-mux-gpmux: new driver Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 09/12] dt-bindings: mux-adg792a: document devicetree bindings for ADG792A/G mux Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 10/12] mux: adg792a: add mux controller driver for ADG792A/G Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 12:17 ` [PATCH v11 11/12] iio: multiplexer: fix unsigned check with less than zero Peter Rosin 2017-03-27 12:17 ` Peter Rosin 2017-03-27 13:06 ` Johan Hovold 2017-03-27 13:06 ` Johan Hovold 2017-03-27 13:46 ` Peter Rosin 2017-03-27 13:46 ` Peter Rosin 2017-03-27 14:03 ` Greg Kroah-Hartman 2017-03-27 14:33 ` Johan Hovold 2017-03-27 12:17 ` Peter Rosin [this message] 2017-03-27 12:17 ` [PATCH v11 12/12] mux: core: fix error handling in devm_mux_chip_alloc Peter Rosin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1490617069-13119-13-git-send-email-peda@axentia.se \ --to=peda@axentia.se \ --cc=akpm@linux-foundation.org \ --cc=colin.king@canonical.com \ --cc=corbet@lwn.net \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=jic23@kernel.org \ --cc=knaack.h@gmx.de \ --cc=lars@metafoo.de \ --cc=linux-doc@vger.kernel.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=paul.gortmaker@windriver.com \ --cc=pmeerw@pmeerw.net \ --cc=robh+dt@kernel.org \ --cc=wsa@the-dreams.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.