iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
The loop counter addr is a u16 where as the upper limit of the loop is an int. In the unlikely event that the il->cfg->eeprom_size is greater than 64K then we end up with an infinite loop since addr will wrap around an never reach upper loop limit. Fix this by making addr an int. Addresses-Coverity: ("Infinite loop") Fixes: be663ab67077 ("iwlwifi: split the drivers for agn and legacy devices 3945/4965") Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Stanislaw Gruszka <stf_xl@wp.pl> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
f76c34082b
commit
c2f9a4e4a5
@ -699,7 +699,7 @@ il_eeprom_init(struct il_priv *il)
|
||||
u32 gp = _il_rd(il, CSR_EEPROM_GP);
|
||||
int sz;
|
||||
int ret;
|
||||
u16 addr;
|
||||
int addr;
|
||||
|
||||
/* allocate eeprom */
|
||||
sz = il->cfg->eeprom_size;
|
||||
|
Loading…
x
Reference in New Issue
Block a user