Skip to content

Commit

Permalink
lan78xx: Correctly indicate invalid OTP
Browse files Browse the repository at this point in the history
[ Upstream commit 4bfc338 ]

lan78xx_read_otp tries to return -EINVAL in the event of invalid OTP
content, but the value gets overwritten before it is returned and the
read goes ahead anyway. Make the read conditional as it should be
and preserve the error code.

Fixes: 55d7de9 ("Microchip's LAN7800 family USB 2/3 to 10/100/1000 Ethernet device driver")
Signed-off-by: Phil Elwell <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
  • Loading branch information
Phil Elwell authored and gregkh committed Apr 19, 2018
1 parent a6f8bdd commit 44f9357
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/net/usb/lan78xx.c
Original file line number Diff line number Diff line change
Expand Up @@ -928,7 +928,8 @@ static int lan78xx_read_otp(struct lan78xx_net *dev, u32 offset,
offset += 0x100;
else
ret = -EINVAL;
ret = lan78xx_read_raw_otp(dev, offset, length, data);
if (!ret)
ret = lan78xx_read_raw_otp(dev, offset, length, data);
}

return ret;
Expand Down

0 comments on commit 44f9357

Please sign in to comment.