diff mbox

[1/1] net: ethernet: 3com: set error code on failures

Message ID 1480771470-6404-1-git-send-email-bianpan201602@163.com
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Pan Bian Dec. 3, 2016, 1:24 p.m. UTC
From: Pan Bian <bianpan2016@163.com>

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 <bianpan2016@163.com>
---
 drivers/net/ethernet/3com/typhoon.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Lino Sanfilippo Dec. 3, 2016, 1:53 p.m. UTC | #1
Hi,

On 03.12.2016 14:24, Pan Bian wrote:
> From: Pan Bian <bianpan2016@163.com>
> 
> 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 <bianpan2016@163.com>

>  
> @@ -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
Pan Bian Dec. 3, 2016, 3:23 p.m. UTC | #2
From: PanBian <bianpan2016@163.com>

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 <bianpan2016@163.com>
> > 
> > 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 <bianpan2016@163.com>
> 
> >  
> > @@ -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
diff mbox

Patch

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;
 	}