net: txgbe: fix eeprom calculation error
For some device types like TXGBE_ID_XAUI, *checksum computed in txgbe_calc_eeprom_checksum() is larger than TXGBE_EEPROM_SUM. Remove the limit on the size of *checksum. Fixes: 049fe5365324 ("net: txgbe: Add operations to interact with firmware") Fixes: 5e2ea7801fac ("net: txgbe: Fix unsigned comparison to zero in txgbe_calc_eeprom_checksum()") Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> Link: https://lore.kernel.org/r/20230711063414.3311-1-jiawenwu@trustnetic.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
150e33e62c
commit
aa846677a9
@ -186,9 +186,6 @@ static int txgbe_calc_eeprom_checksum(struct wx *wx, u16 *checksum)
|
||||
if (eeprom_ptrs)
|
||||
kvfree(eeprom_ptrs);
|
||||
|
||||
if (*checksum > TXGBE_EEPROM_SUM)
|
||||
return -EINVAL;
|
||||
|
||||
*checksum = TXGBE_EEPROM_SUM - *checksum;
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user