public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] lightnvm: fix wrong return value and remove nvme_free(dev) in nvm_init()
@ 2015-11-19 15:23 Wenwei Tao
  2015-11-19 16:08 ` Matias
  0 siblings, 1 reply; 2+ messages in thread
From: Wenwei Tao @ 2015-11-19 15:23 UTC (permalink / raw)
  To: mb; +Cc: linux-kernel

The return value should be non-zero under error conditions.
Remove nvme_free(dev) to avoid free dev more than once.

Signed-off-by: Wenwei Tao <ww.tao0320@gmail.com>
---
 drivers/lightnvm/core.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
index f659e60..1942752 100644
--- a/drivers/lightnvm/core.c
+++ b/drivers/lightnvm/core.c
@@ -220,14 +220,13 @@ static void nvm_free(struct nvm_dev *dev)
 static int nvm_init(struct nvm_dev *dev)
 {
 	struct nvmm_type *mt;
-	int ret = 0;
+	int ret = -EINVAL;
 
 	if (!dev->q || !dev->ops)
-		return -EINVAL;
+		return ret;
 
 	if (dev->ops->identity(dev->q, &dev->identity)) {
 		pr_err("nvm: device could not be identified\n");
-		ret = -EINVAL;
 		goto err;
 	}
 
@@ -273,7 +272,6 @@ static int nvm_init(struct nvm_dev *dev)
 			dev->nr_chnls);
 	return 0;
 err:
-	nvm_free(dev);
 	pr_err("nvm: failed to initialize nvm\n");
 	return ret;
 }
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] lightnvm: fix wrong return value and remove nvme_free(dev) in nvm_init()
  2015-11-19 15:23 [PATCH] lightnvm: fix wrong return value and remove nvme_free(dev) in nvm_init() Wenwei Tao
@ 2015-11-19 16:08 ` Matias
  0 siblings, 0 replies; 2+ messages in thread
From: Matias @ 2015-11-19 16:08 UTC (permalink / raw)
  To: Wenwei Tao; +Cc: linux-kernel

On 11/19/2015 04:23 PM, Wenwei Tao wrote:
> The return value should be non-zero under error conditions.
> Remove nvme_free(dev) to avoid free dev more than once.
>
> Signed-off-by: Wenwei Tao <ww.tao0320@gmail.com>
> ---
>   drivers/lightnvm/core.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/lightnvm/core.c b/drivers/lightnvm/core.c
> index f659e60..1942752 100644
> --- a/drivers/lightnvm/core.c
> +++ b/drivers/lightnvm/core.c
> @@ -220,14 +220,13 @@ static void nvm_free(struct nvm_dev *dev)
>   static int nvm_init(struct nvm_dev *dev)
>   {
>   	struct nvmm_type *mt;
> -	int ret = 0;
> +	int ret = -EINVAL;
>
>   	if (!dev->q || !dev->ops)
> -		return -EINVAL;
> +		return ret;
>
>   	if (dev->ops->identity(dev->q, &dev->identity)) {
>   		pr_err("nvm: device could not be identified\n");
> -		ret = -EINVAL;
>   		goto err;
>   	}
>
> @@ -273,7 +272,6 @@ static int nvm_init(struct nvm_dev *dev)
>   			dev->nr_chnls);
>   	return 0;
>   err:
> -	nvm_free(dev);
>   	pr_err("nvm: failed to initialize nvm\n");
>   	return ret;
>   }
>

Applied, Thanks Tao.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-11-19 16:08 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-19 15:23 [PATCH] lightnvm: fix wrong return value and remove nvme_free(dev) in nvm_init() Wenwei Tao
2015-11-19 16:08 ` Matias

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox