Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 22 Mar 2009 13:50:38 +0300
From:      pluknet <pluknet@gmail.com>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        mav@freebsd.org, freebsd-current@freebsd.org
Subject:   Re: Unable to set devclass (devname: (null)
Message-ID:  <a31046fc0903220350i46a4614dofe3b56fd435b4dfe@mail.gmail.com>
In-Reply-To: <a31046fc0903220333p1a480a0fn7cefe4fd70c44616@mail.gmail.com>
References:  <49B594B5.2060706@FreeBSD.org> <a31046fc0903091526m33363223ja667eff83de19ff0@mail.gmail.com> <a31046fc0903091538gab6014cqe7a6d24fc060cf6e@mail.gmail.com> <20090321.211942.-1540398823.imp@bsdimp.com> <a31046fc0903220333p1a480a0fn7cefe4fd70c44616@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
2009/3/22 pluknet <pluknet@gmail.com>:
> 2009/3/22 M. Warner Losh <imp@bsdimp.com>:
>> In message: <a31046fc0903091538gab6014cqe7a6d24fc060cf6e@mail.gmail.com>
>>            pluknet <pluknet@gmail.com> writes:
>> : 2009/3/10 pluknet <pluknet@gmail.com>:
>> : > 2009/3/10 Alexander Motin <mav@freebsd.org>:
>> : >> pluknet wrote:
>> : >>>
>> : >>> 2009/3/10 Alexander Motin <mav@freebsd.org>:
>> : >>>>
>> : >>>> pluknet wrote:
>> : >>>>>
>> : >>>>> Is it ok (and how much harmfull) to see this message?
>> : >>>>>
>> : >>>>> driver bug: Unable to set devclass (devname: (null))
>> : >>>>>
>> : >>>>> P.S.
>> : >>>>> This is introduced in subr_bus.c, v1.216
>> : >>>>> -                                       PDEBUG(("Unable to set device
>> : >>>>> class"));
>> : >>>>> +                                       printf("driver bug: Unable to
>> : >>>>> set
>> : >>>>> devclass (devname: %s)\n",
>> : >>>>> +                                           (child ?
>> : >>>>> device_get_name(child) :
>> : >>>>> +                                               "no device"));
>> : >>>>>
>> : >>>>> where PDEBUG was moved from BUS_DEBUG to general output.
>> : >>>>
>> : >>>> Actually this check was introduced in rev. 1.214, just was not logged.
>> : >>>> Before this change system could crash soon after this message. Now it
>> : >>>> should
>> : >>>> not, but related device probably will not work properly. It is probably
>> : >>>> not
>> : >>>> good and should be fixed, but it can be just a low memory symptom. It was
>> : >>>> noticed for ata driver, but I hope it was fixed. Where have you get it?
>> : >>>
>> : >>> This is during the boot, see dmesg (attached).
>> : >>
>> : >> It does not gives much info. Can you try to add dl->driver->name,
>> : >> device_get_unit(child) and device_set_devclass() result printing there?
>> : >>
>> : >
>> : > That gives:
>> : > atkbd0: [GIANT-LOCKED]
>> : > atkbd0: [ITHREAD]
>> : > driver bug: Unable to set devclass (devname: (null))
>> : > dl->driver->name: atkbdc
>> : > device_get_unit(child): -1
>> : > device_set_devclass(): 17
>> : >
>> :
>> : Well, yes. That confirms with numerous devclass_alloc_unit() EEXIST
>> : hidden messages;
>> :
>> : atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
>> : atkbd0: <AT Keyboard> irq 1 on atkbdc0
>> : atkbd: the current kbd controller command byte 0065
>> : atkbd: keyboard ID 0x83ab (2)
>> : kbd0 at atkbd0
>> : kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
>> : ioapic0: routing intpin 1 (ISA IRQ 1) to lapic 0 vector 54
>> : atkbd0: [GIANT-LOCKED]
>> : atkbd0: [ITHREAD]
>> : psm0: unable to allocate IRQ
>> : atkbdc: atkbdc-1 already exists; skipping it
>>
>> Can you set a breakpoint on this line and give a traceback?
>>
>> : driver bug: Unable to set devclass (devname: (null))
>> : dl->driver->name: atkbdc
>> : device_get_unit(child): -1
>> : atkbdc: atkbdc-1 already exists; skipping it
>>
>> Ditto
>>
>> : device_set_devclass(): 17
>> : psmcpnp0: <PS/2 mouse port> port 0x60,0x64 irq 12 on acpi0
>> : psm0: current command byte:0065
>> : psm0: <PS/2 Mouse> irq 12 on atkbdc0
>> : ioapic0: routing intpin 12 (ISA IRQ 12) to lapic 0 vector 55
>> : psm0: [GIANT-LOCKED]
>> : psm0: [ITHREAD]
>> : psm0: model IntelliMouse Explorer, device ID 4-00, 5 buttons
>> : psm0: config:00000000, flags:00000008, packet size:4
>> : psm0: syncmask:08, syncbits:00
>> : ppc0: using extended I/O port range
>> : ppc0: using extended I/O port range
>> : pnp_identify: Trying Read_Port at 203
>> : pnp_identify: Trying Read_Port at 243
>> : pnp_identify: Trying Read_Port at 283
>> : pnp_identify: Trying Read_Port at 2c3
>> : pnp_identify: Trying Read_Port at 303
>> : pnp_identify: Trying Read_Port at 343
>> : pnp_identify: Trying Read_Port at 383
>> : pnp_identify: Trying Read_Port at 3c3
>> : PNP Identify complete
>> : isa_probe_children: disabling PnP devices
>> : pmtimer0 on isa0
>> : ata: ata0 already exists; skipping it
>> : ata: ata1 already exists; skipping it
>> : atkbdc: atkbdc0 already exists; skipping it
>> : sc: sc0 already exists; skipping it
>> : vga: vga0 already exists; skipping it
>>
>> No need for these...
>>
>> Warner
>>
>
> While rebuilding the kernel from newest sources, I have a dmesg from a
> bit older kernel
> (where atkbdc-1 was detected only once):
>
> atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
> atkbd0: <AT Keyboard> irq 1 on atkbdc0
> atkbd: the current kbd controller command byte 0065
> atkbd: keyboard ID 0x83ab (2)
> kbd0 at atkbd0
> kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
> ioapic0: routing intpin 1 (ISA IRQ 1) to lapic 0 vector 54
> atkbd0: [GIANT-LOCKED]
> atkbd0: [ITHREAD]
> psm0: unable to allocate IRQ
> atkbdc: atkbdc-1 already exists; skipping it
> driver bug: Unable to set devclass (devname: (null))
> KDB: stack backtrace:
> db_trace_self_wrapper(c08240e7,c0c20ba4,c05ecfd1,c08239a5,0,...) at
> db_trace_self_wrapper+0x26
> kdb_backtrace(c08239a5,0,c0824f45,c3d7253c,c3d7253c,...) at kdb_backtrace+0x29
> device_probe_child(c3de4400,c3d72500,c0823799,981,c3d72500,...) at
> device_probe_child+0xf1
> device_probe(c3d72500,4,c0823799,9a2,c3d72500,...) at device_probe+0x93
> device_probe_and_attach(c3d72500,1,c0c20c64,c048a0a6,c3de4400,...) at
> device_probe_and_attach+0x36
> bus_generic_attach(c3de4400,c3de4400,c086aca8,c048a640,c3de4400,...)
> at bus_generic_attach+0x19
> acpi_attach(c3de4400,c3d95054,c086ade8,c0823810,80000000,...) at
> acpi_attach+0xba6
> device_attach(c3de4400,4,c0823799,9a2) at device_attach+0x36f
> device_probe_and_attach(c3de4400,c3de4980,c0c20cf0,c0796a2e,c3de4980,...)
> at device_probe_and_attach+0x4e
> bus_generic_attach(c3de4980,a,c07fd14d,0) at bus_generic_attach+0x19
> nexus_acpi_attach(c3de4980,c3da0054,c086ade8,c0823810,80000000,...) at
> nexus_acpi_attach+0x7e
> device_attach(c3de4980,4,c0823799,9a2) at device_attach+0x36f
> device_probe_and_attach(c3de4980,c3d0cb6c,c0c20d6c,c079b9bc,c07fc469,...)
> at device_probe_and_attach+0x4e
> root_bus_configure(c07fc469,c0c20d88,c05874f6,0,c1ec00,...) at
> root_bus_configure+0x1b
> configure(0,c1ec00,c1ec00,c1e000,c25000,...) at configure+0xc
> mi_startup() at mi_startup+0x96
> begin() at begin+0x2c
>

Hm.. the same on new kernel; only one atkbdc-1 event:

atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd: the current kbd controller command byte 0065
atkbd: keyboard ID 0x83ab (2)
kbd0 at atkbd0
kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
ioapic0: routing intpin 1 (ISA IRQ 1) to lapic 0 vector 54
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
psm0: unable to allocate IRQ
atkbdc: atkbdc-1 already exists; skipping it
KDB: stack backtrace:
db_trace_self_wrapper(c082979d,c0c20b58,c05ea65b,c0828da6,c3d118b0,...)
at db_trace_self_wrapper+0x26
kdb_backtrace(c0828da6,c3d118b0,c3d118b0,ffffffff,ffffffff,...) at
kdb_backtrace+0x29
devclass_add_device(101,c3d31460,6,c0c20ba4,c05ed817,...) at
devclass_add_device+0x12b
device_set_devclass(c3d73500,c084668e,c082a661,c3d7353c,c3d7353c,...)
at device_set_devclass+0x6f
device_probe_child(c3de5400,c3d73500,c0828e4f,97f,c3d73500,...) at
device_probe_child+0xc7
device_probe(c3d73500,4,c0828e4f,9a0,c3d73500,...) at device_probe+0x93
device_probe_and_attach(c3d73500,1,c0c20c64,c048a556,c3de5400,...) at
device_probe_and_attach+0x36
bus_generic_attach(c3de5400,c3de5400,c08708a8,c048aaf0,c3de5400,...)
at bus_generic_attach+0x19
acpi_attach(c3de5400,c3d98054,c08709e8,c0828ec6,80000000,...) at
acpi_attach+0xba6
device_attach(c3de5400,4,c0828e4f,9a0) at device_attach+0x36f
device_probe_and_attach(c3de5400,c3de5980,c0c20cf0,c079bdee,c3de5980,...)
at device_probe_and_attach+0x4e
bus_generic_attach(c3de5980,a,c080276d,0) at bus_generic_attach+0x19
nexus_acpi_attach(c3de5980,c3da1054,c08709e8,c0828ec6,80000000,...) at
nexus_acpi_attach+0x7e
device_attach(c3de5980,4,c0828e4f,9a0) at device_attach+0x36f
device_probe_and_attach(c3de5980,c3d0db78,c0c20d6c,c07a0d7c,c086edc8,...)
at device_probe_and_attach+0x4e
root_bus_configure(c086edc8,c0c20d88,c0587b46,0,c1ec00,...) at
root_bus_configure+0x1b
configure(0,c1ec00,c1ec00,c1e000,c25000,...) at configure+0xc
mi_startup() at mi_startup+0x96
begin() at begin+0x2c
driver bug: Unable to set devclass (devname: (null))

-- 
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a31046fc0903220350i46a4614dofe3b56fd435b4dfe>