igb: Add check for invalid size to igb_get_invariants_82575()
Recent commits have changed how EEPROM size is checked and if the size word is misconfigured, the driver will fail to load. This patch adds a check for invalid size word in the EEPROM and uses default size instead for 82576 parts. Reported-by: Stefan Assmann <sassmann@redhat.com> Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
ec7e97e9a0
commit
f6b1bfd17d
@ -244,6 +244,14 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
|
||||
*/
|
||||
size += NVM_WORD_SIZE_BASE_SHIFT;
|
||||
|
||||
/*
|
||||
* Check for invalid size
|
||||
*/
|
||||
if ((hw->mac.type == e1000_82576) && (size > 15)) {
|
||||
printk("igb: The NVM size is not valid, "
|
||||
"defaulting to 32K.\n");
|
||||
size = 15;
|
||||
}
|
||||
nvm->word_size = 1 << size;
|
||||
if (nvm->word_size == (1 << 15))
|
||||
nvm->page_size = 128;
|
||||
|
Loading…
x
Reference in New Issue
Block a user