]> git.kernelconcepts.de Git - karo-tx-linux.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)
commit6d446ec32f169c6a5d9bc90684a8082a6cbe90f6
tree5c43bb12f31bbe9ccc96c837349a4ade53256087
parentdc8482926e2b1006ed6962ac8388cb92aed4efc7
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