• Gavin Shan's avatar
    net/tg3: Avoid delay during MMIO access · 6d446ec3
    Gavin Shan authored
    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: default avatarGavin Shan <shangw@linux.vnet.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    6d446ec3
tg3.c 454 KB