Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1547051

Re: [PATCH] drivers: net: ethernet: 3com: fix return value

From Thomas Preisner <thomas.preisner+linux@fau.de>
Newsgroups linux.kernel
Subject Re: [PATCH] drivers: net: ethernet: 3com: fix return value
Date 2016-12-24 13:10 +0100
Message-ID <sRTjb-6KI-3@gated-at.bofh.it> (permalink)
References <sRJa9-6Gi-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Sat, 2016-12-24 at 02:06 +0100, David Dillow wrote:
>On Sat, 2016-12-24 at 00:00 +0100, Thomas Preisner wrote:
>> diff --git a/drivers/net/ethernet/3com/typhoon.c b/drivers/net/ethernet/3com/typhoon.c
>> index a0cacbe..9a3ab58 100644
>> --- a/drivers/net/ethernet/3com/typhoon.c
>> +++ b/drivers/net/ethernet/3com/typhoon.c
>> @@ -2404,6 +2404,7 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>>  
>>  	if(!is_valid_ether_addr(dev->dev_addr)) {
>>  		err_msg = "Could not obtain valid ethernet address, aborting";
>> +		err = -EIO;
>>  		goto error_out_reset;
>
>The change above is fine, but the other two should use the return value
>from the failing function call.
>
>
>> @@ -2413,6 +2414,7 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>>  	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;
>>  	}
>>  
>> @@ -2455,6 +2457,7 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
>>  
>>  	if(register_netdev(dev) < 0) {
>>  		err_msg = "unable to register netdev";
>> +		err = -EIO;
>>  		goto error_out_reset;
>>  	}
>>  

You are of course right. After you mentioning this we've looked into it a bit
further and realized that the return values of failing function calls are not
being used in various occasions inside of typhoon_init_one().
That's why we've created a second patch to fix this misbehavior (if it is one).
In case this was intended, feel free to ignore the second patch.

Patch 1:
Makes the function typhoon_init_one() return a negative error code instead of 0.

Patch 2 [Optional]:
Makes the function typhoon_init_one() return the return value of the
corresponding failing function calls instead of a "fixed" negative error code.

With regards (and merry christmas),
Milan and Thomas

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-24 00:10 +0100
  Re: [PATCH] drivers: net: ethernet: 3com: fix return value David Dillow <dave@thedillows.org> - 2016-12-24 02:20 +0100
    [PATCH v2 1/2] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-24 13:10 +0100
      Re: [PATCH v2 1/2] drivers: net: ethernet: 3com: fix return value Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-12-24 20:10 +0100
        [PATCH v3 1/2] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-25 01:40 +0100
          Re: [PATCH v3 1/2] drivers: net: ethernet: 3com: fix return value David Miller <davem@davemloft.net> - 2016-12-25 02:00 +0100
        [PATCH v3 2/2] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-25 01:40 +0100
          Re: [PATCH v3 2/2] drivers: net: ethernet: 3com: fix return value Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> - 2016-12-25 11:10 +0100
          Re: [PATCH v3 2/2] drivers: net: ethernet: 3com: fix return value David Dillow <dave@thedillows.org> - 2016-12-27 22:20 +0100
            [PATCH v4 1/2] net: 3com: typhoon: typhoon_init_one: fix incorrect return values Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-30 03:40 +0100
              Re: [PATCH v4 1/2] net: 3com: typhoon: typhoon_init_one: fix  incorrect return values David Miller <davem@davemloft.net> - 2016-12-30 21:30 +0100
            [PATCH v4 2/2] net: 3com: typhoon: typhoon_init_one: make return values more specific Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-30 03:40 +0100
              Re: [PATCH v4 2/2] net: 3com: typhoon: typhoon_init_one: make  return values more specific David Miller <davem@davemloft.net> - 2016-12-30 21:30 +0100
            Re: Re: [PATCH v3 2/2] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-30 03:40 +0100
        Re: Re: [PATCH v2 1/2] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-25 01:40 +0100
          Re: Re: [PATCH v2 1/2] drivers: net: ethernet: 3com: fix return  value David Dillow <dave@thedillows.org> - 2016-12-27 22:20 +0100
    Re: [PATCH] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-24 13:10 +0100
      [PATCH v2 2/2] drivers: net: ethernet: 3com: fix return value Thomas Preisner <thomas.preisner+linux@fau.de> - 2016-12-24 13:10 +0100

csiph-web