Remove the rc, the = -1, and all the goto mess here and just return
directly with a meaningful error number.

The caller only cares about success/failure right now, that needs to be
addressed in a later patch series.

Signed-off-by: Benjamin Romer <benjamin.ro...@unisys.com>
---
 drivers/staging/unisys/visorbus/visorbus_main.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c 
b/drivers/staging/unisys/visorbus/visorbus_main.c
index c0badfa..0add9ffe 100644
--- a/drivers/staging/unisys/visorbus/visorbus_main.c
+++ b/drivers/staging/unisys/visorbus/visorbus_main.c
@@ -1058,23 +1058,21 @@ static int
 get_vbus_header_info(struct visorchannel *chan,
                     struct spar_vbus_headerinfo *hdr_info)
 {
-       int rc = -1;
-
        if (!SPAR_VBUS_CHANNEL_OK_CLIENT(visorchannel_get_header(chan)))
-               goto away;
+               return -EINVAL;
+
        if (visorchannel_read(chan, sizeof(struct channel_header), hdr_info,
                              sizeof(*hdr_info)) < 0) {
-               goto away;
+               return -EIO;
        }
        if (hdr_info->struct_bytes < sizeof(struct spar_vbus_headerinfo))
-               goto away;
+               return -EINVAL;
+
        if (hdr_info->device_info_struct_bytes <
            sizeof(struct ultra_vbus_deviceinfo)) {
-               goto away;
+               return -EINVAL;
        }
-       rc = 0;
-away:
-       return rc;
+       return 0;
 }
 
 /* Write the contents of <info> to the struct
-- 
2.5.0

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to