summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@gentoo.org>2005-05-12 12:31:27 +0100
committer <chrisw@vas.sous-sol.org>2005-05-26 21:20:05 -0700
commitbb2c14017115369ba23f7fe86309e725bd2ee9b5 (patch)
tree985f06b4984801a96fc66829dae406b419dae7d7
parentde116e6f648b419fc9fe5cebda8b2c3f90ab1206 (diff)
downloadlinux-stable-bb2c14017115369ba23f7fe86309e725bd2ee9b5.tar.gz
linux-stable-bb2c14017115369ba23f7fe86309e725bd2ee9b5.tar.bz2
linux-stable-bb2c14017115369ba23f7fe86309e725bd2ee9b5.zip
[PATCH] ide-disk: Fix LBA8 DMA
This is from Gentoo's 2.6.11 patchset. A problem was introduced in 2.6.10 where some users could not enable DMA on their disks (particularly ALi15x3 users). This was a small mistake with the no_lba48_dma flag. I can't find the exact commit but this is definately included in 2.6.12-rc4. From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Chris Wright <chrisw@osdl.org>
-rw-r--r--drivers/ide/ide-disk.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/ide/ide-disk.c b/drivers/ide/ide-disk.c
index db55f241f76f..e41f7c3b9789 100644
--- a/drivers/ide/ide-disk.c
+++ b/drivers/ide/ide-disk.c
@@ -133,6 +133,8 @@ static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq,
if (hwif->no_lba48_dma && lba48 && dma) {
if (block + rq->nr_sectors > 1ULL << 28)
dma = 0;
+ else
+ lba48 = 0;
}
if (!dma) {
@@ -146,7 +148,7 @@ static ide_startstop_t __ide_do_rw_disk(ide_drive_t *drive, struct request *rq,
/* FIXME: SELECT_MASK(drive, 0) ? */
if (drive->select.b.lba) {
- if (drive->addressing == 1) {
+ if (lba48) {
task_ioreg_t tasklets[10];
pr_debug("%s: LBA=0x%012llx\n", drive->name, block);