diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2017-10-27 21:21:40 +0200 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@linaro.org> | 2017-11-02 15:20:29 +0100 |
commit | 2d1d31dda766b146bbd77db5e4e1534f64c92c2b (patch) | |
tree | 288c8398041cf400cd06017b4312623a8f3926c1 /drivers/mmc/host | |
parent | 7f8e446b032bd6bbcec7c2f068d0a4f2d5929249 (diff) | |
download | op-kernel-dev-2d1d31dda766b146bbd77db5e4e1534f64c92c2b.zip op-kernel-dev-2d1d31dda766b146bbd77db5e4e1534f64c92c2b.tar.gz |
mmc: vub300: Use common code in __download_offload_pseudocode()
Add a jump target so that a specific string copy operation is stored
only once at the end of this function implementation.
Replace two calls of the function "strncpy" by goto statements.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r-- | drivers/mmc/host/vub300.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/mmc/host/vub300.c b/drivers/mmc/host/vub300.c index e609152..1fe6813 100644 --- a/drivers/mmc/host/vub300.c +++ b/drivers/mmc/host/vub300.c @@ -1246,12 +1246,8 @@ static void __download_offload_pseudocode(struct vub300_mmc_host *vub300, USB_RECIP_DEVICE, 0x0000, 0x0000, xfer_buffer, xfer_length, HZ); kfree(xfer_buffer); - if (retval < 0) { - strncpy(vub300->vub_name, - "SDIO pseudocode download failed", - sizeof(vub300->vub_name)); - return; - } + if (retval < 0) + goto copy_error_message; } else { dev_err(&vub300->udev->dev, "not enough memory for xfer buffer to send" @@ -1293,12 +1289,8 @@ static void __download_offload_pseudocode(struct vub300_mmc_host *vub300, USB_RECIP_DEVICE, 0x0000, 0x0000, xfer_buffer, xfer_length, HZ); kfree(xfer_buffer); - if (retval < 0) { - strncpy(vub300->vub_name, - "SDIO pseudocode download failed", - sizeof(vub300->vub_name)); - return; - } + if (retval < 0) + goto copy_error_message; } else { dev_err(&vub300->udev->dev, "not enough memory for xfer buffer to send" @@ -1351,6 +1343,12 @@ static void __download_offload_pseudocode(struct vub300_mmc_host *vub300, sizeof(vub300->vub_name)); return; } + + return; + +copy_error_message: + strncpy(vub300->vub_name, "SDIO pseudocode download failed", + sizeof(vub300->vub_name)); } /* |