]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
2006-04-23 Robert Millan <robertmh@gnu.org>
authorrobertmh <robertmh@localhost>
Sun, 23 Apr 2006 10:10:52 +0000 (10:10 +0000)
committerrobertmh <robertmh@localhost>
Sun, 23 Apr 2006 10:10:52 +0000 (10:10 +0000)
        * grub/asmstub.c (get_diskinfo): Optimize sysctl routine.

ChangeLog
grub/asmstub.c

index c7eedd910c7b271a738a81ee2e15a08b477e90f2..6382cb772fa1240c3cb6e927aae0fdad067c8e15 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-04-23  Robert Millan  <robertmh@gnu.org>
+
+       * grub/asmstub.c (get_diskinfo): Optimize sysctl routine.
+
 2006-04-20  Robert Millan  <robertmh@gnu.org>
 
        Fixes for kernel of FreeBSD:
index 0ded179cafa8c1f3cdbb9177283c27a9fb37cb31..bcb4fae92894d71db2f69bfe3ac2069345275068 100644 (file)
@@ -797,8 +797,13 @@ get_diskinfo (int drive, struct geometry *geometry)
              flags = old_flags | 0x10;
 
              if (sysctlbyname (GEOM_SYSCTL, NULL, NULL, &flags, sizeof (int)) != 0)
-               grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno));
+               {
+                 flags = old_flags;
+                 grub_printf ("failed to set " GEOM_SYSCTL "sysctl: %s\n", strerror (errno));
+               }
            }
+         else
+           flags = old_flags;
 #endif
          disks[drive].flags = open (devname, O_RDWR);
 #if defined(__FreeBSD_kernel__) || defined(__FreeBSD__)