diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2004-09-29 19:08:34 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2004-09-29 19:08:34 +0000 |
| commit | 30b490009b689189279ba303f78c6493918f4850 (patch) | |
| tree | f414c65394dbd918c3e4fc9eae781571c083f470 /sys/dev/fdc/fdc_acpi.c | |
| parent | a8b4525f636f6782eb53c5e04c679bb055548bac (diff) | |
Notes
Diffstat (limited to 'sys/dev/fdc/fdc_acpi.c')
| -rw-r--r-- | sys/dev/fdc/fdc_acpi.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/dev/fdc/fdc_acpi.c b/sys/dev/fdc/fdc_acpi.c index 89a5a5de34c8..6a3cacd5e722 100644 --- a/sys/dev/fdc/fdc_acpi.c +++ b/sys/dev/fdc/fdc_acpi.c @@ -130,7 +130,7 @@ fdc_acpi_attach(device_t dev) bus = device_get_parent(dev); if (ACPI_FAILURE(ACPI_EVALUATE_OBJECT(bus, dev, "_FDE", NULL, &buf))) { error = ENXIO; - goto out; + goto out_hintsprobe; } /* Parse the output of _FDE in various ways. */ @@ -154,7 +154,7 @@ fdc_acpi_attach(device_t dev) device_printf(dev, "_FDE wrong length: %d\n", obj->Buffer.Length); error = ENXIO; - goto out; + goto out_hintsprobe; } break; case ACPI_TYPE_PACKAGE: @@ -173,17 +173,21 @@ fdc_acpi_attach(device_t dev) default: device_printf(dev, "invalid _FDE type %d\n", obj->Type); error = ENXIO; - goto out; + goto out_hintsprobe; } /* Add fd child devices as specified. */ error = fdc_acpi_probe_children(bus, dev, fde); -out: - /* If there was a problem, fall back to the hints-based probe. */ +out_hintsprobe: + /* + * If there was a problem with the _FDE drive enumeration, fall + * back to the hints-based probe. + */ if (error) error = fdc_hints_probe(dev); +out: if (buf.Pointer) free(buf.Pointer, M_TEMP); if (error != 0) |
