2008-11-29 Robert Millan * disk/ata.c (grub_ata_pciinit): Handle errors rised by grub_ata_device_initialize() calls. Index: disk/ata.c =================================================================== --- disk/ata.c (revision 1929) +++ disk/ata.c (working copy) @@ -542,6 +542,16 @@ grub_ata_pciinit (int bus, int device, i { grub_ata_device_initialize (controller * 2 + i, 0, rega, regb); grub_ata_device_initialize (controller * 2 + i, 1, rega, regb); + + /* Most errors rised by grub_ata_device_initialize() are harmless. + They just indicate this particular drive is not responding, most + likely because it doesn't exist. We might want to ignore specific + error types here, instead of printing them. */ + if (grub_errno) + { + grub_print_error (); + grub_errno = GRUB_ERR_NONE; + } } }