2016-12-08 00:40:32

by Pan Bian

[permalink] [raw]
Subject: [PATCH 1/1] orinoco: fix improper return value

Function orinoco_ioctl_commit() returns 0 (indicates success) when the
call to orinoco_lock() fails. Thus, the return value is inconsistent with
the execution status. It may be better to return "-EBUSY" when the call
to orinoco_lock() fails.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188671

Signed-off-by: Pan Bian <[email protected]>
---
drivers/net/wireless/intersil/orinoco/wext.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/intersil/orinoco/wext.c b/drivers/net/wireless/intersil/orinoco/wext.c
index 1d4dae4..fee57ea 100644
--- a/drivers/net/wireless/intersil/orinoco/wext.c
+++ b/drivers/net/wireless/intersil/orinoco/wext.c
@@ -1314,7 +1314,7 @@ static int orinoco_ioctl_commit(struct net_device *dev,
return 0;

if (orinoco_lock(priv, &flags) != 0)
- return err;
+ return -EBUSY;

err = orinoco_commit(priv);

--
1.9.1


2016-12-08 10:30:57

by Arend Van Spriel

[permalink] [raw]
Subject: Re: [PATCH 1/1] orinoco: fix improper return value

On 8-12-2016 1:40, Pan Bian wrote:
> Function orinoco_ioctl_commit() returns 0 (indicates success) when the
> call to orinoco_lock() fails. Thus, the return value is inconsistent with
> the execution status. It may be better to return "-EBUSY" when the call
> to orinoco_lock() fails.
>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188671
>
> Signed-off-by: Pan Bian <[email protected]>
> ---
> drivers/net/wireless/intersil/orinoco/wext.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/intersil/orinoco/wext.c b/drivers/net/wireless/intersil/orinoco/wext.c
> index 1d4dae4..fee57ea 100644
> --- a/drivers/net/wireless/intersil/orinoco/wext.c
> +++ b/drivers/net/wireless/intersil/orinoco/wext.c
> @@ -1314,7 +1314,7 @@ static int orinoco_ioctl_commit(struct net_device *dev,
> return 0;
>
> if (orinoco_lock(priv, &flags) != 0)
> - return err;
> + return -EBUSY;

Actually, orinoco_lock will return either -EBUSY or 0 so maybe better to
just do:

err = orinoco_lock(priv, &flags);
if (err < 0)
return err;

Regards,
Arend

> err = orinoco_commit(priv);
>
>