From: Benjamin Romer Date: Tue, 23 Feb 2016 15:01:50 +0000 (-0500) Subject: staging: unisys: remove goto in get_vbus_header_info X-Git-Tag: next-20160301~20^2~9 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=f748f64f0605f5a236aee103b75ec48075d2c4fa;p=karo-tx-linux.git staging: unisys: remove goto in get_vbus_header_info 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c b/drivers/staging/unisys/visorbus/visorbus_main.c index c0badfa5a46f..0add9ffe68fd 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 to the struct