]> git.hungrycats.org Git - linux/commitdiff
[ide] fix ide_get_error_location() for LBA28
authorBartlomiej Zolnierkiewicz <bzolnier@trik.(none)>
Sat, 19 Feb 2005 18:38:07 +0000 (19:38 +0100)
committerBartlomiej Zolnierkiewicz <bzolnier@trik.(none)>
Sat, 19 Feb 2005 18:38:07 +0000 (19:38 +0100)
Higher bits (16-23) of the address were ignored.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
drivers/ide/ide-io.c

index 04705878fea61b754f2b8da3eea878118ce6f094..3cf32f23bea2dacfe53328cc6cb0881362764343 100644 (file)
@@ -238,9 +238,10 @@ u64 ide_get_error_location(ide_drive_t *drive, char *args)
                high = ide_read_24(drive);
        } else {
                u8 cur = HWIF(drive)->INB(IDE_SELECT_REG);
-               if (cur & 0x40)
+               if (cur & 0x40) {
+                       high = cur & 0xf;
                        low = (hcyl << 16) | (lcyl << 8) | sect;
-               else {
+               else {
                        low = hcyl * drive->head * drive->sect;
                        low += lcyl * drive->sect;
                        low += sect - 1;