From 0fe57d1c6f569202d830abf45ec5ac8d44e7dcd8 Mon Sep 17 00:00:00 2001 From: jhb Date: Tue, 21 Dec 2010 12:49:37 +0000 Subject: Only use the BIOS-supplied IRQ for the atkbdc device for a child atkbd device. Specifically, do not reuse it for a child psm device. Tested by: many --- sys/dev/atkbdc/atkbdc_isa.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'sys/dev/atkbdc') diff --git a/sys/dev/atkbdc/atkbdc_isa.c b/sys/dev/atkbdc/atkbdc_isa.c index d553216..50f0b4e 100644 --- a/sys/dev/atkbdc/atkbdc_isa.c +++ b/sys/dev/atkbdc/atkbdc_isa.c @@ -272,14 +272,16 @@ atkbdc_isa_add_child(device_t bus, u_int order, const char *name, int unit) * list entry so we can use a standard bus_get_resource() * method. */ - if (sc->irq == NULL) { - if (resource_int_value(name, unit, "irq", &t) != 0) - t = -1; - } else - t = rman_get_start(sc->irq); - if (t > 0) - resource_list_add(&ivar->resources, SYS_RES_IRQ, ivar->rid, - t, t, 1); + if (order == KBDC_RID_KBD) { + if (sc->irq == NULL) { + if (resource_int_value(name, unit, "irq", &t) != 0) + t = -1; + } else + t = rman_get_start(sc->irq); + if (t > 0) + resource_list_add(&ivar->resources, SYS_RES_IRQ, + ivar->rid, t, t, 1); + } if (resource_disabled(name, unit)) device_disable(child); -- cgit v1.1