2016-12-03 13:24:48

by Pan Bian

[permalink] [raw]
Subject: [PATCH 1/1] net: ethernet: 3com: set error code on failures

From: Pan Bian <[email protected]>

In function typhoon_init_one(), returns the value of variable err on
errors. However, on some error paths, variable err is not set to a
negative errno. This patch assigns "-EIO" to err on those paths.

Signed-off-by: Pan Bian <[email protected]>
---
drivers/net/ethernet/3com/typhoon.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
index 8f8418d..9a477fc 100644
--- a/drivers/net/ethernet/3com/typhoon.c
+++ b/drivers/net/ethernet/3com/typhoon.c
@@ -2400,6 +2400,7 @@ enum state_values {

if(!is_valid_ether_addr(dev->dev_addr)) {
err_msg = "Could not obtain valid ethernet address, aborting";
+ err = -EIO;
goto error_out_reset;
}

@@ -2409,6 +2410,7 @@ enum state_values {
INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_VERSIONS);
if(typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp) < 0) {
err_msg = "Could not get Sleep Image version";
+ err = -EIO;
goto error_out_reset;
}

@@ -2451,6 +2453,7 @@ enum state_values {

if(register_netdev(dev) < 0) {
err_msg = "unable to register netdev";
+ err = -EIO;
goto error_out_reset;
}

--
1.9.1



2016-12-03 13:53:23

by Lino Sanfilippo

[permalink] [raw]
Subject: Re: [PATCH 1/1] net: ethernet: 3com: set error code on failures

Hi,

On 03.12.2016 14:24, Pan Bian wrote:
> From: Pan Bian <[email protected]>
>
> In function typhoon_init_one(), returns the value of variable err on
> errors. However, on some error paths, variable err is not set to a
> negative errno. This patch assigns "-EIO" to err on those paths.
>
> Signed-off-by: Pan Bian <[email protected]>

>
> @@ -2409,6 +2410,7 @@ enum state_values {
> INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_VERSIONS);
> if(typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp) < 0) {
> err_msg = "Could not get Sleep Image version";
> + err = -EIO;
> goto error_out_reset;
> }
>
> @@ -2451,6 +2453,7 @@ enum state_values {
>
> if(register_netdev(dev) < 0) {
> err_msg = "unable to register netdev";
> + err = -EIO;
> goto error_out_reset;
> }
>
>

Why not return the error value provided by the called functions? Is there a reason
to map different errors to -EIO?

Regards,
Lino

2016-12-03 15:40:26

by Pan Bian

[permalink] [raw]
Subject: Re: [PATCH 1/1] net: ethernet: 3com: set error code on failures

From: PanBian <[email protected]>

Hi, Lino,

There is no special reason to map different errors to -EIO. In the
original source code, err is set to -EIO on most error paths. I copied
that. I guess it has no difference with the error value provided by the
called functions in the view of callers of typhoon_init_one().

Thanks!

Best regards,
Pan

On Sat, Dec 03, 2016 at 02:53:07PM +0100, Lino Sanfilippo wrote:
> Hi,
>
> On 03.12.2016 14:24, Pan Bian wrote:
> > From: Pan Bian <[email protected]>
> >
> > In function typhoon_init_one(), returns the value of variable err on
> > errors. However, on some error paths, variable err is not set to a
> > negative errno. This patch assigns "-EIO" to err on those paths.
> >
> > Signed-off-by: Pan Bian <[email protected]>
>
> >
> > @@ -2409,6 +2410,7 @@ enum state_values {
> > INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_VERSIONS);
> > if(typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp) < 0) {
> > err_msg = "Could not get Sleep Image version";
> > + err = -EIO;
> > goto error_out_reset;
> > }
> >
> > @@ -2451,6 +2453,7 @@ enum state_values {
> >
> > if(register_netdev(dev) < 0) {
> > err_msg = "unable to register netdev";
> > + err = -EIO;
> > goto error_out_reset;
> > }
> >
> >
>
> Why not return the error value provided by the called functions? Is there a reason
> to map different errors to -EIO?
>
> Regards,
> Lino