]> xenbits.xensource.com Git - xen.git/commitdiff
hvmloader: Scan for gpxe-capable NICs until one is found.
authorKeir Fraser <keir.fraser@citrix.com>
Wed, 3 Jun 2009 15:12:34 +0000 (16:12 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Wed, 3 Jun 2009 15:12:34 +0000 (16:12 +0100)
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
tools/firmware/hvmloader/hvmloader.c

index 7552122d4ae3baa1a18f1562442c716d2fd2daf7..fef315821d9341de7f16dd2a5997fb14ae76c078 100644 (file)
@@ -451,8 +451,9 @@ static int scan_etherboot_nic(uint32_t copy_rom_dest)
 {
     uint8_t devfn;
     uint16_t class, vendor_id, device_id;
+    int rom_size = 0;
 
-    for ( devfn = 0; devfn < 128; devfn++ )
+    for ( devfn = 0; (devfn < 128) && !rom_size; devfn++ )
     {
         class     = pci_readw(devfn, PCI_CLASS_DEVICE);
         vendor_id = pci_readw(devfn, PCI_VENDOR_ID);
@@ -462,11 +463,11 @@ static int scan_etherboot_nic(uint32_t copy_rom_dest)
         if ( (vendor_id != 0xffff) &&
              (device_id != 0xffff) &&
              (class == 0x0200) )
-            return scan_option_rom(
+            rom_size = scan_option_rom(
                 devfn, vendor_id, device_id, etherboot, copy_rom_dest);
     }
 
-    return 0;
+    return rom_size;
 }
 
 /*