summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2010-09-07 21:01:12 +0000
committerDavid S. Miller <davem@davemloft.net>2010-09-08 14:21:53 -0700
commite508be174ad36b0cf9b324cd04978c2b13c21502 (patch)
tree0f49e670f76d8bdc45dadf24358689e1058418a4 /include
parenta6e0fc8514d41dfdd98b1d15cacc432cf040f8af (diff)
downloadlinux-e508be174ad36b0cf9b324cd04978c2b13c21502.tar.bz2
e1000: fix Tx hangs by disabling 64-bit DMA
Several users report issues with 32-bit adapters when plugged into PCI slots in machines with >= 4GB ram. In particular AMD systems with HyperTransport to PCI bridges seem to trigger the issue, but it isn't limited to only them. This issue is not easily reproducible here, yet still continues to occur in the field. For e1000 on PCI devices, just disable DMA addresses over the 4GB boundary when in PCI (not PCI-X) mode, to prevent the issue from continuing to pop up. The performance impact for this is negligible. The code was refactored to move the init of the hw struct to its own function. This allows the init to be called very early in probe, which then allows using hw-> members for this fix. A slight refactor to the DMA mask code was done for minor correctness based on the instructions in DMA-API-HOWTO. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions