Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f227ec3c authored by Kok, Auke's avatar Kok, Auke Committed by Jeff Garzik
Browse files

e1000e: don't return half-read eeprom on error



On a read error, e1000e might have returned uninitialized block of
eeprom data back to userspace. The convention is that 0xff is "empty",
so mark the entire eeprom as empty in case of an error.

Signed-off-by: default avatarAuke Kok <auke-jan.h.kok@intel.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent e410553f
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -494,10 +494,14 @@ static int e1000_get_eeprom(struct net_device *netdev,
		for (i = 0; i < last_word - first_word + 1; i++) {
			ret_val = e1000_read_nvm(hw, first_word + i, 1,
						      &eeprom_buff[i]);
			if (ret_val)
			if (ret_val) {
				/* a read error occurred, throw away the
				 * result */
				memset(eeprom_buff, 0xff, sizeof(eeprom_buff));
				break;
			}
		}
	}

	/* Device's eeprom is always little-endian, word addressable */
	for (i = 0; i < last_word - first_word + 1; i++)