diff options
author | Alexander Duyck <alexander.h.duyck@intel.com> | 2009-12-23 13:21:27 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-12-23 20:47:50 -0800 |
commit | d405ea3ef2499eb46834418a643973c884ff7f30 (patch) | |
tree | 4dafb0895c615a8062602e881be4eec809c04446 /drivers/net | |
parent | 8c6af2995c14e71558c312b86955ae32272a03d8 (diff) |
igb: correctly offset 82575 flow control watermarks by 16 bytes
The watermark values for the 82575 were not being set correctly. As a
result the high and low watermark values were set to the same value which
can lead to excess xon/xoff packets being generated.
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/igb/igb_main.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 78963a0e128d..933c64ff2465 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c @@ -1306,13 +1306,8 @@ void igb_reset(struct igb_adapter *adapter) hwm = min(((pba << 10) * 9 / 10), ((pba << 10) - 2 * adapter->max_frame_size)); - if (mac->type < e1000_82576) { - fc->high_water = hwm & 0xFFF8; /* 8-byte granularity */ - fc->low_water = fc->high_water - 8; - } else { - fc->high_water = hwm & 0xFFF0; /* 16-byte granularity */ - fc->low_water = fc->high_water - 16; - } + fc->high_water = hwm & 0xFFF0; /* 16-byte granularity */ + fc->low_water = fc->high_water - 16; fc->pause_time = 0xFFFF; fc->send_xon = 1; fc->current_mode = fc->requested_mode; |