]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix adressing mode mismatch
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 25 Dec 2010 14:47:23 +0000 (15:47 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 25 Dec 2010 14:47:23 +0000 (15:47 +0100)
grub-core/disk/ata.c

index 494325aa55b1c54d541d11e2ea08cba1e667c8c1..3fecb98dd2f502910962ce47f7982ade7a3eb916 100644 (file)
@@ -173,9 +173,10 @@ static grub_err_t
 grub_ata_setaddress (struct grub_ata *dev,
                     struct grub_disk_ata_pass_through_parms *parms,
                     grub_disk_addr_t sector,
-                    grub_size_t size)
+                    grub_size_t size,
+                    grub_ata_addressing_t addressing)
 {
-  switch (dev->addr)
+  switch (addressing)
     {
     case GRUB_ATA_CHS:
       {
@@ -297,7 +298,7 @@ grub_ata_readwrite (grub_disk_t disk, grub_disk_addr_t sector,
 
       grub_dprintf("ata", "rw=%d, sector=%llu, batch=%llu\n", rw, (unsigned long long) sector, (unsigned long long) batch);
       grub_memset (&parms, 0, sizeof (parms));
-      grub_ata_setaddress (ata, &parms, sector, batch);
+      grub_ata_setaddress (ata, &parms, sector, batch, addressing);
       parms.taskfile.cmd = (! rw ? cmd : cmd_write);
       parms.buffer = buf;
       parms.size = batch * GRUB_DISK_SECTOR_SIZE;