summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/3com
diff options
context:
space:
mode:
authorParikh, Neerav <neerav.parikh@intel.com>2012-09-27 12:02:22 +0000
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>2012-11-28 04:28:56 -0800
commit2afaa00d2fa2ae1fa806ebd229bc3f56df8449d5 (patch)
treede6def5760ba7b8688c4d3649737d11e2d561e1d /drivers/net/ethernet/3com
parent9de0c8ed7840d01fd5cf1851df2725fe30dc0817 (diff)
downloadlinux-3.10-2afaa00d2fa2ae1fa806ebd229bc3f56df8449d5.tar.gz
linux-3.10-2afaa00d2fa2ae1fa806ebd229bc3f56df8449d5.tar.bz2
linux-3.10-2afaa00d2fa2ae1fa806ebd229bc3f56df8449d5.zip
ixgbe: Fix incorrect disabling of Tx hang check in case of PFC
The XOFF received statistic registers are per priority based and not per traffic class. The ixgbe driver was incorrectly considering them to be for each traffic class; and then disabling the "Tx hang" check for the queues that belonged to the particular traffic class that had received PFC frames. The above logic worked fine in scenario where the user priority and traffic class number matched e.g. priority 0 is mapped to traffic class 0 and so on. But, when multiple user priorities are mapped to a single traffic class or when user priorities and traffic class numbers do not line up; the ixgbe driver may disable the "Tx hang" check for queues belonging to a traffic class that did not receive PFC frames and keep the "Tx hang" check enabled for the queues that did receive the PFC frames. This patch corrects the above in the code by considering the statistics on a per priority basis; then getting the traffic class the user priority belongs to and disabling the "Tx hang" check for queues that belong to that traffic class. Signed-off-by: Neerav Parikh <Neerav.Parikh@intel.com> Acked-by: John Fastabend <john.r.fastabend@intel.com> Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com> Tested-by: Marcus Dennis <marcusx.e.dennis@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Diffstat (limited to 'drivers/net/ethernet/3com')
0 files changed, 0 insertions, 0 deletions