2018-10-16 08:23:31

by Chunyan Zhang

[permalink] [raw]
Subject: [PATCH] mmc: sdhci: use goto rather than return directly

The driver should clean resources requested in the function before
unnormal return.

CC: Linus Walleij <[email protected]>
Signed-off-by: Chunyan Zhang <[email protected]>
Fixes: bd9b902798ab ("mmc: sdhci: Implement an SDHCI-specific bounce buffer")
---
drivers/mmc/host/sdhci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index 1b3fbd9..f6b57e1 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -3991,7 +3991,7 @@ int sdhci_setup_host(struct sdhci_host *host)
/* This may alter mmc->*_blk_* parameters */
ret = sdhci_allocate_bounce_buffer(host);
if (ret)
- return ret;
+ goto unreg;
}

return 0;
--
2.7.4



2018-10-16 08:40:21

by Adrian Hunter

[permalink] [raw]
Subject: Re: [PATCH] mmc: sdhci: use goto rather than return directly

On 16/10/18 11:19 AM, Chunyan Zhang wrote:
> The driver should clean resources requested in the function before
> unnormal return.
>
> CC: Linus Walleij <[email protected]>
> Signed-off-by: Chunyan Zhang <[email protected]>
> Fixes: bd9b902798ab ("mmc: sdhci: Implement an SDHCI-specific bounce buffer")
> ---
> drivers/mmc/host/sdhci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index 1b3fbd9..f6b57e1 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -3991,7 +3991,7 @@ int sdhci_setup_host(struct sdhci_host *host)
> /* This may alter mmc->*_blk_* parameters */
> ret = sdhci_allocate_bounce_buffer(host);

Do we need the error return? It seems to be zero always.

> if (ret)
> - return ret;
> + goto unreg;
> }
>
> return 0;
>


2018-10-17 02:37:07

by Chunyan Zhang

[permalink] [raw]
Subject: Re: [PATCH] mmc: sdhci: use goto rather than return directly

On Tue, 16 Oct 2018 at 16:30, Adrian Hunter <[email protected]> wrote:
>
> On 16/10/18 11:19 AM, Chunyan Zhang wrote:
> > The driver should clean resources requested in the function before
> > unnormal return.
> >
> > CC: Linus Walleij <[email protected]>
> > Signed-off-by: Chunyan Zhang <[email protected]>
> > Fixes: bd9b902798ab ("mmc: sdhci: Implement an SDHCI-specific bounce buffer")
> > ---
> > drivers/mmc/host/sdhci.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> > index 1b3fbd9..f6b57e1 100644
> > --- a/drivers/mmc/host/sdhci.c
> > +++ b/drivers/mmc/host/sdhci.c
> > @@ -3991,7 +3991,7 @@ int sdhci_setup_host(struct sdhci_host *host)
> > /* This may alter mmc->*_blk_* parameters */
> > ret = sdhci_allocate_bounce_buffer(host);
>
> Do we need the error return? It seems to be zero always.

Or we don't need to check 'ret' for now, right?

>
> > if (ret)
> > - return ret;
> > + goto unreg;
> > }
> >
> > return 0;
> >
>

2018-10-23 13:03:15

by Ulf Hansson

[permalink] [raw]
Subject: Re: [PATCH] mmc: sdhci: use goto rather than return directly

On 16 October 2018 at 10:19, Chunyan Zhang <[email protected]> wrote:
> The driver should clean resources requested in the function before
> unnormal return.
>
> CC: Linus Walleij <[email protected]>
> Signed-off-by: Chunyan Zhang <[email protected]>
> Fixes: bd9b902798ab ("mmc: sdhci: Implement an SDHCI-specific bounce buffer")
> ---
> drivers/mmc/host/sdhci.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
> index 1b3fbd9..f6b57e1 100644
> --- a/drivers/mmc/host/sdhci.c
> +++ b/drivers/mmc/host/sdhci.c
> @@ -3991,7 +3991,7 @@ int sdhci_setup_host(struct sdhci_host *host)
> /* This may alter mmc->*_blk_* parameters */
> ret = sdhci_allocate_bounce_buffer(host);
> if (ret)
> - return ret;
> + goto unreg;

Instead of making the error path a bit more complicated, I suggest to
convert sdhci_allocate_bounce_buffer() from returning an int to a
void. Simply because it always returns 0 and thus we can remove this
error path altogether.

> }
>
> return 0;
> --
> 2.7.4
>

Kind regards
Uffe