From bb2c14017115369ba23f7fe86309e725bd2ee9b5 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Thu, 12 May 2005 12:31:27 +0100 Subject: [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 Signed-off-by: Greg Kroah-Hartman Signed-off-by: Chris Wright --- drivers/ide/ide-disk.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3