]> git.baikalelectronics.ru Git - kernel.git/commit
net/tg3: Avoid delay during MMIO access
authorGavin Shan <shangw@linux.vnet.ibm.com>
Tue, 25 Jun 2013 07:24:32 +0000 (15:24 +0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Jun 2013 00:00:40 +0000 (17:00 -0700)
commitafae6522263102e2007885986da6bf2289555985
tree5c43bb12f31bbe9ccc96c837349a4ade53256087
parent1c9d483783bd94b7037b0034c0f809fdee5764a4
net/tg3: Avoid delay during MMIO access

When the EEH error is the result of a fenced host bridge, MMIO accesses
can be very slow (milliseconds) to timeout and return all 1's,
thus causing the driver various timeout loops to take way too long and
trigger soft-lockup warnings (in addition to taking minutes to recover).

It might be worthwhile to check if for any of these cases, ffffffff is
a valid possible value, and if not, bail early since that means the HW
is either gone or isolated. In the meantime, checking that the PCI channel
is offline would be workaround of the problem.

Cc: <stable@vger.kernel.org> # v3.0+
Signed-off-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/tg3.c