usb: eth: lan78xx: Fix logic in lan78xx_read_otp() to avoid a warning

In lan78xx_read_otp() we want to know if sig is LAN78XX_OTP_INDICATOR_1
or LAN78XX_OTP_INDICATOR_2.  In the case of matching the first one we
set offset to itself, and clang warns about this.  Rework the logic so
that if sig is the second indicator we adjust the offset as today and if
it does not match the first indicator we return -EINVAL

Cc: Marek Vasut <marex@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Tom Rini 2020-06-04 16:35:15 -04:00
parent 1aeedef937
commit 5f024d10bb

View File

@ -146,11 +146,9 @@ static int lan78xx_read_otp(struct usb_device *udev, u32 offset,
ret = lan78xx_read_raw_otp(udev, 0, 1, &sig);
if (!ret) {
if (sig == LAN78XX_OTP_INDICATOR_1)
offset = offset;
else if (sig == LAN78XX_OTP_INDICATOR_2)
if (sig == LAN78XX_OTP_INDICATOR_2)
offset += 0x100;
else
else if (sig != LAN78XX_OTP_INDICATOR_1)
return -EINVAL;
ret = lan78xx_read_raw_otp(udev, offset, length, data);
if (ret)