Skip to content

Commit 7c8b1e8

Browse files
Andre Edichdavem330
authored andcommitted
smsc95xx: check return value of smsc95xx_reset
The return value of the function smsc95xx_reset() must be checked to avoid returning false success from the function smsc95xx_bind(). Fixes: 2f7ca80 ("net: Add SMSC LAN9500 USB2.0 10/100 ethernet adapter driver") Signed-off-by: Andre Edich <[email protected]> Signed-off-by: Parthiban Veerasooran <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 9dc829a commit 7c8b1e8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

drivers/net/usb/smsc95xx.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,6 +1287,8 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
12871287

12881288
/* Init all registers */
12891289
ret = smsc95xx_reset(dev);
1290+
if (ret)
1291+
goto free_pdata;
12901292

12911293
/* detect device revision as different features may be available */
12921294
ret = smsc95xx_read_reg(dev, ID_REV, &val);
@@ -1317,6 +1319,10 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
13171319
schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY);
13181320

13191321
return 0;
1322+
1323+
free_pdata:
1324+
kfree(pdata);
1325+
return ret;
13201326
}
13211327

13221328
static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf)

0 commit comments

Comments
 (0)