Date: Thu, 13 Jul 2006 15:38:01 +1000 From: Arthur Hartwig <Arthur.Hartwig@nokia.com> To: ext Intron <mag@intron.ac> Cc: freebsd-i386@FreeBSD.org Subject: Re: i386/100142: /dev/smb0 device not available on systems with Intel PiiX4 Message-ID: <44B5DC39.5000205@nokia.com> In-Reply-To: <courier.44B4CF04.0000B792@intron.ac> References: <200607120504.k6C54jh9097136@www.freebsd.org> <courier.44B4CF04.0000B792@intron.ac>
next in thread | previous in thread | raw e-mail | index | archive | help
Thanks for your suggestion. However your data is from a different SMB driver (ichsmb) than the one for which I reported the problem (intsmb). I don't have the problem I reported on a ICH7 based system. Arthur ext Intron wrote: > Arthur Hartwig wrote: > >> >>> Number: 100142 >>> Category: i386 >>> Synopsis: /dev/smb0 device not available on systems with Intel PiiX4 >>> Confidential: no >>> Severity: non-critical >>> Priority: medium >>> Responsible: freebsd-i386 >>> State: open >>> Quarter: Keywords: Date-Required: >>> Class: sw-bug >>> Submitter-Id: current-users >>> Arrival-Date: Wed Jul 12 05:10:14 GMT 2006 >>> Closed-Date: >>> Last-Modified: >>> Originator: Arthur Hartwig >>> Release: 6.0 >>> Organization: >> Nokia >>> Environment: >> FreeBSD oz-net-10.nes.nokia.com 6.0-RELEASE FreeBSD 6.0-RELEASE #3: >> Wed Mar 1 10:46:02 EST 2006 >> hartwig@oz-net-10.nes.nokia.com:/usr/src/sys/i386/compile/oz-net-10 i386 >>> Description: >> System configured with devices intppm, smbb and smbus. >> >> On startup smbus1 is reported but no smbus0 is reported. There is no >> file /dev/smb0 >> >> In sys/pci/intpm.c intpm_attach() executes smbinterface = >> device_add_child(dev, ""intsmb", unit); >> device_probe_and_attach(smbinterface); >> >> device_probe_and_attach() calls device_probe_child() which ends us >> calling intsmb_probe() twice, once when search for the best matching >> driver and again, because intsmb_probe() returns BUS_PROBE_DEFAULT, >> immediately after the comment "Call the probe method again to make >> sure we have the right description." >> >> Calling intsmb_probe() twice results in creation of devices smbus0 >> (on the first call to intsmb_probe) and smbus1 (on the second call to >> intsmb_probe). The second probe call results in When intsmb_attach(0 >> is called, sc->smbus contains a pointer to a device structure for >> smbus1 and consequently smbus1 is reported in the startup. >> >> >>> How-To-Repeat: >> >>> Fix: >> Suggested fix: >> In sys/pci/intpm move >> sc->smbus=device_add_child(dev, "smbus", -1); >> if (!sc->smbus) >> return (EINVAL); /* XXX don't know what to return else */ >> >> from intsmb_probe() to intsmb_attach() >> >> The suggested fix mirrors more closely the code in sys/pci/viapm.c >> and sys/pci/amdpm.c >> >> >> >>> Release-Note: >>> Audit-Trail: >>> Unformatted: >> _______________________________________________ >> freebsd-i386@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-i386 >> To unsubscribe, send any mail to "freebsd-i386-unsubscribe@freebsd.org" > > Please try the following commands: > > kldload smbus > kldload ichsmb > kldload smb > > Then, I can access SMBUS via /dev/smb0. > The kernel messages are: > > ichsmb0: <SMBus controller> port 0xc400-0xc41f irq 19 at device 31.3 > on pci0 > ichsmb0: [GIANT-LOCKED] > smbus0: <System Management Bus> on ichsmb0 > smb0: <SMBus generic I/O> on smbus0 > > The chipset on my motherboard is Intel 82915G-82801FB(ICH6). > > ------------------------------------------------------------------------ > From Beijing, China >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44B5DC39.5000205>