mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 15:34:48 +08:00
igb: Read flow control for i350 from correct EEPROM section
Flow control is defined in the four EEPROM sections but the driver only reads from section 0. Signed-off-by: Todd Fujinaka <todd.fujinaka@intel.com> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
bb1d18d1ad
commit
c7cb020d0b
@ -712,6 +712,7 @@ static s32 igb_set_fc_watermarks(struct e1000_hw *hw)
|
||||
static s32 igb_set_default_fc(struct e1000_hw *hw)
|
||||
{
|
||||
s32 ret_val = 0;
|
||||
u16 lan_offset;
|
||||
u16 nvm_data;
|
||||
|
||||
/* Read and store word 0x0F of the EEPROM. This word contains bits
|
||||
@ -722,7 +723,14 @@ static s32 igb_set_default_fc(struct e1000_hw *hw)
|
||||
* control setting, then the variable hw->fc will
|
||||
* be initialized based on a value in the EEPROM.
|
||||
*/
|
||||
ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG, 1, &nvm_data);
|
||||
if (hw->mac.type == e1000_i350) {
|
||||
lan_offset = NVM_82580_LAN_FUNC_OFFSET(hw->bus.func);
|
||||
ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG
|
||||
+ lan_offset, 1, &nvm_data);
|
||||
} else {
|
||||
ret_val = hw->nvm.ops.read(hw, NVM_INIT_CONTROL2_REG,
|
||||
1, &nvm_data);
|
||||
}
|
||||
|
||||
if (ret_val) {
|
||||
hw_dbg("NVM Read Error\n");
|
||||
|
Loading…
Reference in New Issue
Block a user