]> 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)
commit2865f7b6b43e8863d84769b76f3698b44c18d761
tree5c43bb12f31bbe9ccc96c837349a4ade53256087
parent42b72406b0c2c349bc62f9f472608bd0b224034d
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