"previous" is a better name for the variable storing the previous
asynchronous request, better than the opaque name "data" atleast.
We see that we assign the return status to the returned variable
on all code paths, so we might as well just do that immediately
after calling mmc_finalize_areq().

Signed-off-by: Linus Walleij <[email protected]>
---
 drivers/mmc/core/core.c | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c
index 41b4cd01fccc..53065d1cebf7 100644
--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -683,7 +683,7 @@ struct mmc_async_req *mmc_start_areq(struct mmc_host *host,
 {
        enum mmc_blk_status status;
        int start_err = 0;
-       struct mmc_async_req *data = host->areq;
+       struct mmc_async_req *previous = host->areq;
 
        /* Prepare a new request */
        if (areq)
@@ -691,13 +691,12 @@ struct mmc_async_req *mmc_start_areq(struct mmc_host 
*host,
 
        /* Finalize previous request */
        status = mmc_finalize_areq(host);
+       if (ret_stat)
+               *ret_stat = status;
 
        /* The previous request is still going on... */
-       if (status == MMC_BLK_NEW_REQUEST) {
-               if (ret_stat)
-                       *ret_stat = status;
+       if (status == MMC_BLK_NEW_REQUEST)
                return NULL;
-       }
 
        /* Fine so far, start the new request! */
        if (status == MMC_BLK_SUCCESS && areq)
@@ -716,9 +715,7 @@ struct mmc_async_req *mmc_start_areq(struct mmc_host *host,
        else
                host->areq = areq;
 
-       if (ret_stat)
-               *ret_stat = status;
-       return data;
+       return previous;
 }
 EXPORT_SYMBOL(mmc_start_areq);
 
-- 
2.9.3

Reply via email to