|
@@ -1267,20 +1267,19 @@ static int unconfigure_boot_device(u8 busno, u8 device, u8 function)
|
|
|
size = size & 0xFFFFFFFC;
|
|
|
size = ~size + 1;
|
|
|
end_address = start_address + size - 1;
|
|
|
- if (ibmphp_find_resource(bus, start_address, &io, IO) < 0) {
|
|
|
- err("cannot find corresponding IO resource to remove\n");
|
|
|
- return -EIO;
|
|
|
- }
|
|
|
+ if (ibmphp_find_resource(bus, start_address, &io, IO))
|
|
|
+ goto report_search_failure;
|
|
|
+
|
|
|
debug("io->start = %x\n", io->start);
|
|
|
temp_end = io->end;
|
|
|
start_address = io->end + 1;
|
|
|
ibmphp_remove_resource(io);
|
|
|
/* This is needed b/c of the old I/O restrictions in the BIOS */
|
|
|
while (temp_end < end_address) {
|
|
|
- if (ibmphp_find_resource(bus, start_address, &io, IO) < 0) {
|
|
|
- err("cannot find corresponding IO resource to remove\n");
|
|
|
- return -EIO;
|
|
|
- }
|
|
|
+ if (ibmphp_find_resource(bus, start_address,
|
|
|
+ &io, IO))
|
|
|
+ goto report_search_failure;
|
|
|
+
|
|
|
debug("io->start = %x\n", io->start);
|
|
|
temp_end = io->end;
|
|
|
start_address = io->end + 1;
|
|
@@ -1327,6 +1326,10 @@ static int unconfigure_boot_device(u8 busno, u8 device, u8 function)
|
|
|
} /* end of for */
|
|
|
|
|
|
return 0;
|
|
|
+
|
|
|
+report_search_failure:
|
|
|
+ err("cannot find corresponding IO resource to remove\n");
|
|
|
+ return -EIO;
|
|
|
}
|
|
|
|
|
|
static int unconfigure_boot_bridge(u8 busno, u8 device, u8 function)
|