[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100310032632.6331.15414.send-patch@aqua>
Date: Tue, 9 Mar 2010 22:26:33 -0500
From: Dean Nelson <dnelson@...hat.com>
To: jbarnes@...tuousgeek.org
Cc: netdev@...r.kernel.org, linux-pci@...r.kernel.org
Subject: [PATCH 0/3] pci: fix/cleanup pcix get and set mmrbc functions
A customer running RHEL4.8 encountered
"e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang"
type errors, which were determined to be the result of a bad return value
from e1000_pcix_get_mmrbc() causing the call to e1000_pcix_set_mmrbc() to
be skipped in the following snippet of code from e1000_init_hw().
switch (hw->mac_type) {
case e1000_82545_rev_3:
case e1000_82546_rev_3:
break;
default:
/* Workaround for PCI-X problem when BIOS sets MMRBC incorrectly. */
if (hw->bus_type == e1000_bus_type_pcix
&& e1000_pcix_get_mmrbc(hw) > 2048)
e1000_pcix_set_mmrbc(hw, 2048);
break;
}
e1000_pcix_get_mmrbc() is basically a wrapper for a call to pcix_get_mmrbc().
e1000_pcix_set_mmrbc() is the same for pcix_set_mmrbc().
The following three patches are a response to the problems that were found to
exist with pcix_get_max_mmrbc(), pcix_get_mmrbc() and pcix_set_mmrbc().
Versions of these patches applicable to RHEL4 were verified by the customer to
solve their problem.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists