summaryrefslogtreecommitdiffstats
path: root/sys/isa
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2002-02-24 22:27:54 +0000
committeralfred <alfred@FreeBSD.org>2002-02-24 22:27:54 +0000
commit61ebae6aebbd4a7a42dbbabb052c83a32912e953 (patch)
treec3e52ff896a82341aa93783be45f992e6e5bf96c /sys/isa
parentaa21bc21d28e6d666812011aeffb26f54cc5dc52 (diff)
downloadFreeBSD-src-61ebae6aebbd4a7a42dbbabb052c83a32912e953.zip
FreeBSD-src-61ebae6aebbd4a7a42dbbabb052c83a32912e953.tar.gz
Give a little more information as to why pnp configuration of a device
may have failed. Submitted by: Terry Lambert <tlambert2@mindspring.com>
Diffstat (limited to 'sys/isa')
-rw-r--r--sys/isa/isa_common.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c
index 71409f0..dee64e2 100644
--- a/sys/isa/isa_common.c
+++ b/sys/isa/isa_common.c
@@ -423,17 +423,22 @@ isa_assign_resources(device_t child)
struct isa_device *idev = DEVTOISA(child);
struct isa_config_entry *ice;
struct isa_config *cfg;
+ char *reason = "Empty ISA id_configs";
cfg = malloc(sizeof(struct isa_config), M_TEMP, M_NOWAIT|M_ZERO);
if (cfg == NULL)
return(0);
TAILQ_FOREACH(ice, &idev->id_configs, ice_link) {
+ reason = "memory";
if (!isa_find_memory(child, &ice->ice_config, cfg))
continue;
+ reason = "port";
if (!isa_find_port(child, &ice->ice_config, cfg))
continue;
+ reason = "irq";
if (!isa_find_irq(child, &ice->ice_config, cfg))
continue;
+ reason = "drq";
if (!isa_find_drq(child, &ice->ice_config, cfg))
continue;
@@ -441,6 +446,7 @@ isa_assign_resources(device_t child)
* A working configuration was found enable the device
* with this configuration.
*/
+ reason = "no callback";
if (idev->id_config_cb) {
idev->id_config_cb(idev->id_config_arg,
cfg, 1);
@@ -453,7 +459,7 @@ isa_assign_resources(device_t child)
* Disable the device.
*/
bus_print_child_header(device_get_parent(child), child);
- printf(" can't assign resources\n");
+ printf(" can't assign resources (%s)\n", reason);
if (bootverbose)
isa_print_child(device_get_parent(child), child);
bzero(cfg, sizeof (*cfg));
OpenPOWER on IntegriCloud