diff --git a/ChangeLog b/ChangeLog index 46c055e35..26616ab3b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,9 @@ * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'. + * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom + devices, and do not traverse down under controller nodes. + 2009-05-04 Robert Millan * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set diff --git a/disk/ieee1275/ofdisk.c b/disk/ieee1275/ofdisk.c index e2c7867e6..1620fee83 100644 --- a/disk/ieee1275/ofdisk.c +++ b/disk/ieee1275/ofdisk.c @@ -106,13 +106,9 @@ grub_ofdisk_iterate (int (*hook) (const char *name)) } } - if (! grub_strcmp (alias->type, "block")) + if (! grub_strcmp (alias->type, "block") && + grub_strcmp (alias->name, "cdrom")) ret = hook (alias->name); - else if ((! grub_strcmp (alias->type, "scsi")) - || (! grub_strcmp (alias->type, "ide")) - || (! grub_strcmp (alias->type, "ata"))) - /* Search for block-type children of these bus controllers. */ - ret = grub_children_iterate (alias->name, dev_iterate); return ret; }