smsc95xx: check return value of smsc95xx_reset
[ Upstream commit 7c8b1e855f94f88a0c569be6309fc8d5c8844cd1 ] The return value of the function smsc95xx_reset() must be checked to avoid returning false success from the function smsc95xx_bind(). Fixes: 2f7ca802bdae2 ("net: Add SMSC LAN9500 USB2.0 10/100 ethernet adapter driver") Signed-off-by: Andre Edich <andre.edich@microchip.com> Signed-off-by: Parthiban Veerasooran <Parthiban.Veerasooran@microchip.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
0740535e79
commit
dc524e4086
@ -1292,6 +1292,8 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
|
||||
/* Init all registers */
|
||||
ret = smsc95xx_reset(dev);
|
||||
if (ret)
|
||||
goto free_pdata;
|
||||
|
||||
/* detect device revision as different features may be available */
|
||||
ret = smsc95xx_read_reg(dev, ID_REV, &val);
|
||||
@ -1320,6 +1322,10 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf)
|
||||
schedule_delayed_work(&pdata->carrier_check, CARRIER_CHECK_DELAY);
|
||||
|
||||
return 0;
|
||||
|
||||
free_pdata:
|
||||
kfree(pdata);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void smsc95xx_unbind(struct usbnet *dev, struct usb_interface *intf)
|
||||
|
Loading…
x
Reference in New Issue
Block a user