Skip to content

Commit 7f69dc1

Browse files
preisigregkh
authored andcommitted
net: 3com: typhoon: typhoon_init_one: fix incorrect return values
[ Upstream commit 107fded7bf616ad6f46823d98b8ed6405d7adf2d ] In a few cases the err-variable is not set to a negative error code if a function call in typhoon_init_one() fails and thus 0 is returned instead. It may be better to set err to the appropriate negative error code before returning. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=188841 Reported-by: Pan Bian <bianpan2016@163.com> 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>
1 parent 6097976 commit 7f69dc1

1 file changed

Lines changed: 6 additions & 3 deletions

File tree

drivers/net/ethernet/3com/typhoon.c

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2398,16 +2398,18 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
23982398
*(__be16 *)&dev->dev_addr[0] = htons(le16_to_cpu(xp_resp[0].parm1));
23992399
*(__be32 *)&dev->dev_addr[2] = htonl(le32_to_cpu(xp_resp[0].parm2));
24002400

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

24062407
/* Read the Sleep Image version last, so the response is valid
24072408
* later when we print out the version reported.
24082409
*/
24092410
INIT_COMMAND_WITH_RESPONSE(&xp_cmd, TYPHOON_CMD_READ_VERSIONS);
2410-
if(typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp) < 0) {
2411+
err = typhoon_issue_command(tp, 1, &xp_cmd, 3, xp_resp);
2412+
if (err < 0) {
24112413
err_msg = "Could not get Sleep Image version";
24122414
goto error_out_reset;
24132415
}
@@ -2449,7 +2451,8 @@ typhoon_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
24492451
dev->features = dev->hw_features |
24502452
NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_RXCSUM;
24512453

2452-
if(register_netdev(dev) < 0) {
2454+
err = register_netdev(dev);
2455+
if (err < 0) {
24532456
err_msg = "unable to register netdev";
24542457
goto error_out_reset;
24552458
}

0 commit comments

Comments
 (0)