]> git.karo-electronics.de Git - karo-tx-linux.git/commit
atl1: disable broken 64-bit DMA
authorLuca Tettamanti <kronos.it@gmail.com>
Sat, 24 Nov 2007 19:15:18 +0000 (13:15 -0600)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 14 Dec 2007 18:31:54 +0000 (10:31 -0800)
commit25487152280c34be57e548a4e82b67906ef2c1c1
tree4e702bf1ae4d010d11aa4a5ec71bb733e9cc6279
parent3f7153e947a301a5567cb50866479006575757e5
atl1: disable broken 64-bit DMA

atl1: disable broken 64-bit DMA

[ Upstream commit: 5f08e46b621a769e52a9545a23ab1d5fb2aec1d4 ]

The L1 network chip can DMA to 64-bit addresses, but multiple descriptor
rings share a single register for the high 32 bits of their address, so
only a single, aligned, 4 GB physical address range can be used at a time.
As a result, we need to confine the driver to a 32-bit DMA mask, otherwise
we see occasional data corruption errors in systems containing 4 or more
gigabytes of RAM.

Signed-off-by: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Jay Cliburn <jacliburn@bellsouth.net>
Acked-by: Chris Snook <csnook@redhat.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/atl1/atl1_main.c