On Thu, Aug 14, 2014 at 12:43 AM, Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> wrote: > On Wed, Aug 13, 2014 at 12:06 PM, Tobias Klauser <tklauser@xxxxxxxxxx> wrote: >> On 2014-08-12 at 20:54:48 +0200, Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> wrote: >>> removed goto label, and directly returning 0 not through goto. >>> >>> Signed-off-by: Jeshwanth Kumar N K <jeshkumar555@xxxxxxxxx> >>> --- >>> drivers/staging/wlan-ng/prism2mgmt.c | 14 ++++---------- >>> 1 file changed, 4 insertions(+), 10 deletions(-) >>> >>> diff --git a/drivers/staging/wlan-ng/prism2mgmt.c b/drivers/staging/wlan-ng/prism2mgmt.c >>> index 5837b0e..9218399 100644 >>> --- a/drivers/staging/wlan-ng/prism2mgmt.c >>> +++ b/drivers/staging/wlan-ng/prism2mgmt.c >>> @@ -1107,8 +1107,7 @@ int prism2mgmt_wlansniff(wlandevice_t *wlandev, void *msgp) >>> if (wlandev->netdev->type == ARPHRD_ETHER) { >>> msg->resultcode.data = >>> P80211ENUM_resultcode_invalid_parameters; >>> - result = 0; >>> - goto exit; >>> + return 0; >>> } >>> /* Disable monitor mode */ >>> result = hfa384x_cmd_monitor(hw, HFA384x_MONITOR_DISABLE); >>> @@ -1166,8 +1165,7 @@ int prism2mgmt_wlansniff(wlandevice_t *wlandev, void *msgp) >>> >>> netdev_info(wlandev->netdev, "monitor mode disabled\n"); >>> msg->resultcode.data = P80211ENUM_resultcode_success; >>> - result = 0; >>> - goto exit; >>> + return 0; >>> case P80211ENUM_truth_true: >>> /* Disable the port (if enabled), only check Port 0 */ >>> if (hw->port_enabled[0]) { >>> @@ -1312,17 +1310,13 @@ int prism2mgmt_wlansniff(wlandevice_t *wlandev, void *msgp) >>> } >>> >>> msg->resultcode.data = P80211ENUM_resultcode_success; >>> - result = 0; >>> - goto exit; >>> + return 0; >>> default: >>> msg->resultcode.data = P80211ENUM_resultcode_invalid_parameters; >>> - result = 0; >>> - goto exit; >>> + return 0; >>> } >>> >>> failed: >>> msg->resultcode.data = P80211ENUM_resultcode_refused; >>> result = 0; >>> -exit: >>> - return result; >> >> You will still need the return here for the cases where the 'failed' >> label is the jump target. Also, this change leads to a compiler warning: >> >> drivers/staging/wlan-ng/prism2usb.c: In function ‘prism2mgmt_wlansniff’: >> drivers/staging/wlan-ng/prism2mgmt.c:1322:1: warning: control reaches end of non-void function [-Wreturn-type] >> >> In any case, resetting the return value to 0 makes the function always return >> successfully and seems to signal the error condition by setting >> msg->resultcode.data. This looks a bit odd to me and also doesn't correspond to >> the documentation of the function's return value. It might be worthwile to take >> a closer look there as well. >> >> Thanks >> Tobias > > Hi Tobias, > > Thanks, I have changed it in local now (not yet submitted). But yes as > you said it's not returning 0 every time. > > In comment it's mentioned that "<0 success, but we're waiting for > something to finish.". This means this function implementation is not > yet finished? > > If there is no 2nd value of return, this can be made as void function? > or need to understand the logic behind? > > And I didn't find it is checking P80211ENUM_resultcode_refused > anywhere in the code. > > Thanks > > > -- > Regards > Jeshwanth Kumar N K > Bangalore, India Sorry, a typo from me in previous mail. Thanks, I have changed it in local now (not yet submitted). But yes as you said it's returning 0 every time. -- Regards Jeshwanth Kumar N K Bangalore, India _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel