mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-26 04:16:39 +00:00
[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>
This commit is contained in:
parent
de116e6f64
commit
bb2c140171
1 changed files with 3 additions and 1 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue