| From foo@baz Tue Nov 28 10:58:31 CET 2017 |
| From: Thomas Preisner <thomas.preisner+linux@fau.de> |
| Date: Fri, 30 Dec 2016 03:37:54 +0100 |
| Subject: net: 3com: typhoon: typhoon_init_one: make return values more specific |
| |
| From: Thomas Preisner <thomas.preisner+linux@fau.de> |
| |
| |
| [ Upstream commit 6b6bbb5922a4b1d4b58125a572da91010295fba3 ] |
| |
| In some cases the return value of a failing function is not being used |
| and the function typhoon_init_one() returns another negative error code |
| instead. |
| |
| Signed-off-by: Thomas Preisner <thomas.preisner+linux@fau.de> |
| Signed-off-by: Milan Stephan <milan.stephan+linux@fau.de> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Sasha Levin <alexander.levin@verizon.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/3com/typhoon.c | 16 ++++++++-------- |
| 1 file changed, 8 insertions(+), 8 deletions(-) |
| |
| --- a/drivers/net/ethernet/3com/typhoon.c |
| +++ b/drivers/net/ethernet/3com/typhoon.c |
| @@ -2366,9 +2366,9 @@ typhoon_init_one(struct pci_dev *pdev, c |
| * 4) Get the hardware address. |
| * 5) Put the card to sleep. |
| */ |
| - if (typhoon_reset(ioaddr, WaitSleep) < 0) { |
| + err = typhoon_reset(ioaddr, WaitSleep); |
| + if (err < 0) { |
| err_msg = "could not reset 3XP"; |
| - err = -EIO; |
| goto error_out_dma; |
| } |
| |
| @@ -2382,16 +2382,16 @@ typhoon_init_one(struct pci_dev *pdev, c |
| typhoon_init_interface(tp); |
| typhoon_init_rings(tp); |
| |
| - if(typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST) < 0) { |
| + err = typhoon_boot_3XP(tp, TYPHOON_STATUS_WAITING_FOR_HOST); |
| + if (err < 0) { |
| err_msg = "cannot boot 3XP sleep image"; |
| - err = -EIO; |
| goto error_out_reset; |
| } |
| |
| INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_MAC_ADDRESS); |
| - if(typhoon_issue_command(tp, 1, &xp_cmd, 1, xp_resp) < 0) { |
| + err = typhoon_issue_command(tp, 1, &xp_cmd, 1, xp_resp); |
| + if (err < 0) { |
| err_msg = "cannot read MAC address"; |
| - err = -EIO; |
| goto error_out_reset; |
| } |
| |
| @@ -2424,9 +2424,9 @@ typhoon_init_one(struct pci_dev *pdev, c |
| if(xp_resp[0].numDesc != 0) |
| tp->capabilities |= TYPHOON_WAKEUP_NEEDS_RESET; |
| |
| - if(typhoon_sleep(tp, PCI_D3hot, 0) < 0) { |
| + err = typhoon_sleep(tp, PCI_D3hot, 0); |
| + if (err < 0) { |
| err_msg = "cannot put adapter to sleep"; |
| - err = -EIO; |
| goto error_out_reset; |
| } |
| |