From owner-freebsd-current@FreeBSD.ORG Sun Mar 22 03:19:28 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 490DD106564A; Sun, 22 Mar 2009 03:19:28 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id EAAD58FC0A; Sun, 22 Mar 2009 03:19:27 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id n2M3J7Hc029816; Sat, 21 Mar 2009 21:19:07 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Sat, 21 Mar 2009 21:19:42 -0600 (MDT) Message-Id: <20090321.211942.-1540398823.imp@bsdimp.com> To: pluknet@gmail.com From: "M. Warner Losh" In-Reply-To: References: <49B594B5.2060706@FreeBSD.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: mav@freebsd.org, freebsd-current@freebsd.org Subject: Re: Unable to set devclass (devname: (null) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Mar 2009 03:19:28 -0000 In message: pluknet writes: : 2009/3/10 pluknet : : > 2009/3/10 Alexander Motin : : >> pluknet wrote: : >>> : >>> 2009/3/10 Alexander Motin : : >>>> : >>>> 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: port 0x60,0x64 irq 1 on acpi0 : atkbd0: 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: port 0x60,0x64 irq 12 on acpi0 : psm0: current command byte:0065 : psm0: 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